18 lines
596 B
Diff
18 lines
596 B
Diff
|
2016-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
|
||
|
PR target/70404
|
||
|
* config/s390/s390.c (s390_expand_insv): Force src to REG
|
||
|
if not nonimmediate_operand.
|
||
|
|
||
|
--- gcc/config/s390/s390.c.jj 2016-03-11 17:37:38.000000000 +0100
|
||
|
+++ gcc/config/s390/s390.c 2016-03-31 10:32:26.424442770 +0200
|
||
|
@@ -6083,6 +6083,8 @@ s390_expand_insv (rtx dest, rtx op1, rtx
|
||
|
src = force_reg (mode_s, src);
|
||
|
src = gen_lowpart (mode, src);
|
||
|
}
|
||
|
+ else if (!nonimmediate_operand (src, mode))
|
||
|
+ src = force_reg (mode, src);
|
||
|
|
||
|
op = gen_rtx_ZERO_EXTRACT (mode, dest, op1, op2),
|
||
|
op = gen_rtx_SET (op, src);
|