This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 May 2007 10:52:13 -0000
- Subject: [Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c
- References: <bug-32004-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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