aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.7/gcc/config/i386/constraints.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.7/gcc/config/i386/constraints.md')
-rw-r--r--gcc-4.7/gcc/config/i386/constraints.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc-4.7/gcc/config/i386/constraints.md b/gcc-4.7/gcc/config/i386/constraints.md
index 5a19307a0..f4a19b1af 100644
--- a/gcc-4.7/gcc/config/i386/constraints.md
+++ b/gcc-4.7/gcc/config/i386/constraints.md
@@ -18,7 +18,7 @@
;; <http://www.gnu.org/licenses/>.
;;; Unused letters:
-;;; B H T W
+;;; B H T
;;; h jk v
;; Integer register constraints.
@@ -188,6 +188,16 @@
instructions)."
(match_operand 0 "x86_64_immediate_operand"))
+;; We use W prefix to denote any number of
+;; constant-or-symbol-reference constraints
+
+(define_constraint "Wz"
+ "32-bit unsigned integer constant, or a symbolic reference known
+ to fit that range (for zero-extending conversion operations that
+ require non-VOIDmode immediate operands)."
+ (and (match_operand 0 "x86_64_zext_immediate_operand")
+ (match_test "GET_MODE (op) != VOIDmode")))
+
(define_constraint "Z"
"32-bit unsigned integer constant, or a symbolic reference known
to fit that range (for immediate operands in zero-extending x86-64