aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-01 08:15:54 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-01 08:15:54 -0500
commitd0d99d5f3e9c88f4e692cd013317b01674398cc0 (patch)
tree1db169110d3e70d0f1e53e4a31e1d4d06fe62497 /gcc
parentcc1f5387e3f7f2f5a8a164fa63df1afa6e7394b7 (diff)
downloadgcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.zip
gcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.tar.gz
gcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.tar.bz2
(extv, extzv): Don't use immediate value for operand 1.
From-SVN: r9280
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/vax/vax.md9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index d336862..6a5c389 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1,5 +1,5 @@
;;- Machine description for GNU compiler, Vax Version
-;; Copyright (C) 1987, 1988, 1991, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1988, 1991, 1994, 1995 Free Software Foundation, Inc.
;; This file is part of GNU CC.
@@ -1419,11 +1419,12 @@
;; When the field position and size are constant and the destination
;; is a register, extv and extzv are much slower than a rotate followed
-;; by a bicl or sign extension.
+;; by a bicl or sign extension. Becase we might end up choosing ext[z]v
+;; anyway, we can't allow immediate values for the primary source operand.
(define_insn ""
[(set (match_operand:SI 0 "general_operand" "=g")
- (sign_extract:SI (match_operand:SI 1 "nonmemory_operand" "r")
+ (sign_extract:SI (match_operand:SI 1 "nonimmediate_operand" "ro")
(match_operand:QI 2 "general_operand" "g")
(match_operand:SI 3 "general_operand" "g")))]
""
@@ -1440,7 +1441,7 @@
(define_insn ""
[(set (match_operand:SI 0 "general_operand" "=g")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "ri")
+ (zero_extract:SI (match_operand:SI 1 "nonimmediate_operand" "ro")
(match_operand:QI 2 "general_operand" "g")
(match_operand:SI 3 "general_operand" "g")))]
""