From 8a0eb0cd28a7145055f4f6fcc01b24d5928eaa55 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 14 Aug 2019 20:43:16 +0200 Subject: [PATCH] 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) : Use vector_set path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. (ix86_expand_vector_init_one_nonzero) : Do not widen for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. From-SVN: r274490 --- gcc/ChangeLog | 23 +++++++++++++++++------ gcc/config/i386/i386-expand.c | 5 +++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f52514667c..8e98678a2ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-08-14 Uroš Bizjak + + * config/i386/i386-expand.c (ix86_expand_vector_init_one_nonzero) + : Use vector_set path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + (ix86_expand_vector_init_one_nonzero) : + Do not widen for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + 2019-08-14 Bernd Edlinger * 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 - Uroš Bizjak + Uroš Bizjak PR target/91154 * config/i386/i386-features.h (scalar_chain::scalar_chain): Add @@ -644,8 +653,9 @@ 2019-08-13 Uroš Bizjak - * config/i386/i386.md (ix86_expand_vector_extract) : - Use vec_extr path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + * config/i386/i386-expand.c (ix86_expand_vector_extract) + : Use vec_extr path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. : 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 - * config/i386/i386.md (ix86_expand_vector_set) : - Use vec_merge path for TARGET_MMX_WITH_SSE && TARGET_SSE4_1. + * config/i386/i386-expand.c (ix86_expand_vector_set) + : Use vec_merge path for + TARGET_MMX_WITH_SSE && TARGET_SSE4_1. : 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 d1d5a9435f1..b6a2dbf402a 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: -- 2.30.2