aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2019-08-14 20:43:16 +0200
committerUros Bizjak <uros@gcc.gnu.org>2019-08-14 20:43:16 +0200
commit8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55 (patch)
tree40c82feb5998841d9bf2ad5b509880c6d27123c6 /gcc
parent8069cc6b410f66ab9ff54c8fe90b5217cddff227 (diff)
downloadgcc-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/ChangeLog23
-rw-r--r--gcc/config/i386/i386-expand.c5
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: