summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-01-08 16:58:20 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2020-01-08 16:58:20 +0100
commit7ca803f1011503334cebdc9ab5d64b3a213f315b (patch)
tree04a8baca190831e65feec3eb14dd9f15a2f4e772 /gcc/testsuite/gcc.c-torture
parent80d803aefb82f336abd3ff421c1a7edcbd24c9ae (diff)
re PR target/93174 (ICE building glibc __sha512_process_block for i686)
PR target/93174 * config/i386/i386.md (addcarry<mode>_0): Use nonimmediate_operand predicate for output operand instead of register_operand. (addcarry<mode>, addcarry<mode>_1): Likewise. Add alternative with memory destination and non-memory operands[2]. * gcc.c-torture/compile/pr93174.c: New test. From-SVN: r280011
Diffstat (limited to 'gcc/testsuite/gcc.c-torture')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr93174.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr93174.c b/gcc/testsuite/gcc.c-torture/compile/pr93174.c
new file mode 100644
index 00000000000..653a470ebfc
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr93174.c
@@ -0,0 +1,14 @@
+/* PR target/93174 */
+
+unsigned long long a[2];
+void bar (void);
+
+void
+foo (int c)
+{
+ int e = c >> 2;
+ a[0] += c;
+ a[1] = a[0] < c;
+ while (e--)
+ bar ();
+}