This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Combine misses commutativity


On 02/10/2012 08:57 AM, Paulo J. Matos wrote:
> However, there's a failure to combine looking like:
> (parallel [
>         (set (reg:QI 1 AL)
>             (ior:QI (mem/c/i:QI (reg/f:QI 4 AP) [2 y+0 S1 A16])
>                 (reg:QI 30 [ x+1 ])))
>         (clobber (reg:CC 13 CC))
>     ])

Why do you think that combine should create this?

Really, I'd have expected swap_commutative_operands_p to have
put things around the other way.  That's the way that almost
all cisc machines represent their memory operands.

... Although I don't see any specific test for this in the
code for commutative_operand_precedence.  That's probably at
least a think-o.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]