https://gcc.gnu.org/g:ad7082fb5a1b49d2fd9adc714fab8a3f9a1e19cc
commit r16-9501-gad7082fb5a1b49d2fd9adc714fab8a3f9a1e19cc Author: Jakub Jelinek <[email protected]> Date: Mon Aug 3 13:01:22 2026 +0200 testsuite: Add yet another testcase for float range inverse ops [PR126547] This got also fixed with r17-2843. 2026-08-03 Jakub Jelinek <[email protected]> PR tree-optimization/126547 * gcc.dg/torture/pr126547.c: New test. (cherry picked from commit 81763ec0f01664a5dd9fbfc541b1bf22a857f626) Diff: --- gcc/testsuite/gcc.dg/torture/pr126547.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gcc/testsuite/gcc.dg/torture/pr126547.c b/gcc/testsuite/gcc.dg/torture/pr126547.c new file mode 100644 index 000000000000..c1066a2cfa93 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr126547.c @@ -0,0 +1,31 @@ +/* PR tree-optimization/126547 */ +/* { dg-do run } */ + +#if __LDBL_HAS_INFINITY__ +[[gnu::noipa]] static int +foo (long double a1, long double a2) +{ + if (a1 >= 1.0 && a1 <= 8.0) + { + long double d = a1 / a2; + int n = 0; + if (d >= __builtin_infl ()) + n += 1; + if (a2 > 0.0L) + n += 2; + return n; + } + else + return -1; +} +#endif + +int +main () +{ +#if __LDBL_HAS_INFINITY__ + if (__builtin_isinf (1.0 / __LDBL_DENORM_MIN__) + && foo (1.0, __LDBL_DENORM_MIN__) != 3) + __builtin_abort (); +#endif +}
