From fc0ea003f9b1975837f2742d68600c52934137bd Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 11 Oct 2004 20:54:07 +0000 Subject: [PATCH] s390.c (print_operand): Support 'S' format flag. * config/s390/s390.c (print_operand): Support 'S' format flag. * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag. ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise. ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise. ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise. ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise. ("*movstricthi"): Likewise. ("*load_multiple_di", "*load_multiple_si"): Likewise. ("*store_multiple_di", "*store_multiple_si"): Likewise. ("*sethiqisi", "*sethihisi"): Likewise. ("*sethiqidi_64", "*sethiqidi_31"): Likewise. ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise. ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise. ("*xorqi3", "*xc", "*xc_zero"): Likewise. ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise. ("*tmhi_full"): Fix incorrect op_type attribute. ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash. ("*subdi3_slb_cc", "*subdi3_slb"): Likewise. ("*addsi3_alc_cc", "*addsi3_alc"): Likewise. ("*subsi3_slb_cc", "*subsi3_slb"): Likewise. From-SVN: r88903 --- gcc/ChangeLog | 26 +++++++ gcc/config/s390/s390.c | 21 +++++ gcc/config/s390/s390.md | 169 ++++++++++++++++++++-------------------- 3 files changed, 132 insertions(+), 84 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5801fd542f9..5d8d74db8fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,29 @@ +2004-10-11 Ulrich Weigand + + * config/s390/s390.c (print_operand): Support 'S' format flag. + * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag. + ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise. + ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise. + ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise. + ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise + ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise. + ("*movstricthi"): Likewise. + ("*load_multiple_di", "*load_multiple_si"): Likewise. + ("*store_multiple_di", "*store_multiple_si"): Likewise. + ("*sethiqisi", "*sethihisi"): Likewise. + ("*sethiqidi_64", "*sethiqidi_31"): Likewise. + ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise. + ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise. + ("*xorqi3", "*xc", "*xc_zero"): Likewise. + ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise. + + ("*tmhi_full"): Fix incorrect op_type attribute. + + ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash. + ("*subdi3_slb_cc", "*subdi3_slb"): Likewise. + ("*addsi3_alc_cc", "*addsi3_alc"): Likewise. + ("*subsi3_slb_cc", "*subsi3_slb"): Likewise. + 2004-10-11 Andrew Pinski = 1 && INTVAL (operands[2]) <= 256" - "clc\t%O0(%2,%R0),%1" + "clc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -800,8 +801,8 @@ (match_operand:TI 1 "general_operand" "QS,d,dKm,d,Q"))] "TARGET_64BIT" "@ - lmg\t%0,%N0,%1 - stmg\t%1,%N1,%0 + lmg\t%0,%N0,%S1 + stmg\t%1,%N1,%S0 # # #" @@ -914,8 +915,8 @@ (match_operand:DI 1 "general_operand" "Q,d,dKm,d,*f,R,T,*f,*f,Q"))] "!TARGET_64BIT" "@ - lm\t%0,%N0,%1 - stm\t%1,%N1,%0 + lm\t%0,%N0,%S1 + stm\t%1,%N1,%S0 # # ldr\t%0,%1 @@ -1271,8 +1272,8 @@ icy\t%0,%1 stc\t%1,%0 stcy\t%1,%0 - mvi\t%0,%b1 - mviy\t%0,%b1 + mvi\t%S0,%b1 + mviy\t%S0,%b1 #" [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY,SS") (set_attr "type" "lr,*,*,*,store,store,store,store,cs")]) @@ -1310,8 +1311,8 @@ (clobber (reg:CC 33))] "" "@ - icm\t%0,3,%1 - icmy\t%0,3,%1" + icm\t%0,3,%S1 + icmy\t%0,3,%S1" [(set_attr "op_type" "RS,RSY")]) ; @@ -1366,8 +1367,8 @@ ldy\t%0,%1 std\t%1,%0 stdy\t%1,%0 - lm\t%0,%N0,%1 - stm\t%1,%N1,%0 + lm\t%0,%N0,%S1 + stm\t%1,%N1,%S0 # # #" @@ -1459,7 +1460,7 @@ (match_operand:BLK 1 "memory_operand" "Q")) (use (match_operand 2 "const_int_operand" "n"))] "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 256" - "mvc\t%O0(%2,%R0),%1" + "mvc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -1572,7 +1573,7 @@ { int words = XVECLEN (operands[0], 0); operands[0] = gen_rtx_REG (DImode, REGNO (operands[1]) + words - 1); - return "lmg\t%1,%0,%2"; + return "lmg\t%1,%0,%S2"; } [(set_attr "op_type" "RSY") (set_attr "type" "lm")]) @@ -1585,7 +1586,7 @@ { int words = XVECLEN (operands[0], 0); operands[0] = gen_rtx_REG (SImode, REGNO (operands[1]) + words - 1); - return which_alternative == 0 ? "lm\t%1,%0,%2" : "lmy\t%1,%0,%2"; + return which_alternative == 0 ? "lm\t%1,%0,%S2" : "lmy\t%1,%0,%S2"; } [(set_attr "op_type" "RS,RSY") (set_attr "type" "lm")]) @@ -1663,7 +1664,7 @@ { int words = XVECLEN (operands[0], 0); operands[0] = gen_rtx_REG (DImode, REGNO (operands[2]) + words - 1); - return "stmg\t%2,%0,%1"; + return "stmg\t%2,%0,%S1"; } [(set_attr "op_type" "RSY") (set_attr "type" "stm")]) @@ -1677,7 +1678,7 @@ { int words = XVECLEN (operands[0], 0); operands[0] = gen_rtx_REG (SImode, REGNO (operands[2]) + words - 1); - return which_alternative == 0 ? "stm\t%2,%0,%1" : "stmy\t%2,%0,%1"; + return which_alternative == 0 ? "stm\t%2,%0,%S1" : "stmy\t%2,%0,%S1"; } [(set_attr "op_type" "RS,RSY") (set_attr "type" "stm")]) @@ -2262,8 +2263,8 @@ (clobber (reg:CC 33))] "" "@ - icm\t%0,8,%1 - icmy\t%0,8,%1" + icm\t%0,8,%S1 + icmy\t%0,8,%S1" [(set_attr "op_type" "RS,RSY")]) (define_insn "*sethighhisi" @@ -2272,8 +2273,8 @@ (clobber (reg:CC 33))] "" "@ - icm\t%0,12,%1 - icmy\t%0,12,%1" + icm\t%0,12,%S1 + icmy\t%0,12,%S1" [(set_attr "op_type" "RS,RSY")]) (define_insn "*sethighqidi_64" @@ -2281,7 +2282,7 @@ (unspec:DI [(match_operand:QI 1 "s_operand" "QS")] UNSPEC_SETHIGH)) (clobber (reg:CC 33))] "TARGET_64BIT" - "icmh\t%0,8,%1" + "icmh\t%0,8,%S1" [(set_attr "op_type" "RSY")]) (define_insn "*sethighqidi_31" @@ -2290,8 +2291,8 @@ (clobber (reg:CC 33))] "!TARGET_64BIT" "@ - icm\t%0,8,%1 - icmy\t%0,8,%1" + icm\t%0,8,%S1 + icmy\t%0,8,%S1" [(set_attr "op_type" "RS,RSY")]) (define_insn_and_split "*extractqi" @@ -4230,8 +4231,8 @@ (plus:DI (plus:DI (match_dup 1) (match_dup 2)) (match_dup 3)))] "s390_match_ccmode (insn, CCLmode) && TARGET_64BIT" "@ - alcgr\\t%0,%2 - alcg\\t%0,%2" + alcgr\t%0,%2 + alcg\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*adddi3_alc" @@ -4242,8 +4243,8 @@ (clobber (reg:CC 33))] "TARGET_64BIT" "@ - alcgr\\t%0,%2 - alcg\\t%0,%2" + alcgr\t%0,%2 + alcg\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*subdi3_slb_cc" @@ -4257,8 +4258,8 @@ (minus:DI (minus:DI (match_dup 1) (match_dup 2)) (match_dup 3)))] "s390_match_ccmode (insn, CCLmode) && TARGET_64BIT" "@ - slbgr\\t%0,%2 - slbg\\t%0,%2" + slbgr\t%0,%2 + slbg\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*subdi3_slb" @@ -4269,8 +4270,8 @@ (clobber (reg:CC 33))] "TARGET_64BIT" "@ - slbgr\\t%0,%2 - slbg\\t%0,%2" + slbgr\t%0,%2 + slbg\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_expand "adddicc" @@ -4299,8 +4300,8 @@ (plus:SI (plus:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "s390_match_ccmode (insn, CCLmode) && TARGET_CPU_ZARCH" "@ - alcr\\t%0,%2 - alc\\t%0,%2" + alcr\t%0,%2 + alc\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*addsi3_alc" @@ -4311,8 +4312,8 @@ (clobber (reg:CC 33))] "TARGET_CPU_ZARCH" "@ - alcr\\t%0,%2 - alc\\t%0,%2" + alcr\t%0,%2 + alc\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*subsi3_slb_cc" @@ -4326,8 +4327,8 @@ (minus:SI (minus:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "s390_match_ccmode (insn, CCLmode) && TARGET_CPU_ZARCH" "@ - slbr\\t%0,%2 - slb\\t%0,%2" + slbr\t%0,%2 + slb\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*subsi3_slb" @@ -4338,8 +4339,8 @@ (clobber (reg:CC 33))] "TARGET_CPU_ZARCH" "@ - slbr\\t%0,%2 - slb\\t%0,%2" + slbr\t%0,%2 + slb\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_expand "addsicc" @@ -5374,8 +5375,8 @@ "@ nr\t%0,%2 nill\t%0,%b2 - ni\t%0,%b2 - niy\t%0,%b2 + ni\t%S0,%b2 + niy\t%S0,%b2 #" [(set_attr "op_type" "RR,RI,SI,SIY,SS")]) @@ -5387,7 +5388,7 @@ "!TARGET_ZARCH && s390_logical_operator_ok_p (operands)" "@ nr\t%0,%2 - ni\t%0,%b2 + ni\t%S0,%b2 #" [(set_attr "op_type" "RR,SI,SS")]) @@ -5410,7 +5411,7 @@ (use (match_operand 2 "const_int_operand" "n")) (clobber (reg:CC 33))] "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 256" - "nc\t%O0(%2,%R0),%1" + "nc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -5664,8 +5665,8 @@ "@ or\t%0,%2 oill\t%0,%b2 - oi\t%0,%b2 - oiy\t%0,%b2 + oi\t%S0,%b2 + oiy\t%S0,%b2 #" [(set_attr "op_type" "RR,RI,SI,SIY,SS")]) @@ -5677,7 +5678,7 @@ "!TARGET_ZARCH && s390_logical_operator_ok_p (operands)" "@ or\t%0,%2 - oi\t%0,%b2 + oi\t%S0,%b2 #" [(set_attr "op_type" "RR,SI,SS")]) @@ -5700,7 +5701,7 @@ (use (match_operand 2 "const_int_operand" "n")) (clobber (reg:CC 33))] "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 256" - "oc\t%O0(%2,%R0),%1" + "oc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -5920,8 +5921,8 @@ "s390_logical_operator_ok_p (operands)" "@ xr\t%0,%2 - xi\t%0,%b2 - xiy\t%0,%b2 + xi\t%S0,%b2 + xiy\t%S0,%b2 #" [(set_attr "op_type" "RR,SI,SIY,SS")]) @@ -5944,7 +5945,7 @@ (use (match_operand 2 "const_int_operand" "n")) (clobber (reg:CC 33))] "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 256" - "xc\t%O0(%2,%R0),%1" + "xc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -6000,7 +6001,7 @@ (use (match_operand 1 "const_int_operand" "n")) (clobber (reg:CC 33))] "INTVAL (operands[1]) >= 1 && INTVAL (operands[1]) <= 256" - "xc\t%O0(%1,%R0),%0" + "xc\t%O0(%1,%R0),%S0" [(set_attr "op_type" "SS") (set_attr "type" "cs")]) @@ -7423,7 +7424,7 @@ "TARGET_64BIT" "@ ear\t%0,%%a0\;sllg\t%0,%0,32\;ear\t%0,%%a1 - stam\t%%a0,%%a1,%0" + stam\t%%a0,%%a1,%S0" [(set_attr "op_type" "NN,RS") (set_attr "atype" "reg,*") (set_attr "type" "o3,*") @@ -7435,7 +7436,7 @@ "!TARGET_64BIT" "@ ear\t%0,%%a0 - stam\t%%a0,%%a0,%0" + stam\t%%a0,%%a0,%S0" [(set_attr "op_type" "RRE,RS")]) (define_insn "set_tp_64" @@ -7444,7 +7445,7 @@ "TARGET_64BIT" "@ sar\t%%a1,%0\;srlg\t%1,%0,32\;sar\t%%a0,%1 - lam\t%%a0,%%a1,%0" + lam\t%%a0,%%a1,%S0" [(set_attr "op_type" "NN,RS") (set_attr "atype" "reg,*") (set_attr "type" "o3,*") @@ -7455,7 +7456,7 @@ "!TARGET_64BIT" "@ sar\t%%a0,%0 - lam\t%%a0,%%a0,%0" + lam\t%%a0,%%a0,%S0" [(set_attr "op_type" "RRE,RS")]) (define_insn "*tls_load_64" -- 2.30.2