Re: Combine misses commutativity

2012-02-13 Thread Paulo J. Matos
On Fri, 10 Feb 2012 11:00:43 -0800, Richard Henderson wrote: > 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:Q

Re: Combine misses commutativity

2012-02-10 Thread Richard Henderson
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 d

Re: Combine misses commutativity

2012-02-10 Thread Paulo J. Matos
On Fri, 10 Feb 2012 16:57:48 +, Paulo J. Matos wrote: > However, duplicating the instructions and inverting operand order seems > to defeat the purpose of '%'. So, what's the catch? Or is it a genuine > bug? I just understood my miss understanding above. '%' is part of constraints which a

Combine misses commutativity

2012-02-10 Thread Paulo J. Matos
Hi, I just noticed something strange with my iorqi3 rule. I have the following: (define_insn "iorqi3" [(set (match_operand:QI 0 "register_operand" "=c") (ior:QI (match_operand:QI 1 "register_operand" "%0") (match_operand:QI 2 "general_operand" "cwmi"))) (clobber (reg