s390: Only use lhs zero_extract in word_mode

* config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.

Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>

From-SVN: r194641
This commit is contained in:
Richard Henderson 2012-12-20 10:04:49 -08:00 committed by Richard Henderson
parent 75ca1b39e5
commit d378b98328
2 changed files with 10 additions and 9 deletions

View file

@ -10,6 +10,8 @@
(*insv<GPR>_z10_noshift): Likewise.
(*insv<GPR>_or_z10_noshift): Likewise.
* config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.
2012-12-20 Thomas Schwinge <thomas@codesourcery.com>
PR bootstrap/55202

View file

@ -3524,15 +3524,14 @@
[(set_attr "op_type" "RIL")
(set_attr "z10prop" "z10_fwd_E1")])
; Update the right-most 32 bit of a DI, or the whole of a SI.
(define_insn "*insv_l<mode>_reg_extimm"
[(set (zero_extract:P (match_operand:P 0 "register_operand" "+d")
(const_int 32)
(match_operand 1 "const_int_operand" "n"))
(match_operand:P 2 "const_int_operand" "n"))]
"TARGET_EXTIMM
&& BITS_PER_WORD - INTVAL (operands[1]) == 32"
"iilf\t%0,%o2"
; Update the right-most 32 bit of a DI.
(define_insn "*insv_l_di_reg_extimm"
[(set (zero_extract:DI (match_operand:DI 0 "register_operand" "+d")
(const_int 32)
(const_int 32))
(match_operand:DI 1 "const_int_operand" "n"))]
"TARGET_EXTIMM"
"iilf\t%0,%o1"
[(set_attr "op_type" "RIL")
(set_attr "z10prop" "z10_fwd_A1")])