[gcc r17-2833] AArch64: Relax regexps in tests to let them pass with -fweb
Christopher Bazley via Gcc-cvs <[email protected]> Thu, 30 Jul 2026 17:22:38 +0000 (GMT)
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:32657f29f918712ad7110bd54d8ebb3bf6b0a2a8 commit r17-2833-g32657f29f918712ad7110bd54d8ebb3bf6b0a2a8 Author: Christopher Bazley <[email protected]> Date: Tue May 19 15:07:26 2026 +0000 AArch64: Relax regexps in tests to let them pass with -fweb The -fweb option changes the way that GCC allocates registers. -fweb is not enabled by default, so we have never previously noticed that some AArch64 tests have unreasonably strict expectations about register allocation. This patch relaxes those expectations. gcc/testsuite/ChangeLog: * gcc.target/aarch64/ffs.c: Relax test expectations. * gcc.target/aarch64/frecpe_1.c: As above. * gcc.target/aarch64/frecpe_2.c: As above. Diff: --- gcc/testsuite/gcc.target/aarch64/ffs.c | 20 ++++++++++---------- gcc/testsuite/gcc.target/aarch64/frecpe_1.c | 2 +- gcc/testsuite/gcc.target/aarch64/frecpe_2.c | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/ffs.c b/gcc/testsuite/gcc.target/aarch64/ffs.c index a303bee5fd47..59e55eefcc0d 100644 --- a/gcc/testsuite/gcc.target/aarch64/ffs.c +++ b/gcc/testsuite/gcc.target/aarch64/ffs.c @@ -9,9 +9,9 @@ /* ** ffsw1: ** cmp w1, 0 -** rbit w0, w1 -** clz w0, w0 -** csinc w0, wzr, w0, eq +** rbit (w[0-9]+), w1 +** clz (w[0-9]+), \1 +** csinc w0, wzr, \2, eq ** ret */ @@ -23,9 +23,9 @@ int ffsw1 (int y, uint32_t x) /* ** ffsx1: ** cmp x1, 0 -** rbit x0, x1 -** clz x0, x0 -** csinc x0, xzr, x0, eq +** rbit (x[0-9]+), x1 +** clz (x[0-9]+), \1 +** csinc x0, xzr, \2, eq ** ret */ @@ -39,8 +39,8 @@ int ffsx1 (int y, uint64_t x) /* ** ffsw2: ** cmp w1, 0 -** ctz w0, w1 -** csinc w0, wzr, w0, eq +** ctz (w[0-9]+), w1 +** csinc w0, wzr, \1, eq ** ret */ @@ -52,8 +52,8 @@ int ffsw2 (int y, uint32_t x) /* ** ffsx2: ** cmp x1, 0 -** ctz x0, x1 -** csinc x0, xzr, x0, eq +** ctz (x[0-9]+), x1 +** csinc x0, xzr, \1, eq ** ret */ diff --git a/gcc/testsuite/gcc.target/aarch64/frecpe_1.c b/gcc/testsuite/gcc.target/aarch64/frecpe_1.c index e79f80d3ead5..321d820a0f32 100644 --- a/gcc/testsuite/gcc.target/aarch64/frecpe_1.c +++ b/gcc/testsuite/gcc.target/aarch64/frecpe_1.c @@ -15,4 +15,4 @@ f2 (double x) return 1 / x; } -/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t\1, \1, \2\n\tfrecps\t\2, \1, d0\n\tfmul\td0, \1, \2\n} } } */ +/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t(d[0-9]+), \1, \2\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\td0, \3, \4\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/frecpe_2.c b/gcc/testsuite/gcc.target/aarch64/frecpe_2.c index 233817c26b26..907181d53e7e 100644 --- a/gcc/testsuite/gcc.target/aarch64/frecpe_2.c +++ b/gcc/testsuite/gcc.target/aarch64/frecpe_2.c @@ -7,7 +7,7 @@ f1 (float x, float y) return y / x; } -/* { dg-final { scan-assembler {\tfrecpe\t(s[0-9]+), s0\n\tfrecps\t(s[0-9]+), \1, s0\n\tfmul\t\1, \1, s1\n\tfmul\ts0, \1, \2\n} } } */ +/* { dg-final { scan-assembler {\tfrecpe\t(s[0-9]+), s0\n\tfrecps\t(s[0-9]+), \1, s0\n\tfmul\t(s[0-9]+), \1, s1\n\tfmul\ts0, \3, \2\n} } } */ double f2 (double x, double y) @@ -15,4 +15,4 @@ f2 (double x, double y) return y / x; } -/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t\1, \1, \2\n\tfrecps\t\2, \1, d0\n\tfmul\t\1, \1, d1\n\tfmul\td0, \1, \2\n} } } */ +/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t(d[0-9]+), \1, \2\n\tfrecps\t(d[0-9]+), \3, d0\n\tfmul\t(d[0-9]+), \3, d1\n\tfmul\td0, \5, \4\n} } } */