This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/39501] -O -ffinite-math-only gets min(x,y) optimization wrong for SF on arm-*-gnueabi
- From: "ramana dot r at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Mar 2009 16:49:12 -0000
- Subject: [Bug target/39501] -O -ffinite-math-only gets min(x,y) optimization wrong for SF on arm-*-gnueabi
- References: <bug-39501-15005@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from ramana dot r at gmail dot com 2009-03-19 16:49 -------
(In reply to comment #3)
> ramana:
> I think you'll find the flags are only set for the 3-way comparisons.
> __aeabi_cmple just returns 0 or 1
> "Use for C <=" in the table means the C language, not the carry flag.
> If you can find where the error is in the GCC source, that'd be great.
It was pointed out that I was looking at the wrong function in the runtime ABI
- so I take that back. I was referring to the void __aeabi_cfcmple(float,
float) variant rather than the fcmple that's used in this case.
So if you were to use the cfcmple variants (which gcc can't at the moment) the
extra cmp might be removed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39501