From: Richard Henderson Date: Thu, 20 Dec 2012 18:04:49 +0000 (-0800) Subject: s390: Only use lhs zero_extract in word_mode X-Git-Tag: releases/gcc-4.8.0~1290 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d378b98328cd8a2204ac59ec22a33f0b04f72011;p=thirdparty%2Fgcc.git 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 From-SVN: r194641 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e4aeb8996fd9..e0fa7284e4aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,8 @@ (*insv_z10_noshift): Likewise. (*insv_or_z10_noshift): Likewise. + * config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P. + 2012-12-20 Thomas Schwinge PR bootstrap/55202 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index ee030ba43a4f..48133ea6985f 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -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_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")])