diff options
author | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2013-04-08 07:49:33 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2013-04-08 07:49:33 +0000 |
commit | 03ed99a89eff22949d9983cb70092127a7a0c190 (patch) | |
tree | 8db1b78a52705e339b0b9106a823389509058106 | |
parent | 781b2e6231686ea829b9edbbe690be01e7438dc8 (diff) | |
download | gcc-03ed99a89eff22949d9983cb70092127a7a0c190.zip gcc-03ed99a89eff22949d9983cb70092127a7a0c190.tar.gz gcc-03ed99a89eff22949d9983cb70092127a7a0c190.tar.bz2 |
s390.c (s390_expand_insv): Only accept insertions within mode size.
2013-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_expand_insv): Only accept insertions
within mode size.
From-SVN: r197566
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d3f40dd..bb7076c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.c (s390_expand_insv): Only accept insertions + within mode size. + 2013-04-08 Marek Polacek <polacek@redhat.com> PR rtl-optimization/48182 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 663cc54..1578363 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -4647,6 +4647,9 @@ s390_expand_insv (rtx dest, rtx op1, rtx op2, rtx src) int smode_bsize, mode_bsize; rtx op, clobber; + if (bitsize + bitpos > GET_MODE_SIZE (mode)) + return false; + /* Generate INSERT IMMEDIATE (IILL et al). */ /* (set (ze (reg)) (const_int)). */ if (TARGET_ZARCH |