aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-08-29 20:26:13 +0000
committerUros Bizjak <ubizjak@gmail.com>2016-08-29 20:26:13 +0000
commit7ca6d5886f8800473cdb36fdafbd466ea337bd60 (patch)
treeee70bfcf6a97abe4419547ff0ac07a8393d5fd66
parent9a944155dc0880fb687aaca85ef17140100a3104 (diff)
PR target/77403
* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler template for intel asm dialect. (vec_set_hi_<mode><mask_name>): Ditto. testsuite/ChangeLog: PR target/77403 * gcc.target/i386/pr77403.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@239842 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/sse.md8
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.target/i386/pr77403.c15
4 files changed, 33 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2d7a4ab176f..bc2070f4011 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-08-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/77403
+ * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
+ template for intel asm dialect.
+ (vec_set_hi_<mode><mask_name>): Ditto.
+
2016-08-29 Eric Botcazou <ebotcazou@adacore.com>
* Makefile.in (gcov-iov.h): Add dummy recipe.
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index df50e7d5091..ab944dc3554 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -11866,7 +11866,7 @@
(const_int 12) (const_int 13)
(const_int 14) (const_int 15)]))))]
"TARGET_AVX512DQ"
- "vinsert<shuffletype>32x8\t{$0x0, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, $0x0}"
+ "vinsert<shuffletype>32x8\t{$0x0, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, 0x0}"
[(set_attr "type" "sselog")
(set_attr "length_immediate" "1")
(set_attr "prefix" "evex")
@@ -11883,7 +11883,7 @@
(const_int 6) (const_int 7)]))
(match_operand:<ssehalfvecmode> 2 "nonimmediate_operand" "vm")))]
"TARGET_AVX512DQ"
- "vinsert<shuffletype>32x8\t{$0x1, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, $0x1}"
+ "vinsert<shuffletype>32x8\t{$0x1, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, 0x1}"
[(set_attr "type" "sselog")
(set_attr "length_immediate" "1")
(set_attr "prefix" "evex")
@@ -11898,7 +11898,7 @@
(parallel [(const_int 4) (const_int 5)
(const_int 6) (const_int 7)]))))]
"TARGET_AVX512F"
- "vinsert<shuffletype>64x4\t{$0x0, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, $0x0}"
+ "vinsert<shuffletype>64x4\t{$0x0, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, 0x0}"
[(set_attr "type" "sselog")
(set_attr "length_immediate" "1")
(set_attr "prefix" "evex")
@@ -11913,7 +11913,7 @@
(const_int 2) (const_int 3)]))
(match_operand:<ssehalfvecmode> 2 "nonimmediate_operand" "vm")))]
"TARGET_AVX512F"
- "vinsert<shuffletype>64x4\t{$0x1, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, $0x1}"
+ "vinsert<shuffletype>64x4\t{$0x1, %2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2, 0x1}"
[(set_attr "type" "sselog")
(set_attr "length_immediate" "1")
(set_attr "prefix" "evex")
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 82551ef68f2..cfb81fc3d21 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-08-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/77403
+ * gcc.target/i386/pr77403.c: New test.
+
2016-08-29 Tom de Vries <tom@codesourcery.com>
backport from trunk:
@@ -145,8 +150,8 @@
2016-07-20 Martin Jambor <mjambor@suse.cz>
- PR fortran/71688
- * gfortran.dg/pr71688.f90: New test.
+ PR fortran/71688
+ * gfortran.dg/pr71688.f90: New test.
2016-07-19 Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/testsuite/gcc.target/i386/pr77403.c b/gcc/testsuite/gcc.target/i386/pr77403.c
new file mode 100644
index 00000000000..9f6775a0c93
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr77403.c
@@ -0,0 +1,15 @@
+/* { dg-do assemble } */
+/* { dg-require-effective-target int128 } */
+/* { dg-require-effective-target avx512f } */
+/* { dg-require-effective-target masm_intel } */
+/* { dg-options "-O -mavx512f -masm=intel" } */
+
+typedef __int128 V __attribute__((vector_size(64)));
+
+V v;
+
+void
+foo()
+{
+ v ^= (V){1};
+}