summaryrefslogtreecommitdiff
path: root/gcc/COPYING.LIB
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-22 06:58:57 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-22 06:58:57 +0000
commit6e154e02514032b673c74fa03a7412ec69c69ce9 (patch)
tree1493e35cc3b270e4b934b928b0311cda8b335208 /gcc/COPYING.LIB
parentb38cf1ab536f203e48dff474a375bd3f02682b80 (diff)
downloadgcc-6e154e02514032b673c74fa03a7412ec69c69ce9.tar.gz
PR target/63594
* config/i386/i386.c (ix86_expand_vector_init_duplicate): For V{8HI,16QI,16HI,32QI}mode call ix86_vector_duplicate_value even for just TARGET_AVX2, not only for TARGET_AVX512VL && TARGET_AVX512BW. For V{32HI,64QI}mode, call ix86_vector_duplicate_value only if TARGET_AVX512BW, otherwise build it using concatenation of 256-bit broadcast. * config/i386/sse.md (AVX_VEC_DUP_MODE): Moved after avx512 broadcast patterns. (vec_dup<mode>): Likewise. For avx2 use v<sseintprefix>broadcast<bcstscalarsuff> instead of vbroadcast<ssescalarmodesuffix>. (AVX2_VEC_DUP_MODE): New mode iterator. (*vec_dup<mode>): New TARGET_AVX2 define_insn with AVX2_VEC_DUP_MODE iterator, add a splitter for that. * gcc.dg/pr63594-1.c: New test. * gcc.dg/pr63594-2.c: New test. * gcc.target/i386/sse2-pr63594-1.c: New test. * gcc.target/i386/sse2-pr63594-2.c: New test. * gcc.target/i386/avx-pr63594-1.c: New test. * gcc.target/i386/avx-pr63594-2.c: New test. * gcc.target/i386/avx2-pr63594-1.c: New test. * gcc.target/i386/avx2-pr63594-2.c: New test. * gcc.target/i386/avx512f-pr63594-1.c: New test. * gcc.target/i386/avx512f-pr63594-2.c: New test. * gcc.target/i386/avx512f-vec-init.c: Adjust expected insn counts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216541 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/COPYING.LIB')
0 files changed, 0 insertions, 0 deletions