diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-01-08 16:58:20 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2020-01-08 16:58:20 +0100 |
commit | 7ca803f1011503334cebdc9ab5d64b3a213f315b (patch) | |
tree | 04a8baca190831e65feec3eb14dd9f15a2f4e772 /gcc/testsuite/gcc.c-torture | |
parent | 80d803aefb82f336abd3ff421c1a7edcbd24c9ae (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.c | 14 |
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 (); +} |