------- 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

Reply via email to