From: Aaron Sawdey Date: Tue, 26 Jun 2018 16:46:51 +0000 (+0000) Subject: rs6000-string.c (expand_block_clear): Don't use unaligned vsx for 16B memset. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=31369f5a35b99cc01b9f895cd0d063c58fe19dfa;p=gcc.git rs6000-string.c (expand_block_clear): Don't use unaligned vsx for 16B memset. 2018-06-26 Aaron Sawdey * config/rs6000/rs6000-string.c (expand_block_clear): Don't use unaligned vsx for 16B memset. From-SVN: r262158 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ebe29e61fa8..e365a56be68 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-06-26 Aaron Sawdey + + * config/rs6000/rs6000-string.c (expand_block_clear): Don't use + unaligned vsx for 16B memset. + 2018-06-26 Segher Boessenkool PR target/86285 diff --git a/gcc/config/rs6000/rs6000-string.c b/gcc/config/rs6000/rs6000-string.c index 7e49568a1ed..f9dd54eb639 100644 --- a/gcc/config/rs6000/rs6000-string.c +++ b/gcc/config/rs6000/rs6000-string.c @@ -90,7 +90,9 @@ expand_block_clear (rtx operands[]) machine_mode mode = BLKmode; rtx dest; - if (bytes >= 16 && TARGET_ALTIVEC && (align >= 128 || TARGET_EFFICIENT_UNALIGNED_VSX)) + if (TARGET_ALTIVEC + && ((bytes >= 16 && align >= 128) + || (bytes >= 32 && TARGET_EFFICIENT_UNALIGNED_VSX))) { clear_bytes = 16; mode = V4SImode;