summaryrefslogtreecommitdiff
path: root/gcc/config/vax/vax.md
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-01 13:15:54 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-01 13:15:54 +0000
commit646daf21d2efcc7a99a3159465712ee5866ebccf (patch)
tree1db169110d3e70d0f1e53e4a31e1d4d06fe62497 /gcc/config/vax/vax.md
parentc9cba93a163086e138e6f46744a2f35cd9de47b5 (diff)
downloadgcc-646daf21d2efcc7a99a3159465712ee5866ebccf.tar.gz
(extv, extzv): Don't use immediate value for operand 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9280 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/vax/vax.md')
-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 d3368626ac5..6a5c389b4bc 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")))]
""