diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-01 08:15:54 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-01 08:15:54 -0500 |
commit | d0d99d5f3e9c88f4e692cd013317b01674398cc0 (patch) | |
tree | 1db169110d3e70d0f1e53e4a31e1d4d06fe62497 | |
parent | cc1f5387e3f7f2f5a8a164fa63df1afa6e7394b7 (diff) | |
download | gcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.zip gcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.tar.gz gcc-d0d99d5f3e9c88f4e692cd013317b01674398cc0.tar.bz2 |
(extv, extzv): Don't use immediate value for operand 1.
From-SVN: r9280
-rw-r--r-- | gcc/config/vax/vax.md | 9 |
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")))] "" |