Commit 1828d3e6 by Uros Bizjak

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
parent 7fd009d0
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> 2014-06-01 Kai Tietz <ktietz@redhat.com>
PR target/61377 PR target/61377
* constrains.md (define_constrain): New 'Bs' constraint. * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
* i386.md (sibcall_insn_operand): Use Bs instead of m constraint. * config/i386/i386.md (sibcall_insn_operand): Use Bs
instead of m constraint.
2014-05-31 Andreas Schwab <schwab@linux-m68k.org> 2014-05-31 Andreas Schwab <schwab@linux-m68k.org>
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
;;; Unused letters: ;;; Unused letters:
;;; H ;;; H
;;; h j ;;; h j w z
;; Integer register constraints. ;; Integer register constraints.
;; It is not necessary to define 'r' here. ;; It is not necessary to define 'r' here.
...@@ -91,6 +91,9 @@ ...@@ -91,6 +91,9 @@
(define_register_constraint "x" "TARGET_SSE ? SSE_REGS : NO_REGS" (define_register_constraint "x" "TARGET_SSE ? SSE_REGS : NO_REGS"
"Any SSE register.") "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: ;; We use the Y prefix to denote any number of conditional register sets:
;; z First SSE register. ;; z First SSE register.
;; i SSE2 inter-unit moves to SSE register enabled ;; i SSE2 inter-unit moves to SSE register enabled
...@@ -144,26 +147,25 @@ ...@@ -144,26 +147,25 @@
"(ix86_fpmath & FPMATH_387) ? FLOAT_REGS : NO_REGS" "(ix86_fpmath & FPMATH_387) ? FLOAT_REGS : NO_REGS"
"@internal Any x87 register when 80387 FP arithmetic is enabled.") "@internal Any x87 register when 80387 FP arithmetic is enabled.")
;; We use the B prefix to denote any number of internal memory operands: ;; We use the B prefix to denote any number of internal operands:
;; s Sibling memory operand. ;; 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" (define_constraint "Bs"
"@internal Sibcall memory operand." "@internal Sibcall memory operand."
(and (not (match_test "TARGET_X32")) (and (not (match_test "TARGET_X32"))
(match_operand 0 "sibcall_memory_operand"))) (match_operand 0 "sibcall_memory_operand")))
(define_register_constraint "v" "TARGET_SSE ? ALL_SSE_REGS : NO_REGS" (define_constraint "Bw"
"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"
"@internal Call memory operand." "@internal Call memory operand."
(and (not (match_test "TARGET_X32")) (and (not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand"))) (match_operand 0 "memory_operand")))
(define_constraint "Bz"
"@internal Constant call address operand."
(match_operand 0 "constant_call_address_operand"))
;; Integer constant constraints. ;; Integer constant constraints.
(define_constraint "I" (define_constraint "I"
"Integer constant in the range 0 @dots{} 31, for 32-bit shifts." "Integer constant in the range 0 @dots{} 31, for 32-bit shifts."
......
...@@ -11182,7 +11182,7 @@ ...@@ -11182,7 +11182,7 @@
}) })
(define_insn "*indirect_jump" (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" "jmp\t%A0"
[(set_attr "type" "ibr") [(set_attr "type" "ibr")
...@@ -11230,7 +11230,7 @@ ...@@ -11230,7 +11230,7 @@
}) })
(define_insn "*tablejump_1" (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)))] (use (label_ref (match_operand 1)))]
"" ""
"jmp\t%A0" "jmp\t%A0"
...@@ -11360,7 +11360,7 @@ ...@@ -11360,7 +11360,7 @@
}) })
(define_insn "*call" (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))] (match_operand 1))]
"!SIBLING_CALL_P (insn)" "!SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[0]);" "* return ix86_output_call_insn (insn, operands[0]);"
...@@ -11368,7 +11368,7 @@ ...@@ -11368,7 +11368,7 @@
(define_insn "*call_rex64_ms_sysv" (define_insn "*call_rex64_ms_sysv"
[(match_parallel 2 "call_rex64_ms_sysv_operation" [(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)) (match_operand 1))
(unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])] (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
"TARGET_64BIT && !SIBLING_CALL_P (insn)" "TARGET_64BIT && !SIBLING_CALL_P (insn)"
...@@ -11376,7 +11376,7 @@ ...@@ -11376,7 +11376,7 @@
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_insn "*sibcall" (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))] (match_operand 1))]
"SIBLING_CALL_P (insn)" "SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[0]);" "* return ix86_output_call_insn (insn, operands[0]);"
...@@ -11396,7 +11396,7 @@ ...@@ -11396,7 +11396,7 @@
}) })
(define_insn "*call_pop" (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)) (match_operand 1))
(set (reg:SI SP_REG) (set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG)
...@@ -11406,7 +11406,7 @@ ...@@ -11406,7 +11406,7 @@
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_insn "*sibcall_pop" (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)) (match_operand 1))
(set (reg:SI SP_REG) (set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG)
...@@ -11443,7 +11443,7 @@ ...@@ -11443,7 +11443,7 @@
(define_insn "*call_value" (define_insn "*call_value"
[(set (match_operand 0) [(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)))] (match_operand 2)))]
"!SIBLING_CALL_P (insn)" "!SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[1]);" "* return ix86_output_call_insn (insn, operands[1]);"
...@@ -11451,7 +11451,7 @@ ...@@ -11451,7 +11451,7 @@
(define_insn "*sibcall_value" (define_insn "*sibcall_value"
[(set (match_operand 0) [(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)))] (match_operand 2)))]
"SIBLING_CALL_P (insn)" "SIBLING_CALL_P (insn)"
"* return ix86_output_call_insn (insn, operands[1]);" "* return ix86_output_call_insn (insn, operands[1]);"
...@@ -11460,7 +11460,7 @@ ...@@ -11460,7 +11460,7 @@
(define_insn "*call_value_rex64_ms_sysv" (define_insn "*call_value_rex64_ms_sysv"
[(match_parallel 3 "call_rex64_ms_sysv_operation" [(match_parallel 3 "call_rex64_ms_sysv_operation"
[(set (match_operand 0) [(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))) (match_operand 2)))
(unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])] (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
"TARGET_64BIT && !SIBLING_CALL_P (insn)" "TARGET_64BIT && !SIBLING_CALL_P (insn)"
...@@ -11483,7 +11483,7 @@ ...@@ -11483,7 +11483,7 @@
(define_insn "*call_value_pop" (define_insn "*call_value_pop"
[(set (match_operand 0) [(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))) (match_operand 2)))
(set (reg:SI SP_REG) (set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG)
...@@ -11494,7 +11494,7 @@ ...@@ -11494,7 +11494,7 @@
(define_insn "*sibcall_value_pop" (define_insn "*sibcall_value_pop"
[(set (match_operand 0) [(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))) (match_operand 2)))
(set (reg:SI SP_REG) (set (reg:SI SP_REG)
(plus:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG)
...@@ -12539,7 +12539,7 @@ ...@@ -12539,7 +12539,7 @@
(unspec:SI (unspec:SI
[(match_operand:SI 1 "register_operand" "b") [(match_operand:SI 1 "register_operand" "b")
(match_operand 2 "tls_symbolic_operand") (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)] (reg:SI SP_REG)]
UNSPEC_TLS_GD)) UNSPEC_TLS_GD))
(clobber (match_scratch:SI 4 "=d")) (clobber (match_scratch:SI 4 "=d"))
...@@ -12577,7 +12577,7 @@ ...@@ -12577,7 +12577,7 @@
(define_insn "*tls_global_dynamic_64_<mode>" (define_insn "*tls_global_dynamic_64_<mode>"
[(set (match_operand:P 0 "register_operand" "=a") [(set (match_operand:P 0 "register_operand" "=a")
(call:P (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))) (match_operand 3)))
(unspec:P [(match_operand 1 "tls_symbolic_operand")] (unspec:P [(match_operand 1 "tls_symbolic_operand")]
UNSPEC_TLS_GD)] UNSPEC_TLS_GD)]
...@@ -12634,7 +12634,7 @@ ...@@ -12634,7 +12634,7 @@
[(set (match_operand:SI 0 "register_operand" "=a") [(set (match_operand:SI 0 "register_operand" "=a")
(unspec:SI (unspec:SI
[(match_operand:SI 1 "register_operand" "b") [(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)] (reg:SI SP_REG)]
UNSPEC_TLS_LD_BASE)) UNSPEC_TLS_LD_BASE))
(clobber (match_scratch:SI 3 "=d")) (clobber (match_scratch:SI 3 "=d"))
...@@ -12673,7 +12673,7 @@ ...@@ -12673,7 +12673,7 @@
(define_insn "*tls_local_dynamic_base_64_<mode>" (define_insn "*tls_local_dynamic_base_64_<mode>"
[(set (match_operand:P 0 "register_operand" "=a") [(set (match_operand:P 0 "register_operand" "=a")
(call:P (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))) (match_operand 2)))
(unspec:P [(const_int 0)] UNSPEC_TLS_LD_BASE)] (unspec:P [(const_int 0)] UNSPEC_TLS_LD_BASE)]
"TARGET_64BIT" "TARGET_64BIT"
...@@ -12725,7 +12725,7 @@ ...@@ -12725,7 +12725,7 @@
[(set (match_operand:SI 0 "register_operand" "=a") [(set (match_operand:SI 0 "register_operand" "=a")
(plus:SI (plus:SI
(unspec:SI [(match_operand:SI 1 "register_operand" "b") (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)] (reg:SI SP_REG)]
UNSPEC_TLS_LD_BASE) UNSPEC_TLS_LD_BASE)
(const:SI (unspec:SI (const:SI (unspec:SI
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment