Re: [PATCH] s390/testsuite: Fix oscbreak-1.c.
Hi, Yeah, that's because of the very limited analysis we do in the backend to detect such cases. In fact we probably would want to have an OSC break in many of them as well. For me the testcase appears to work with -O2 on all the -march levels. I think -O2 would be preferred because that's what is most frequently used. Is it OK? Yes, either with -O2 or the options you have proposed if -O2 doesn't work out for you. -O2 did not work reliably for me with different --with_arch settings. I'm going to commit the -O1 -fschedule-insns version then. Regards Robin
Re: [PATCH] s390/testsuite: Fix oscbreak-1.c.
On 4/16/21 3:59 PM, Robin Dapp wrote: > Hi, > > checking for an osc break is somewhat brittle especially with many > passes potentially introducing new insns and moving them around. > Therefore, only run the test with -O1 -fschedule-insns in order to limit > the influence of other passes. Yeah, that's because of the very limited analysis we do in the backend to detect such cases. In fact we probably would want to have an OSC break in many of them as well. For me the testcase appears to work with -O2 on all the -march levels. I think -O2 would be preferred because that's what is most frequently used. > > Is it OK? Yes, either with -O2 or the options you have proposed if -O2 doesn't work out for you. Thanks! Andreas > > Regards > Robin > > -- > > gcc/testsuite/ChangeLog: > > * gcc.target/s390/oscbreak-1.c: Compile with -O1 > -fschedule-insns. >
[PATCH] s390/testsuite: Fix oscbreak-1.c.
Hi, checking for an osc break is somewhat brittle especially with many passes potentially introducing new insns and moving them around. Therefore, only run the test with -O1 -fschedule-insns in order to limit the influence of other passes. Is it OK? Regards Robin -- gcc/testsuite/ChangeLog: * gcc.target/s390/oscbreak-1.c: Compile with -O1 -fschedule-insns. diff --git a/gcc/testsuite/gcc.target/s390/oscbreak-1.c b/gcc/testsuite/gcc.target/s390/oscbreak-1.c index fdf356c1fd0..0c612531132 100644 --- a/gcc/testsuite/gcc.target/s390/oscbreak-1.c +++ b/gcc/testsuite/gcc.target/s390/oscbreak-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -mtune=z13 -dp" } */ +/* { dg-options "-O1 -mtune=z13 -fschedule-insns -dp" } */ void foo (char *a, int b) @@ -10,6 +10,7 @@ foo (char *a, int b) a[i] += 1; } +/* We should not unconditionally emit an osc_break here. */ void bar (char *a, int b) { @@ -22,4 +23,4 @@ bar (char *a, int b) } } -/* { dg-final { scan-assembler "osc_break" } } */ +/* { dg-final { scan-assembler-times "osc_break" 1 } } */