------- Comment #5 from rguenth at gcc dot gnu dot org  2007-05-20 11:52 -------
As to comment #2, while we need one more register for the comparison, a and b
are available in the argument frame, so there's no reason to "spill" them, we
just need to reload them into one of the many free registers _after_ the asm().
Instead of leaving us with

(insn 12 15 13 2
/home/richard/src/dataflow-branch/gcc/testsuite/gcc.target/i386/pr21291.c:27
(set (reg:CCZ 17 flags)
        (compare:CCZ (mem/c/i:SI (plus:SI (reg/f:SI 16 argp)
                    (const_int 4 [0x4])) [0 alen+0 S4 A32])
            (mem/c/i:SI (plus:SI (reg/f:SI 6 bp)                    (const_int
20 [0x14])) [0 blen+0 S4 A32]))) 2 {*cmpsi_1_insn} (nil))

which is not matching *cmpsi_1_insn predicates (the above is from greg dump).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32004

Reply via email to