diff options
author | Aaron Sawdey <acsawdey@linux.vnet.ibm.com> | 2017-04-08 16:10:26 +0000 |
---|---|---|
committer | Aaron Sawdey <acsawdey@gcc.gnu.org> | 2017-04-08 11:10:26 -0500 |
commit | 27ba97a67a5e468317b3316224e82f4f7b680b71 (patch) | |
tree | 2440f4dc7cd048eef095a9d7f6375ec91f0af758 /gcc | |
parent | 38f540cb00704a9b5f9eab06ab9d45691a5665e1 (diff) | |
download | gcc-27ba97a67a5e468317b3316224e82f4f7b680b71.zip gcc-27ba97a67a5e468317b3316224e82f4f7b680b71.tar.gz gcc-27ba97a67a5e468317b3316224e82f4f7b680b71.tar.bz2 |
re PR rtl-optimization/80358 (ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu)
2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/80358
* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
From-SVN: r246784
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 99d78b4..b1e0345 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> + + PR target/80358 + * config/rs6000/rs6000.c (expand_block_compare): Fix boundary check. + 2017-04-07 Pat Haugen <pthaugen@us.ibm.com> * rs6000/rs6000.c (vec_load_pendulum): Rename... diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index b3a3a7e..880c3ee 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -19672,8 +19672,9 @@ expand_block_compare (rtx operands[]) unsigned int load_mode_size = GET_MODE_SIZE (load_mode); /* We don't want to generate too much code. */ - if (ROUND_UP (bytes, load_mode_size) / load_mode_size - > (unsigned HOST_WIDE_INT) rs6000_block_compare_inline_limit) + unsigned HOST_WIDE_INT max_bytes = + load_mode_size * (unsigned HOST_WIDE_INT) rs6000_block_compare_inline_limit; + if (!IN_RANGE (bytes, 1, max_bytes)) return false; bool generate_6432_conversion = false; |