diff options
author | Aaron Sawdey <acsawdey@linux.ibm.com> | 2018-06-26 16:46:51 +0000 |
---|---|---|
committer | Aaron Sawdey <acsawdey@gcc.gnu.org> | 2018-06-26 11:46:51 -0500 |
commit | 31369f5a35b99cc01b9f895cd0d063c58fe19dfa (patch) | |
tree | 5bbd6e356f2cc661171bf8ba8223168b31e59ec4 | |
parent | 12169ac7962bf7b2dbbb5179561e0d21cb0f3381 (diff) | |
download | gcc-31369f5a35b99cc01b9f895cd0d063c58fe19dfa.zip gcc-31369f5a35b99cc01b9f895cd0d063c58fe19dfa.tar.gz gcc-31369f5a35b99cc01b9f895cd0d063c58fe19dfa.tar.bz2 |
rs6000-string.c (expand_block_clear): Don't use unaligned vsx for 16B memset.
2018-06-26 Aaron Sawdey <acsawdey@linux.ibm.com>
* config/rs6000/rs6000-string.c (expand_block_clear): Don't use
unaligned vsx for 16B memset.
From-SVN: r262158
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-string.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ebe29e6..e365a56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-06-26 Aaron Sawdey <acsawdey@linux.ibm.com> + + * config/rs6000/rs6000-string.c (expand_block_clear): Don't use + unaligned vsx for 16B memset. + 2018-06-26 Segher Boessenkool <segher@kernel.crashing.org> PR target/86285 diff --git a/gcc/config/rs6000/rs6000-string.c b/gcc/config/rs6000/rs6000-string.c index 7e49568..f9dd54e 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; |