aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1992-07-12 02:00:57 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1992-07-12 02:00:57 +0000
commite2f2127c322fb176748f82991290c474b315d0c6 (patch)
treee0f56498aea6111db691e986cff591f632ae638d /gcc
parentd0ff7286ba9825c4d02c2bc8ba09be59201d2cbc (diff)
downloadgcc-e2f2127c322fb176748f82991290c474b315d0c6.zip
gcc-e2f2127c322fb176748f82991290c474b315d0c6.tar.gz
gcc-e2f2127c322fb176748f82991290c474b315d0c6.tar.bz2
Make andsi/iorsi/xorsi match actual machine
From-SVN: r1564
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mips/mips.md19
1 files changed, 6 insertions, 13 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 3e6b519..65c9764 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -1148,17 +1148,10 @@ move\\t%0,%z4\\n\\
;; ....................
;;
-;; Be more liberal in allowing logical operations than the machine
-;; actually supports, until the reload phase forces the large integers
-;; into registers. This causes better code to be generated for
-;; bitfields, since the optimizer can fold things together, at the
-;; expense of not CSE'ing or moving the constant out of loops, and
-;; having reload load the constant into a scratch register.
-
(define_insn "andsi3"
[(set (match_operand:SI 0 "register_operand" "=d,d")
- (and:SI (match_operand:SI 1 "arith32_operand" "%d,d")
- (match_operand:SI 2 "arith32_operand" "d,K")))]
+ (and:SI (match_operand:SI 1 "uns_arith_operand" "%d,d")
+ (match_operand:SI 2 "uns_arith_operand" "d,K")))]
""
"@
and\\t%0,%1,%2
@@ -1192,8 +1185,8 @@ move\\t%0,%z4\\n\\
(define_insn "iorsi3"
[(set (match_operand:SI 0 "register_operand" "=d,d")
- (ior:SI (match_operand:SI 1 "arith32_operand" "%d,d")
- (match_operand:SI 2 "arith32_operand" "d,K")))]
+ (ior:SI (match_operand:SI 1 "uns_arith_operand" "%d,d")
+ (match_operand:SI 2 "uns_arith_operand" "d,K")))]
""
"@
or\\t%0,%1,%2
@@ -1227,8 +1220,8 @@ move\\t%0,%z4\\n\\
(define_insn "xorsi3"
[(set (match_operand:SI 0 "register_operand" "=d,d")
- (xor:SI (match_operand:SI 1 "arith32_operand" "%d,d")
- (match_operand:SI 2 "arith32_operand" "d,K")))]
+ (xor:SI (match_operand:SI 1 "uns_arith_operand" "%d,d")
+ (match_operand:SI 2 "uns_arith_operand" "d,K")))]
""
"@
xor\\t%0,%1,%2