OSDN Git Service

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Oct 2011 09:46:45 +0000 (09:46 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Oct 2011 09:46:45 +0000 (09:46 +0000)
commitde084923c2149f5d3a0eb35bee4b8b8e8b89cd66
treec91519d05344769a0667ba605555a25ca11f993b
parentc4228cebdd65911674366a0b36cea34b97a1b5b9
* config/i386/i386.md (UNSPEC_VSIBADDR): New.
* config/i386/predicates.md (vsib_address_operand,
vsib_mem_operator): New predicates.
* config/i386/i386.c (ix86_print_operand_address): Handle
UNSPEC_VSIBADDR addresses.
* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
avx2_gatherdi<mode>256): Adjust expanders to use MEM with
UNSPEC_VSIBADDR address.
(*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
Adjust insns to use MEM with UNSPEC_VSIBADDR address.

* gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex
to work also with -masm=intel and additionally test the xmm vs. ymm
register type combination on mask/dest and in vsib.
* gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180520 138bc75d-0d04-0410-961f-82ee72b054a4
38 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx2-i32gatherd-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherd-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherd256-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherd256-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherpd-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherpd-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherpd256-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherpd256-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherps-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherps-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherps256-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherps256-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherq-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherq-3.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherq256-1.c
gcc/testsuite/gcc.target/i386/avx2-i32gatherq256-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherd-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherd-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherd256-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherd256-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherpd-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherpd-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherpd256-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherpd256-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherps-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherps-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherps256-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherps256-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherq-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherq-3.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherq256-1.c
gcc/testsuite/gcc.target/i386/avx2-i64gatherq256-3.c