On Sun, Oct 11, 2026 at 11:54 PM Torbjörn SVENSSON <[email protected]> wrote: > > Hi Andrea, > > Thanks for the quick review. > I hope I understood your correctly.
Yes you did. Ok. > > Tested below on arm-none-eabi top of r17-5048-gbd261b39dedc06. > > Ok for trunk? > > -- > > fp-trapping-cmp-7.c was added in commit r17-4921-g8b90726a28bb63, > but has never passed on Cortex-M targets that disable non-short-circuit > operations. > > Split the test into two cases and set logical-op-non-short-circuit > explicitly. One test checks that the comparisons are kept separate > when the parameter is 0, while the other checks that they are combined > when it is 1. This makes the tests independent of target tuning and > covers both settings. > > PR tree-optimization/53805 > > gcc/testsuite/ChangeLog: > > * gcc.dg/tree-ssa/fp-trapping-cmp-7.c: Pass --param > logical-op-non-short-circuit=1. > * gcc.dg/tree-ssa/fp-trapping-cmp-8.c: New test. > > Signed-off-by: Torbjörn SVENSSON <[email protected]> > --- > gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-7.c | 2 +- > gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-8.c | 14 ++++++++++++++ > 2 files changed, 15 insertions(+), 1 deletion(-) > create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-8.c > > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-7.c > b/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-7.c > index 5916344877f..51a6f3bc761 100644 > --- a/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-7.c > +++ b/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-7.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O1 -ftrapping-math -fdump-tree-ifcombine-details" } */ > +/* { dg-options "-O1 -ftrapping-math -fdump-tree-ifcombine-details --param > logical-op-non-short-circuit=1" } */ > > int > f (double a, double b) > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-8.c > b/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-8.c > new file mode 100644 > index 00000000000..613379db378 > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/tree-ssa/fp-trapping-cmp-8.c > @@ -0,0 +1,14 @@ > +/* { dg-do compile } */ > +/* { dg-options "-O1 -ftrapping-math -fdump-tree-ifcombine-details --param > logical-op-non-short-circuit=0" } */ > + > +int > +f (double a, double b) > +{ > + if (a > b) > + if (a == b) > + return 1; > + return 0; > +} > + > +/* { dg-final { scan-tree-dump-not "optimizing trapping cond to" "ifcombine" > } } */ > +/* { dg-final { scan-tree-dump-not "optimizing two comparisons to _\[0-9\]\+ > & _\[0-9\]\+" "ifcombine" } } */ > -- > 2.43.0 >
