diff options
Diffstat (limited to 'gcc-4.9/gcc/config/spu/spu.md')
-rw-r--r-- | gcc-4.9/gcc/config/spu/spu.md | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/config/spu/spu.md b/gcc-4.9/gcc/config/spu/spu.md index 228b22859..3ac4bfc0b 100644 --- a/gcc-4.9/gcc/config/spu/spu.md +++ b/gcc-4.9/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. |