aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2014-06-01 22:53:18 +0200
committerUros Bizjak <uros@gcc.gnu.org>2014-06-01 22:53:18 +0200
commit1828d3e679f8d0ea20f6d957fd0bd469436e6326 (patch)
treea054b0fcc8cb877b6dd645c542e69dc34d209c65 /gcc
parent7fd009d0a73e43a079fd6582f40af445045b0017 (diff)
downloadgcc-1828d3e679f8d0ea20f6d957fd0bd469436e6326.zip
gcc-1828d3e679f8d0ea20f6d957fd0bd469436e6326.tar.gz
gcc-1828d3e679f8d0ea20f6d957fd0bd469436e6326.tar.bz2
constraints.md (Bw): Rename from 'w'.
* config/i386/constraints.md (Bw): Rename from 'w'. (Bz): Rename from 'z'. * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally. From-SVN: r211119
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/i386/constraints.md24
-rw-r--r--gcc/config/i386/i386.md34
3 files changed, 39 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 29ce4be..120ada9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,15 @@
+2014-06-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (Bw): Rename from 'w'.
+ (Bz): Rename from 'z'.
+ * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
+
2014-06-01 Kai Tietz <ktietz@redhat.com>
PR target/61377
- * constrains.md (define_constrain): New 'Bs' constraint.
- * i386.md (sibcall_insn_operand): Use Bs instead of m constraint.
+ * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
+ * config/i386/i386.md (sibcall_insn_operand): Use Bs
+ instead of m constraint.
2014-05-31 Andreas Schwab <schwab@linux-m68k.org>
diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
index b142c19..8e0a583 100644
--- a/gcc/config/i386/constraints.md
+++ b/gcc/config/i386/constraints.md
@@ -19,7 +19,7 @@
;;; Unused letters:
;;; H
-;;; h j
+;;; h j w z
;; Integer register constraints.
;; It is not necessary to define 'r' here.
@@ -91,6 +91,9 @@
(define_register_constraint "x" "TARGET_SSE ? SSE_REGS : NO_REGS"
"Any SSE register.")
+(define_register_constraint "v" "TARGET_SSE ? ALL_SSE_REGS : NO_REGS"
+ "Any EVEX encodable SSE register (@code{%xmm0-%xmm31}).")
+
;; We use the Y prefix to denote any number of conditional register sets:
;; z First SSE register.
;; i SSE2 inter-unit moves to SSE register enabled
@@ -144,26 +147,25 @@
"(ix86_fpmath & FPMATH_387) ? FLOAT_REGS : NO_REGS"
"@internal Any x87 register when 80387 FP arithmetic is enabled.")
-;; We use the B prefix to denote any number of internal memory operands:
-;; s Sibling memory operand.
+;; We use the B prefix to denote any number of internal operands:
+;; s Sibcall memory operand, not valid for TARGET_X32
+;; w Call memory operand, not valid for TARGET_X32
+;; z Constant call address operand.
(define_constraint "Bs"
"@internal Sibcall memory operand."
(and (not (match_test "TARGET_X32"))
(match_operand 0 "sibcall_memory_operand")))
-(define_register_constraint "v" "TARGET_SSE ? ALL_SSE_REGS : NO_REGS"
- "Any EVEX encodable SSE register (@code{%xmm0-%xmm31}).")
-
-(define_constraint "z"
- "@internal Constant call address operand."
- (match_operand 0 "constant_call_address_operand"))
-
-(define_constraint "w"
+(define_constraint "Bw"
"@internal Call memory operand."
(and (not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand")))
+(define_constraint "Bz"
+ "@internal Constant call address operand."
+ (match_operand 0 "constant_call_address_operand"))
+
;; Integer constant constraints.
(define_constraint "I"
"Integer constant in the range 0 @dots{} 31, for 32-bit shifts."
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 6fc69ff..f7716a8 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11182,7 +11182,7 @@
})
(define_insn "*indirect_jump"
- [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rw"))]
+ [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))]
""
"jmp\t%A0"
[(set_attr "type" "ibr")
@@ -11230,7 +11230,7 @@
})
(define_insn "*tablejump_1"
- [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rw"))
+ [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))
(use (label_ref (match_operand 1)))]
""
"jmp\t%A0"
@@ -11360,7 +11360,7 @@
})
(define_insn "*call"
- [(call (mem:QI (match_operand:W 0 "call_insn_operand" "<c>zw"))
+ [(call (mem:QI (match_operand:W 0 "call_insn_operand" "<c>BwBz"))
(match_operand 1))]
"!SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[0]);"
@@ -11368,7 +11368,7 @@
(define_insn "*call_rex64_ms_sysv"
[(match_parallel 2 "call_rex64_ms_sysv_operation"
- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzw"))
+ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rBwBz"))
(match_operand 1))
(unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
"TARGET_64BIT && !SIBLING_CALL_P (insn)"
@@ -11376,7 +11376,7 @@
[(set_attr "type" "call")])
(define_insn "*sibcall"
- [(call (mem:QI (match_operand:W 0 "sibcall_insn_operand" "UzBs"))
+ [(call (mem:QI (match_operand:W 0 "sibcall_insn_operand" "UBsBz"))
(match_operand 1))]
"SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[0]);"
@@ -11396,7 +11396,7 @@
})
(define_insn "*call_pop"
- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm"))
+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lmBz"))
(match_operand 1))
(set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG)
@@ -11406,7 +11406,7 @@
[(set_attr "type" "call")])
(define_insn "*sibcall_pop"
- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "UzBs"))
+ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "UBsBz"))
(match_operand 1))
(set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG)
@@ -11443,7 +11443,7 @@
(define_insn "*call_value"
[(set (match_operand 0)
- (call (mem:QI (match_operand:W 1 "call_insn_operand" "<c>zw"))
+ (call (mem:QI (match_operand:W 1 "call_insn_operand" "<c>BwBz"))
(match_operand 2)))]
"!SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[1]);"
@@ -11451,7 +11451,7 @@
(define_insn "*sibcall_value"
[(set (match_operand 0)
- (call (mem:QI (match_operand:W 1 "sibcall_insn_operand" "UzBs"))
+ (call (mem:QI (match_operand:W 1 "sibcall_insn_operand" "UBsBz"))
(match_operand 2)))]
"SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[1]);"
@@ -11460,7 +11460,7 @@
(define_insn "*call_value_rex64_ms_sysv"
[(match_parallel 3 "call_rex64_ms_sysv_operation"
[(set (match_operand 0)
- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzw"))
+ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rBwBz"))
(match_operand 2)))
(unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
"TARGET_64BIT && !SIBLING_CALL_P (insn)"
@@ -11483,7 +11483,7 @@
(define_insn "*call_value_pop"
[(set (match_operand 0)
- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm"))
+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lmBz"))
(match_operand 2)))
(set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG)
@@ -11494,7 +11494,7 @@
(define_insn "*sibcall_value_pop"
[(set (match_operand 0)
- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "UzBs"))
+ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "UBsBz"))
(match_operand 2)))
(set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG)
@@ -12539,7 +12539,7 @@
(unspec:SI
[(match_operand:SI 1 "register_operand" "b")
(match_operand 2 "tls_symbolic_operand")
- (match_operand 3 "constant_call_address_operand" "z")
+ (match_operand 3 "constant_call_address_operand" "Bz")
(reg:SI SP_REG)]
UNSPEC_TLS_GD))
(clobber (match_scratch:SI 4 "=d"))
@@ -12577,7 +12577,7 @@
(define_insn "*tls_global_dynamic_64_<mode>"
[(set (match_operand:P 0 "register_operand" "=a")
(call:P
- (mem:QI (match_operand 2 "constant_call_address_operand" "z"))
+ (mem:QI (match_operand 2 "constant_call_address_operand" "Bz"))
(match_operand 3)))
(unspec:P [(match_operand 1 "tls_symbolic_operand")]
UNSPEC_TLS_GD)]
@@ -12634,7 +12634,7 @@
[(set (match_operand:SI 0 "register_operand" "=a")
(unspec:SI
[(match_operand:SI 1 "register_operand" "b")
- (match_operand 2 "constant_call_address_operand" "z")
+ (match_operand 2 "constant_call_address_operand" "Bz")
(reg:SI SP_REG)]
UNSPEC_TLS_LD_BASE))
(clobber (match_scratch:SI 3 "=d"))
@@ -12673,7 +12673,7 @@
(define_insn "*tls_local_dynamic_base_64_<mode>"
[(set (match_operand:P 0 "register_operand" "=a")
(call:P
- (mem:QI (match_operand 1 "constant_call_address_operand" "z"))
+ (mem:QI (match_operand 1 "constant_call_address_operand" "Bz"))
(match_operand 2)))
(unspec:P [(const_int 0)] UNSPEC_TLS_LD_BASE)]
"TARGET_64BIT"
@@ -12725,7 +12725,7 @@
[(set (match_operand:SI 0 "register_operand" "=a")
(plus:SI
(unspec:SI [(match_operand:SI 1 "register_operand" "b")
- (match_operand 2 "constant_call_address_operand" "z")
+ (match_operand 2 "constant_call_address_operand" "Bz")
(reg:SI SP_REG)]
UNSPEC_TLS_LD_BASE)
(const:SI (unspec:SI