On 19/02/13 22:26, Tilman Sauerbeck wrote:
I don't get why relaxing the restrictions for the
andsi3_compare0_scratch pattern results in a mismatch for the
zeroextractsi_compare0_scratch one.
Any ideas?
Because of the way combine works. It first tries to find a pattern that
doesn't have a clobber expression. It finds your new pattern and then
uses that. But since that can't handle immediates, reload then comes
along and forces the constant into a register.
You need one pattern to deal with all the cases.
R.