aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/config/spu/spu.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/config/spu/spu.md')
-rw-r--r--gcc-4.9/gcc/config/spu/spu.md8
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.