aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-09-05 16:44:19 +0200
committerUros Bizjak <uros@gcc.gnu.org>2016-09-05 16:44:19 +0200
commit8a27cf73aa5ce0a0d0c426862e01b4ede6ac9b3f (patch)
tree808b99cdf16abe7de33727977a1a3b6d1ff1d2b4 /gcc/testsuite/gcc.target
parent25ff5dd35471b2b20f2b2681c8ff24c0d086ec00 (diff)
downloadgcc-8a27cf73aa5ce0a0d0c426862e01b4ede6ac9b3f.zip
gcc-8a27cf73aa5ce0a0d0c426862e01b4ede6ac9b3f.tar.gz
gcc-8a27cf73aa5ce0a0d0c426862e01b4ede6ac9b3f.tar.bz2
re PR target/77452 (ICE: in plus_constant, at explow.c:87 with -fno-split-wide-types -mavx512f --param=max-combine-insns=2)
PR rtl-optimization/77452 * explow.c (plus_constant) <case MEM>: Extract scalar constant from inner-mode reference to a CONST_VECTOR constant in the constant pool. testsuite/ChangeLog: PR rtl-optimization/77452 * gcc.target/i386/pr77452.c: New test. From-SVN: r239989
Diffstat (limited to 'gcc/testsuite/gcc.target')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr77452.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr77452.c b/gcc/testsuite/gcc.target/i386/pr77452.c
new file mode 100644
index 0000000..89c5329
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr77452.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target int128 } } */
+/* { dg-options "-O -mavx512f -fno-split-wide-types --param max-combine-insns=2" } */
+
+typedef unsigned int U __attribute__((vector_size(64)));
+typedef unsigned __int128 V __attribute__((vector_size(64)));
+
+V
+foo(V v)
+{
+ v[0] = 1u << (( ((V)(U){1, 1, v[0]})[0]) & 0xf)
+ >> ((-~((V)(U){1, 1, v[0]})[0]) & 0xf);
+ return v;
+}