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 --- |