Deleted Added
full compact
s390.md (169690) s390.md (220150)
1;;- Machine description for GNU compiler -- S/390 / zSeries version.
2;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation, Inc.
4;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
5;; Ulrich Weigand (uweigand@de.ibm.com).
6
7;; This file is part of GCC.
8

--- 1486 unchanged lines hidden (view full) ---

1495(define_split
1496 [(set (match_operand:TF 0 "register_operand" "")
1497 (match_operand:TF 1 "memory_operand" ""))]
1498 "TARGET_64BIT && reload_completed
1499 && !FP_REG_P (operands[0])
1500 && !s_operand (operands[1], VOIDmode)"
1501 [(set (match_dup 0) (match_dup 1))]
1502{
1;;- Machine description for GNU compiler -- S/390 / zSeries version.
2;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation, Inc.
4;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
5;; Ulrich Weigand (uweigand@de.ibm.com).
6
7;; This file is part of GCC.
8

--- 1486 unchanged lines hidden (view full) ---

1495(define_split
1496 [(set (match_operand:TF 0 "register_operand" "")
1497 (match_operand:TF 1 "memory_operand" ""))]
1498 "TARGET_64BIT && reload_completed
1499 && !FP_REG_P (operands[0])
1500 && !s_operand (operands[1], VOIDmode)"
1501 [(set (match_dup 0) (match_dup 1))]
1502{
1503 rtx addr = operand_subword (operands[0], 1, 0, DFmode);
1503 rtx addr = operand_subword (operands[0], 1, 0, TFmode);
1504 s390_load_address (addr, XEXP (operands[1], 0));
1505 operands[1] = replace_equiv_address (operands[1], addr);
1506})
1507
1508; TFmode in FPRs splitters
1509
1510(define_split
1511 [(set (match_operand:TF 0 "register_operand" "")

--- 4107 unchanged lines hidden (view full) ---

5619 [(set (reg CC_REGNUM)
5620 (compare (xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
5621 (match_operand:DI 2 "general_operand" "d,m"))
5622 (const_int 0)))
5623 (clobber (match_scratch:DI 0 "=d,d"))]
5624 "s390_match_ccmode(insn, CCTmode) && TARGET_64BIT"
5625 "@
5626 xgr\t%0,%2
1504 s390_load_address (addr, XEXP (operands[1], 0));
1505 operands[1] = replace_equiv_address (operands[1], addr);
1506})
1507
1508; TFmode in FPRs splitters
1509
1510(define_split
1511 [(set (match_operand:TF 0 "register_operand" "")

--- 4107 unchanged lines hidden (view full) ---

5619 [(set (reg CC_REGNUM)
5620 (compare (xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
5621 (match_operand:DI 2 "general_operand" "d,m"))
5622 (const_int 0)))
5623 (clobber (match_scratch:DI 0 "=d,d"))]
5624 "s390_match_ccmode(insn, CCTmode) && TARGET_64BIT"
5625 "@
5626 xgr\t%0,%2
5627 xr\t%0,%2"
5627 xg\t%0,%2"
5628 [(set_attr "op_type" "RRE,RXY")])
5629
5630(define_insn "*xordi3_extimm"
5631 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,AQ,Q")
5632 (xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0")
5633 (match_operand:DI 2 "general_operand" "N0SD0,N1SD0,d,m,NxQD0,Q")))
5634 (clobber (reg:CC CC_REGNUM))]
5635 "TARGET_64BIT && TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"

--- 2222 unchanged lines hidden ---
5628 [(set_attr "op_type" "RRE,RXY")])
5629
5630(define_insn "*xordi3_extimm"
5631 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,AQ,Q")
5632 (xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0")
5633 (match_operand:DI 2 "general_operand" "N0SD0,N1SD0,d,m,NxQD0,Q")))
5634 (clobber (reg:CC CC_REGNUM))]
5635 "TARGET_64BIT && TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"

--- 2222 unchanged lines hidden ---