Commit 8a0eb0cd by Uros Bizjak

i386-expand.c (ix86_expand_vector_init_one_nonzero): Use vector_set path for…

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
parent 8069cc6b
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> 2019-08-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
* builtins.c (expand_builtin_init_descriptor): Set memory alignment. * builtins.c (expand_builtin_init_descriptor): Set memory alignment.
...@@ -15,10 +23,11 @@ ...@@ -15,10 +23,11 @@
* varasm.c (default_section_type_flags): Add support for "noinit" * varasm.c (default_section_type_flags): Add support for "noinit"
section. section.
(default_elf_select_section): Add support for "noinit" attribute. (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> 2019-08-14 Richard Biener <rguenther@suse.de>
Uroš Bizjak <ubizjak@gmail.com> Uroš Bizjak <ubizjak@gmail.com>
PR target/91154 PR target/91154
* config/i386/i386-features.h (scalar_chain::scalar_chain): Add * config/i386/i386-features.h (scalar_chain::scalar_chain): Add
...@@ -644,8 +653,9 @@ ...@@ -644,8 +653,9 @@
2019-08-13 Uroš Bizjak <ubizjak@gmail.com> 2019-08-13 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ix86_expand_vector_extract) <case E_V2SImode>: * config/i386/i386-expand.c (ix86_expand_vector_extract)
Use vec_extr path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. <case E_V2SImode>: Use vec_extr path for
TARGET_MMX_WITH_SSE && TARGET_SSE4_1.
<case E_V8QImode>: Ditto. <case E_V8QImode>: Ditto.
* config/i386/mmx.md (*mmx_pextrw_zext): Rename from mmx_pextrw. * config/i386/mmx.md (*mmx_pextrw_zext): Rename from mmx_pextrw.
Use SWI48 mode iterator. Use %k to output operand 0. Use SWI48 mode iterator. Use %k to output operand 0.
...@@ -842,8 +852,9 @@ ...@@ -842,8 +852,9 @@
2019-08-13 Uroš Bizjak <ubizjak@gmail.com> 2019-08-13 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ix86_expand_vector_set) <case E_V2SImode>: * config/i386/i386-expand.c (ix86_expand_vector_set)
Use vec_merge path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. <case E_V2SImode>: Use vec_merge path for
TARGET_MMX_WITH_SSE && TARGET_SSE4_1.
<case E_V8QImode>: Ditto. <case E_V8QImode>: Ditto.
* config/i386/mmx.md (*mmx_pinsrd): New insn pattern. * config/i386/mmx.md (*mmx_pinsrd): New insn pattern.
(*mmx_pinsrb): Ditto. (*mmx_pinsrb): Ditto.
......
...@@ -13383,6 +13383,9 @@ ix86_expand_vector_init_one_nonzero (bool mmx_ok, machine_mode mode, ...@@ -13383,6 +13383,9 @@ ix86_expand_vector_init_one_nonzero (bool mmx_ok, machine_mode mode,
case E_V8HImode: case E_V8HImode:
use_vector_set = TARGET_SSE2; use_vector_set = TARGET_SSE2;
break; break;
case E_V8QImode:
use_vector_set = TARGET_MMX_WITH_SSE && TARGET_SSE4_1;
break;
case E_V4HImode: case E_V4HImode:
use_vector_set = TARGET_SSE || TARGET_3DNOW_A; use_vector_set = TARGET_SSE || TARGET_3DNOW_A;
break; break;
...@@ -13590,6 +13593,8 @@ ix86_expand_vector_init_one_var (bool mmx_ok, machine_mode mode, ...@@ -13590,6 +13593,8 @@ ix86_expand_vector_init_one_var (bool mmx_ok, machine_mode mode,
wmode = V8HImode; wmode = V8HImode;
goto widen; goto widen;
case E_V8QImode: case E_V8QImode:
if (TARGET_MMX_WITH_SSE && TARGET_SSE4_1)
break;
wmode = V4HImode; wmode = V4HImode;
goto widen; goto widen;
widen: widen:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment