With commit r16-5947-ga6c50ec2c6ebcbda2b032eee0552a6a486355e12
"Add -ffuse-ops-with-volatile-access", GCC/nvptx avoids use of intermediate
registers in applicable cases (nice!).  This causes one test suite regression:

    PASS: gcc.target/nvptx/alloca-5.c (test for excess errors)
    XFAIL: gcc.target/nvptx/alloca-5.c execution test
    [-PASS:-]{+FAIL:+} gcc.target/nvptx/alloca-5.c check-function-bodies f
    PASS: gcc.target/nvptx/alloca-5.c check-function-bodies g

Adjust the FAILing 'check-function-bodies' as per the improved code generation.

        PR target/122343
        gcc/testsuite/
        * gcc.target/nvptx/alloca-5.c: Adjust.
---
 gcc/testsuite/gcc.target/nvptx/alloca-5.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gcc/testsuite/gcc.target/nvptx/alloca-5.c 
b/gcc/testsuite/gcc.target/nvptx/alloca-5.c
index ada0df0d065..45aced5e556 100644
--- a/gcc/testsuite/gcc.target/nvptx/alloca-5.c
+++ b/gcc/testsuite/gcc.target/nvptx/alloca-5.c
@@ -18,12 +18,10 @@ static __attribute__((noipa)) int f(int *p)
 **     \.reg\.u32 %value;
 **     \.reg\.u64 %ar0;
 **     ld\.param\.u64 %ar0, \[%in_ar0\];
-**     \.reg\.u32 (%r[0-9]+);
 **     \.reg\.u64 (%r[0-9]+);
-**             mov\.u64        \2, %ar0;
-**             atom\.exch\.b32 \1, \[\2\], 1;
+**             mov\.u64        \1, %ar0;
+**             atom\.exch\.b32 %value, \[\1\], 1;
 **             membar\.sys;
-**             mov\.u32        %value, \1;
 **     st\.param\.u32  \[%value_out\], %value;
 **     ret;
 */
-- 
2.34.1

Reply via email to