Bad code is generated for mpfr_impl.h compare at line 1430. Due to this,
mpfr_asinh is producing wrong values for some inputs.
Original testcase involves random values so created a reduced case. With
the test case attached, even though _err1 is -38, "if condition" is
evaluated true. Following is the disassembly. Working is -O1
-fno-if-conversion. and Not working is -O1.
/* C Code */
if (_err1 > 0)
{
/* working code */
cmp r3, #0
ble .L6
/* not working code*/
.loc 1 67 0
movs r3, r3, asl #1
The patch which is causing this regression seems to be
http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00861.html
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1232017
Title:
[regression] mpfr tasinh test doesn't terminate when built with Linaro
GCC 4.8 on armhf
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/1232017/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs