Richard Earnshaw [2013-02-20 11:00]:
> 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.

You mean the pattern should include calls to arm_split_constant() to do
the loading itself, like e.g. the iorsi3 pattern does?
Why can't we let reload do the load?

FWIW the patch in http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00920.html
works for my testcases, survives a bootstrap in qemu and passes the
test suite (I only built/tested the C and C++ frontends though).

Thanks,
Tilman

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Reply via email to