From 047d35ed58e1d41b2b2f9850fbcc16601fd2e50e Mon Sep 17 00:00:00 2001 From: Adrian Straetling Date: Tue, 10 May 2005 19:22:05 +0000 Subject: [PATCH] s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge. 2005-05-10 Adrian Straetling * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge. ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge. ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge. From-SVN: r99537 --- gcc/ChangeLog | 6 +++ gcc/config/s390/s390.md | 119 ++++++++++-------------------------------------- 2 files changed, 30 insertions(+), 95 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6825db..981eda9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-05-10 Adrian Straetling + + * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge. + ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge. + ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge. + 2005-05-10 Jeff Law * tree-ssa-dom.c (dom_opt_finalize_block): Do not call diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 7c6e821..a74bd63 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -4572,6 +4572,14 @@ ;;- And instructions. ;; +(define_expand "and3" + [(set (match_operand:INT 0 "nonimmediate_operand" "") + (and:INT (match_operand:INT 1 "nonimmediate_operand" "") + (match_operand:INT 2 "general_operand" ""))) + (clobber (reg:CC CC_REGNUM))] + "" + "s390_expand_logical_operator (AND, mode, operands); DONE;") + ; ; anddi3 instruction pattern(s). ; @@ -4634,13 +4642,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (AND, &operands[0], &operands[1]);") -(define_expand "anddi3" - [(set (match_operand:DI 0 "nonimmediate_operand" "") - (and:DI (match_operand:DI 1 "nonimmediate_operand" "") - (match_operand:DI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "TARGET_64BIT" - "s390_expand_logical_operator (AND, DImode, operands); DONE;") ; ; andsi3 instruction pattern(s). @@ -4718,14 +4719,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (AND, &operands[0], &operands[1]);") -(define_expand "andsi3" - [(set (match_operand:SI 0 "nonimmediate_operand" "") - (and:SI (match_operand:SI 1 "nonimmediate_operand" "") - (match_operand:SI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (AND, SImode, operands); DONE;") - ; ; andhi3 instruction pattern(s). ; @@ -4765,14 +4758,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (AND, &operands[0], &operands[1]);") -(define_expand "andhi3" - [(set (match_operand:HI 0 "nonimmediate_operand" "") - (and:HI (match_operand:HI 1 "nonimmediate_operand" "") - (match_operand:HI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (AND, HImode, operands); DONE;") - ; ; andqi3 instruction pattern(s). ; @@ -4803,14 +4788,6 @@ #" [(set_attr "op_type" "RR,SI,SS")]) -(define_expand "andqi3" - [(set (match_operand:QI 0 "nonimmediate_operand" "") - (and:QI (match_operand:QI 1 "nonimmediate_operand" "") - (match_operand:QI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (AND, QImode, operands); DONE;") - ; ; Block and (NC) patterns. ; @@ -4872,6 +4849,14 @@ ;;- Bit set (inclusive or) instructions. ;; +(define_expand "ior3" + [(set (match_operand:INT 0 "nonimmediate_operand" "") + (ior:INT (match_operand:INT 1 "nonimmediate_operand" "") + (match_operand:INT 2 "general_operand" ""))) + (clobber (reg:CC CC_REGNUM))] + "" + "s390_expand_logical_operator (IOR, mode, operands); DONE;") + ; ; iordi3 instruction pattern(s). ; @@ -4929,14 +4914,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (IOR, &operands[0], &operands[1]);") -(define_expand "iordi3" - [(set (match_operand:DI 0 "nonimmediate_operand" "") - (ior:DI (match_operand:DI 1 "nonimmediate_operand" "") - (match_operand:DI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "TARGET_64BIT" - "s390_expand_logical_operator (IOR, DImode, operands); DONE;") - ; ; iorsi3 instruction pattern(s). ; @@ -5007,14 +4984,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (IOR, &operands[0], &operands[1]);") -(define_expand "iorsi3" - [(set (match_operand:SI 0 "nonimmediate_operand" "") - (ior:SI (match_operand:SI 1 "nonimmediate_operand" "") - (match_operand:SI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (IOR, SImode, operands); DONE;") - ; ; iorhi3 instruction pattern(s). ; @@ -5054,14 +5023,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (IOR, &operands[0], &operands[1]);") -(define_expand "iorhi3" - [(set (match_operand:HI 0 "nonimmediate_operand" "") - (ior:HI (match_operand:HI 1 "nonimmediate_operand" "") - (match_operand:HI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (IOR, HImode, operands); DONE;") - ; ; iorqi3 instruction pattern(s). ; @@ -5092,14 +5053,6 @@ #" [(set_attr "op_type" "RR,SI,SS")]) -(define_expand "iorqi3" - [(set (match_operand:QI 0 "nonimmediate_operand" "") - (ior:QI (match_operand:QI 1 "nonimmediate_operand" "") - (match_operand:QI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (IOR, QImode, operands); DONE;") - ; ; Block inclusive or (OC) patterns. ; @@ -5161,6 +5114,14 @@ ;;- Xor instructions. ;; +(define_expand "xor3" + [(set (match_operand:INT 0 "nonimmediate_operand" "") + (xor:INT (match_operand:INT 1 "nonimmediate_operand" "") + (match_operand:INT 2 "general_operand" ""))) + (clobber (reg:CC CC_REGNUM))] + "" + "s390_expand_logical_operator (XOR, mode, operands); DONE;") + ; ; xordi3 instruction pattern(s). ; @@ -5213,14 +5174,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (XOR, &operands[0], &operands[1]);") -(define_expand "xordi3" - [(set (match_operand:DI 0 "nonimmediate_operand" "") - (xor:DI (match_operand:DI 1 "nonimmediate_operand" "") - (match_operand:DI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "TARGET_64BIT" - "s390_expand_logical_operator (XOR, DImode, operands); DONE;") - ; ; xorsi3 instruction pattern(s). ; @@ -5276,14 +5229,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (XOR, &operands[0], &operands[1]);") -(define_expand "xorsi3" - [(set (match_operand:SI 0 "nonimmediate_operand" "") - (xor:SI (match_operand:SI 1 "nonimmediate_operand" "") - (match_operand:SI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (XOR, SImode, operands); DONE;") - ; ; xorhi3 instruction pattern(s). ; @@ -5310,14 +5255,6 @@ (clobber (reg:CC CC_REGNUM))])] "s390_narrow_logical_operator (XOR, &operands[0], &operands[1]);") -(define_expand "xorhi3" - [(set (match_operand:HI 0 "nonimmediate_operand" "") - (xor:HI (match_operand:HI 1 "nonimmediate_operand" "") - (match_operand:HI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (XOR, HImode, operands); DONE;") - ; ; xorqi3 instruction pattern(s). ; @@ -5335,14 +5272,6 @@ #" [(set_attr "op_type" "RR,SI,SIY,SS")]) -(define_expand "xorqi3" - [(set (match_operand:QI 0 "nonimmediate_operand" "") - (xor:QI (match_operand:QI 1 "nonimmediate_operand" "") - (match_operand:QI 2 "general_operand" ""))) - (clobber (reg:CC CC_REGNUM))] - "" - "s390_expand_logical_operator (XOR, QImode, operands); DONE;") - ; ; Block exclusive or (XC) patterns. ; -- 2.7.4