35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
|
2021-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
|
||
|
PR target/100302
|
||
|
* config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use
|
||
|
absu_hwi instead of abs_hwi.
|
||
|
|
||
|
* gcc.target/aarch64/sve/pr100302.c: New test.
|
||
|
|
||
|
--- gcc/config/aarch64/aarch64.c.jj 2021-04-28 10:43:06.313337362 +0200
|
||
|
+++ gcc/config/aarch64/aarch64.c 2021-04-28 11:01:10.567243000 +0200
|
||
|
@@ -4736,7 +4736,7 @@ aarch64_mov128_immediate (rtx imm)
|
||
|
static unsigned int
|
||
|
aarch64_add_offset_1_temporaries (HOST_WIDE_INT offset)
|
||
|
{
|
||
|
- return abs_hwi (offset) < 0x1000000 ? 0 : 1;
|
||
|
+ return absu_hwi (offset) < 0x1000000 ? 0 : 1;
|
||
|
}
|
||
|
|
||
|
/* A subroutine of aarch64_add_offset. Set DEST to SRC + OFFSET for
|
||
|
--- gcc/testsuite/gcc.target/aarch64/sve/pr100302.c.jj 2021-04-28 10:49:19.337176274 +0200
|
||
|
+++ gcc/testsuite/gcc.target/aarch64/sve/pr100302.c 2021-04-28 10:42:48.342537828 +0200
|
||
|
@@ -0,0 +1,12 @@
|
||
|
+/* PR target/100302 */
|
||
|
+/* { dg-do compile } */
|
||
|
+/* { dg-options "-march=armv8.2-a+sve -O1 -ftree-loop-vectorize -fno-tree-scev-cprop --param vect-partial-vector-usage=0 -fvect-cost-model=unlimited" } */
|
||
|
+
|
||
|
+long int x;
|
||
|
+
|
||
|
+void
|
||
|
+foo (void)
|
||
|
+{
|
||
|
+ for (x = 0; x >= 0; ++x)
|
||
|
+ ;
|
||
|
+}
|