From 03ed99a89eff22949d9983cb70092127a7a0c190 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Mon, 8 Apr 2013 07:49:33 +0000 Subject: [PATCH] s390.c (s390_expand_insv): Only accept insertions within mode size. 2013-04-08 Andreas Krebbel * config/s390/s390.c (s390_expand_insv): Only accept insertions within mode size. From-SVN: r197566 --- gcc/ChangeLog | 5 +++++ gcc/config/s390/s390.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d3f40dd1da3..bb7076c0dd3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-08 Andreas Krebbel + + * config/s390/s390.c (s390_expand_insv): Only accept insertions + within mode size. + 2013-04-08 Marek Polacek PR rtl-optimization/48182 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 663cc545b8c..15783632457 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 -- 2.30.2