From: Ulrich Weigand Date: Wed, 2 Apr 2014 18:53:06 +0000 (+0000) Subject: spu.md ("insv"): Fail if bitoffset+bitsize lies outside the target mode. X-Git-Tag: basepoints/gcc-5~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c65961930607ee226cfdf7a3700db5d34b138a0b;p=thirdparty%2Fgcc.git spu.md ("insv"): Fail if bitoffset+bitsize lies outside the target mode. * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize lies outside the target mode. From-SVN: r209028 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31ff90d0aaee..d6d4072cc41b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-04-02 Ulrich Weigand + + * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize + lies outside the target mode. + 2014-04-02 Michael Meissner PR target/60735 diff --git a/gcc/config/spu/spu.md b/gcc/config/spu/spu.md index 228b22859695..3ac4bfc0b7c9 100644 --- a/gcc/config/spu/spu.md +++ b/gcc/config/spu/spu.md @@ -2851,7 +2851,13 @@ (match_operand:SI 2 "const_int_operand" "")) (match_operand 3 "nonmemory_operand" ""))] "" - { spu_expand_insv(operands); DONE; }) + { + if (INTVAL (operands[1]) + INTVAL (operands[2]) + > GET_MODE_BITSIZE (GET_MODE (operands[0]))) + FAIL; + spu_expand_insv(operands); + DONE; + }) ;; Simplify a number of patterns that get generated by extv, extzv, ;; insv, and loads.