avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
authorKirill Yukhin <kirill.yukhin@intel.com>
Mon, 27 Jan 2014 19:21:02 +0000 (19:21 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Mon, 27 Jan 2014 19:21:02 +0000 (19:21 +0000)
commite711dffdfe0561e494636ea95abad5a3b419e6d9
tree366432d5179816ff167c45857622ddee8b31f542
parentfb1ca954c03cfc4664a4b587029b8845b22a2455
avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.

gcc/
        * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
(_mm512_mask_prefetch_i64gather_pd): Ditto.
(_mm512_prefetch_i32scatter_pd): Ditto.
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
(_mm512_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
(_mm512_mask_prefetch_i64gather_ps): Ditto.
(_mm512_prefetch_i32scatter_ps): Ditto.
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
(_mm512_prefetch_i64scatter_ps): Ditto.
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
* config/i386/i386-builtin-types.def: Define
VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
IX86_BUILTIN_SCATTERPFQPD.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
__builtin_ia32_scatterpfqps.
(ix86_expand_builtin): Expand new built-ins.
* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
fix memory access data type.
(*avx512pf_gatherpf<mode>_mask): Ditto.
(*avx512pf_gatherpf<mode>): Ditto.
(avx512pf_scatterpf<mode>): Ditto.
(*avx512pf_scatterpf<mode>_mask): Ditto.
(*avx512pf_scatterpf<mode>): Ditto.
(GATHER_SCATTER_SF_MEM_MODE): New.
(avx512pf_gatherpf<mode>df): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.

testsuite/
        * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
built-ins roudning immediate.
* gcc.target/i386/sse-22.c: Add new built-ins.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx-1.c: Ditto.

From-SVN: r207149
18 files changed:
gcc/ChangeLog
gcc/config/i386/avx512pfintrin.h
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-14.c
gcc/testsuite/gcc.target/i386/sse-22.c
gcc/testsuite/gcc.target/i386/sse-23.c