On 8/7/25 23:35, Karl Meakin wrote:
I have updated the tests in `cmpbr.c` to reflect the fixes. There are a
few regressions, but they can be fixed later; let's just make GCC
crash-free first.
I should have replied sooner. The patch set breaks atomics.
I am re-working it not to do so and will re-post soon.
diff --git a/gcc/testsuite/gcc.target/aarch64/cmpbr.c
b/gcc/testsuite/gcc.target/aarch64/cmpbr.c
index 34630f9a2bf..95393b83fc8 100644
--- a/gcc/testsuite/gcc.target/aarch64/cmpbr.c
+++ b/gcc/testsuite/gcc.target/aarch64/cmpbr.c
@@ -169,33 +169,41 @@ FAR_BRANCH(u64, 42);
/*
** i8_x0_slt_x1:
-** (?:cbbgt w1, w0|cbblt w0, w1), .L([0-9]+)
+** sxtb (w[0-9]+), w1
+** cmp \1, w0, sxtb
+** bgt .L([0-9]+)
** b not_taken
-** .L\1:
+** .L\2:
** b taken
*/
Most of these were easy to fix. Wrong rtx costing prevented combine from putting the
patterns together.
r~