[Bug target/48090] [4.5 Regression] gcc 4.5.2 miscompilation when building on arm
ramana at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Apr 11 10:24:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48090
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ramana at gcc dot gnu.org
--- Comment #11 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2011-04-11 10:24:09 UTC ---
(In reply to comment #10)
> (In reply to comment #9)
> > I confirm that backporting r159644 and r159683 make things work. From comment
> > 8, I guess that the bug is still there and that one can still hit it sooner or
> > later, right ? (btw, amazing job)
>
> It probably papers over it as you guessed.
>
> This bug lacks proper analysis.
The problem is latent in all versions of the compiler and is to do with the
pattern *arm_negdi2 and has nothing to do with the afore mentioned revisions.
Will submit this after a round of testing.
Index: gcc/config/arm/arm.md
===================================================================
--- gcc/config/arm/arm.md (revision 172252)
+++ gcc/config/arm/arm.md (working copy)
@@ -3554,7 +3554,7 @@
;; The constraints here are to prevent a *partial* overlap (where %Q0 == %R1).
;; The first alternative allows the common case of a *full* overlap.
(define_insn "*arm_negdi2"
- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
(neg:DI (match_operand:DI 1 "s_register_operand" "0,r")))
(clobber (reg:CC CC_REGNUM))]
"TARGET_ARM"
More information about the Gcc-bugs
mailing list