aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPrathamesh Kulkarni <prathamesh.kulkarni@linaro.org>2019-08-21 18:34:43 +0000
committerPrathamesh Kulkarni <prathamesh3492@gcc.gnu.org>2019-08-21 18:34:43 +0000
commit846f78d414101dbd33ff9c370d379bae73ae0efa (patch)
treea7180de1d0b032dcf63b2ffc87c81fde60a5682b /gcc
parenteda684e6a77890bd5e13ceab99d95bc1e8439212 (diff)
downloadgcc-846f78d414101dbd33ff9c370d379bae73ae0efa.zip
gcc-846f78d414101dbd33ff9c370d379bae73ae0efa.tar.gz
gcc-846f78d414101dbd33ff9c370d379bae73ae0efa.tar.bz2
re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)
2019-08-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR target/90724 * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y in reg if it fails aarch64_plus_operand predicate. From-SVN: r274805
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7550e42..e5ae7ad 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-08-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR target/90724
+ * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y
+ in reg if it fails aarch64_plus_operand predicate.
+
2019-08-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/91482
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 146d020..23f7216 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -2070,6 +2070,9 @@ aarch64_gen_compare_reg_maybe_ze (RTX_CODE code, rtx x, rtx y,
}
}
+ if (!aarch64_plus_operand (y, y_mode))
+ y = force_reg (y_mode, y);
+
return aarch64_gen_compare_reg (code, x, y);
}