On Tue, 2011-03-22 at 21:00 +0100, Eric Botcazou wrote: > > Like in the attached patch. > > Sandra expressed an interest for it so I've installed it on the mainline > after > bootstrapping and regtesting on x86_64-suse-linux. > > > 2011-03-22 Eric Botcazou <ebotca...@adacore.com> > > * combine.c (simplify_set): Try harder to find the best CC mode when > simplifying a nested COMPARE on the RHS. > >
So I've always suspected that the way the ARM port handles this is broken. I think this now confirms that suspicion. Taking a look at the x86 backend the code there looks far more sensible and more in-line with what I think ARM should be doing. For a floating point operation the code is: TARGET_IEEE_FP ? CCFPUmode : CCFPmode; That is, if generating IEEE compliant code, then use non-excepting comparisions, otherwise use exception raising ones. R.