From: Uros Bizjak Date: Mon, 29 Aug 2016 20:26:13 +0000 (+0200) Subject: re PR target/77403 (assemble failure of vinserti64x4 with -masm=intel) X-Git-Tag: releases/gcc-5.5.0~866 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8c014ea57d5c12060d04588ee19caa8dc10ea9b;p=thirdparty%2Fgcc.git re PR target/77403 (assemble failure of vinserti64x4 with -masm=intel) PR target/77403 * config/i386/sse.md (vec_set_lo_): Fix assembler template for intel asm dialect. (vec_set_hi_): Ditto. testsuite/ChangeLog: PR target/77403 * gcc.target/i386/pr77403.c: New test. From-SVN: r239842 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d7a4ab176f5..bc2070f4011c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-08-29 Uros Bizjak + + PR target/77403 + * config/i386/sse.md (vec_set_lo_): Fix assembler + template for intel asm dialect. + (vec_set_hi_): Ditto. + 2016-08-29 Eric Botcazou * Makefile.in (gcov-iov.h): Add dummy recipe. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index df50e7d50917..ab944dc35543 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" - "vinsert32x8\t{$0x0, %2, %1, %0|%0, %1, %2, $0x0}" + "vinsert32x8\t{$0x0, %2, %1, %0|%0, %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: 2 "nonimmediate_operand" "vm")))] "TARGET_AVX512DQ" - "vinsert32x8\t{$0x1, %2, %1, %0|%0, %1, %2, $0x1}" + "vinsert32x8\t{$0x1, %2, %1, %0|%0, %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" - "vinsert64x4\t{$0x0, %2, %1, %0|%0, %1, %2, $0x0}" + "vinsert64x4\t{$0x0, %2, %1, %0|%0, %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: 2 "nonimmediate_operand" "vm")))] "TARGET_AVX512F" - "vinsert64x4\t{$0x1, %2, %1, %0|%0, %1, %2, $0x1}" + "vinsert64x4\t{$0x1, %2, %1, %0|%0, %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 82551ef68f2f..cfb81fc3d21a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-08-29 Uros Bizjak + + PR target/77403 + * gcc.target/i386/pr77403.c: New test. + 2016-08-29 Tom de Vries backport from trunk: @@ -145,8 +150,8 @@ 2016-07-20 Martin Jambor - PR fortran/71688 - * gfortran.dg/pr71688.f90: New test. + PR fortran/71688 + * gfortran.dg/pr71688.f90: New test. 2016-07-19 Jakub Jelinek diff --git a/gcc/testsuite/gcc.target/i386/pr77403.c b/gcc/testsuite/gcc.target/i386/pr77403.c new file mode 100644 index 000000000000..9f6775a0c934 --- /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}; +}