diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2019-08-14 20:43:16 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2019-08-14 20:43:16 +0200 |
commit | 8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55 (patch) | |
tree | 40c82feb5998841d9bf2ad5b509880c6d27123c6 /gcc | |
parent | 8069cc6b410f66ab9ff54c8fe90b5217cddff227 (diff) | |
download | gcc-8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55.zip gcc-8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55.tar.gz gcc-8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55.tar.bz2 |
i386-expand.c (ix86_expand_vector_init_one_nonzero): Use vector_set path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1.
* config/i386/i386-expand.c (ix86_expand_vector_init_one_nonzero)
<case E_V8QImode>: Use vector_set path for
TARGET_MMX_WITH_SSE && TARGET_SSE4_1.
(ix86_expand_vector_init_one_nonzero) <case E_V8QImode>:
Do not widen for TARGET_MMX_WITH_SSE && TARGET_SSE4_1.
From-SVN: r274490
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 23 | ||||
-rw-r--r-- | gcc/config/i386/i386-expand.c | 5 |
2 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f52514..8e98678 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-08-14 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386-expand.c (ix86_expand_vector_init_one_nonzero) + <case E_V8QImode>: Use vector_set path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + (ix86_expand_vector_init_one_nonzero) <case E_V8QImode>: + Do not widen for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + 2019-08-14 Bernd Edlinger <bernd.edlinger@hotmail.de> * builtins.c (expand_builtin_init_descriptor): Set memory alignment. @@ -15,10 +23,11 @@ * varasm.c (default_section_type_flags): Add support for "noinit" section. (default_elf_select_section): Add support for "noinit" attribute. - * config/msp430/msp430.c (msp430_attribute_table): Remove "noinit" entry. + * config/msp430/msp430.c (msp430_attribute_table): Remove + "noinit" entry. 2019-08-14 Richard Biener <rguenther@suse.de> - Uroš Bizjak <ubizjak@gmail.com> + Uroš Bizjak <ubizjak@gmail.com> PR target/91154 * config/i386/i386-features.h (scalar_chain::scalar_chain): Add @@ -644,8 +653,9 @@ 2019-08-13 Uroš Bizjak <ubizjak@gmail.com> - * config/i386/i386.md (ix86_expand_vector_extract) <case E_V2SImode>: - Use vec_extr path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + * config/i386/i386-expand.c (ix86_expand_vector_extract) + <case E_V2SImode>: Use vec_extr path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. <case E_V8QImode>: Ditto. * config/i386/mmx.md (*mmx_pextrw_zext): Rename from mmx_pextrw. Use SWI48 mode iterator. Use %k to output operand 0. @@ -842,8 +852,9 @@ 2019-08-13 Uroš Bizjak <ubizjak@gmail.com> - * config/i386/i386.md (ix86_expand_vector_set) <case E_V2SImode>: - Use vec_merge path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + * config/i386/i386-expand.c (ix86_expand_vector_set) + <case E_V2SImode>: Use vec_merge path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. <case E_V8QImode>: Ditto. * config/i386/mmx.md (*mmx_pinsrd): New insn pattern. (*mmx_pinsrb): Ditto. diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c index d1d5a94..b6a2dbf 100644 --- a/gcc/config/i386/i386-expand.c +++ b/gcc/config/i386/i386-expand.c @@ -13383,6 +13383,9 @@ ix86_expand_vector_init_one_nonzero (bool mmx_ok, machine_mode mode, case E_V8HImode: use_vector_set = TARGET_SSE2; break; + case E_V8QImode: + use_vector_set = TARGET_MMX_WITH_SSE && TARGET_SSE4_1; + break; case E_V4HImode: use_vector_set = TARGET_SSE || TARGET_3DNOW_A; break; @@ -13590,6 +13593,8 @@ ix86_expand_vector_init_one_var (bool mmx_ok, machine_mode mode, wmode = V8HImode; goto widen; case E_V8QImode: + if (TARGET_MMX_WITH_SSE && TARGET_SSE4_1) + break; wmode = V4HImode; goto widen; widen: |