This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
S/390: Mark iorsi3/iordi3 patterns as commutative
- From: Ulrich Weigand <uweigand at de dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 23 Nov 2004 20:37:10 +0100 (CET)
- Subject: S/390: Mark iorsi3/iordi3 patterns as commutative
Hello,
this fixes a minor oversight: the iordi3 and iorsi3 pattern
were not marked as commutative.
Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux,
committed to mainline.
Bye,
Ulrich
ChangeLog:
* config/s390/s390.md ("*iordi3"): Mark commutative.
("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
Index: gcc/config/s390/s390.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.md,v
retrieving revision 1.147
diff -c -p -r1.147 s390.md
*** gcc/config/s390/s390.md 23 Nov 2004 17:39:58 -0000 1.147
--- gcc/config/s390/s390.md 23 Nov 2004 17:44:11 -0000
***************
*** 5554,5560 ****
(define_insn "*iordi3"
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,AQ,Q")
! (ior:DI (match_operand:DI 1 "nonimmediate_operand" "0,0,0,0,0,0,0,0")
(match_operand:DI 2 "general_operand"
"N0HD0,N1HD0,N2HD0,N3HD0,d,m,NxQD0,Q")))
(clobber (reg:CC 33))]
--- 5554,5560 ----
(define_insn "*iordi3"
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,AQ,Q")
! (ior:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0,0")
(match_operand:DI 2 "general_operand"
"N0HD0,N1HD0,N2HD0,N3HD0,d,m,NxQD0,Q")))
(clobber (reg:CC 33))]
***************
*** 5621,5627 ****
(define_insn "*iorsi3_zarch"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,AQ,Q")
! (ior:SI (match_operand:SI 1 "nonimmediate_operand" "0,0,0,0,0,0,0")
(match_operand:SI 2 "general_operand" "N0HS0,N1HS0,d,R,T,NxQS0,Q")))
(clobber (reg:CC 33))]
"TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
--- 5621,5627 ----
(define_insn "*iorsi3_zarch"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,AQ,Q")
! (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0")
(match_operand:SI 2 "general_operand" "N0HS0,N1HS0,d,R,T,NxQS0,Q")))
(clobber (reg:CC 33))]
"TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
***************
*** 5637,5643 ****
(define_insn "*iorsi3_esa"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,AQ,Q")
! (ior:SI (match_operand:SI 1 "nonimmediate_operand" "0,0,0,0")
(match_operand:SI 2 "general_operand" "d,R,NxQS0,Q")))
(clobber (reg:CC 33))]
"!TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
--- 5637,5643 ----
(define_insn "*iorsi3_esa"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,AQ,Q")
! (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
(match_operand:SI 2 "general_operand" "d,R,NxQS0,Q")))
(clobber (reg:CC 33))]
"!TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
--
Dr. Ulrich Weigand
Linux on zSeries Development
Ulrich.Weigand@de.ibm.com