------- Comment #2 from rguenth at gcc dot gnu dot org 2007-09-30 11:49 ------- asmcons does:
-(insn 6 3 11 2 t.i:5 (parallel [ - (set (reg/v:SI 60 [ n ]) +(insn 21 3 6 2 t.i:5 (set (reg/v:SI 58 [ x ]) + (reg/v:SI 60 [ n ])) -1 (nil)) + +(insn 6 21 11 2 t.i:5 (parallel [ + (set (reg/v:SI 58 [ x ]) (asm_operands:SI ("") ("=&c") 0 [ - (reg/v:SI 60 [ n ]) - (reg/v:SI 60 [ n ]) + (reg/v:SI 58 [ x ]) + (reg/v:SI 58 [ x ]) ] [ (asm_input:SI ("1") ("") 0) @@ -43,8 +48,8 @@ ] ("t.i") 5)) (set (reg/v:SI 58 [ x ]) (asm_operands:SI ("") ("=r") 1 [ - (reg/v:SI 60 [ n ]) - (reg/v:SI 60 [ n ]) + (reg/v:SI 58 [ x ]) + (reg/v:SI 58 [ x ]) ] [ (asm_input:SI ("1") ("") 0) but I wonder if the testcase is valid, as it overlaps an output in xmm register ('x') with an immediate input ('n'). And if you look at the output at -O0 we get #APP # 5 "t.i" 1 # %ecx %eax # 0 "" 2 #NO_APP that is, no xmm register allocated. What does the unreduced asm look like? -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Breakage caused by the fix |[4.3 Regression] Breakage |to PR33552 |caused by the fix to PR33552 Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33600