Hi, we seem to flip flop between the "high" and "not low" variants of load on condition. Accept both in the affected test cases.
Going to commit this as obvious. Regards Robin -- gcc/testsuite/ChangeLog: * gcc.target/s390/ifcvt-two-insns-bool.c: Allow "high" and "not low or equal" load on condition variant. * gcc.target/s390/ifcvt-two-insns-int.c: Dito. * gcc.target/s390/ifcvt-two-insns-long.c: Dito. --- gcc/testsuite/gcc.target/s390/ifcvt-two-insns-bool.c | 4 ++-- gcc/testsuite/gcc.target/s390/ifcvt-two-insns-int.c | 4 ++-- gcc/testsuite/gcc.target/s390/ifcvt-two-insns-long.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-bool.c b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-bool.c index 1027ddceb935..a56bc4676143 100644 --- a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-bool.c +++ b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-bool.c @@ -3,8 +3,8 @@ /* { dg-do run } */ /* { dg-options "-O2 -march=z13 -mzarch --save-temps" } */ -/* { dg-final { scan-assembler "lochih\t%r.?,1" } } */ -/* { dg-final { scan-assembler "locrh\t.*" } } */ +/* { dg-final { scan-assembler "lochi(?:h|nle)\t%r.?,1" } } */ +/* { dg-final { scan-assembler "locr(?:h|nle)\t.*" } } */ #include <stdbool.h> #include <limits.h> #include <stdio.h> diff --git a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-int.c b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-int.c index fc6946f2466d..64b8a732290e 100644 --- a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-int.c +++ b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-int.c @@ -3,8 +3,8 @@ /* { dg-do run } */ /* { dg-options "-O2 -march=z13 -mzarch --save-temps" } */ -/* { dg-final { scan-assembler "lochih\t%r.?,1" } } */ -/* { dg-final { scan-assembler "locrh\t.*" } } */ +/* { dg-final { scan-assembler "lochi(h|nle)\t%r.?,1" } } */ +/* { dg-final { scan-assembler "locr(?:h|nle)\t.*" } } */ #include <limits.h> #include <stdio.h> #include <assert.h> diff --git a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-long.c b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-long.c index 51af4985247a..f2d784e762a8 100644 --- a/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-long.c +++ b/gcc/testsuite/gcc.target/s390/ifcvt-two-insns-long.c @@ -3,8 +3,8 @@ /* { dg-do run } */ /* { dg-options "-O2 -march=z13 -mzarch --save-temps" } */ -/* { dg-final { scan-assembler "locghih\t%r.?,1" } } */ -/* { dg-final { scan-assembler "locgrh\t.*" } } */ +/* { dg-final { scan-assembler "locghi(?:h|nle)\t%r.?,1" } } */ +/* { dg-final { scan-assembler "locgr(?:h|nle)\t.*" } } */ #include <limits.h> #include <stdio.h> -- 2.39.1