]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/77403 (assemble failure of vinserti64x4 with -masm=intel)
authorUros Bizjak <uros@gcc.gnu.org>
Mon, 29 Aug 2016 20:26:13 +0000 (22:26 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 29 Aug 2016 20:26:13 +0000 (22:26 +0200)
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.

From-SVN: r239842

gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr77403.c [new file with mode: 0644]

index 2d7a4ab176f5fb7ef3ca59271b976382cab82e54..bc2070f4011cae497be6d964d45c1502ff9cc4e0 100644 (file)
@@ -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.
index df50e7d50917d933f5a172d831085f41003fed78..ab944dc355439dd3ffaa1ff8fa56a8be3c52cac2 100644 (file)
                       (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")
                       (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")
            (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")
                       (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")
index 82551ef68f2f152387dd4073a3e2045b66a5d904..cfb81fc3d21a28e0359bbd3d73f3f4bf2612fc82 100644 (file)
@@ -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:
 
 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 (file)
index 0000000..9f6775a
--- /dev/null
@@ -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};
+}