Commit 6041d142 by Kai Tietz Committed by Kai Tietz

re PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)

	PR target/61377
	* constrains.md (define_constrain): New 'Bs' constraint.
	* i386.md (sibcall_insn_operand): Use Bs instead of m constraint.

From-SVN: r211112
parent 4a065d4a
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.
2014-05-31 Andreas Schwab <schwab@linux-m68k.org> 2014-05-31 Andreas Schwab <schwab@linux-m68k.org>
* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
;; <http://www.gnu.org/licenses/>. ;; <http://www.gnu.org/licenses/>.
;;; Unused letters: ;;; Unused letters:
;;; B H ;;; H
;;; h j ;;; h j
;; Integer register constraints. ;; Integer register constraints.
...@@ -144,6 +144,14 @@ ...@@ -144,6 +144,14 @@
"(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:
;; s Sibling memory 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" (define_register_constraint "v" "TARGET_SSE ? ALL_SSE_REGS : NO_REGS"
"Any EVEX encodable SSE register (@code{%xmm0-%xmm31}).") "Any EVEX encodable SSE register (@code{%xmm0-%xmm31}).")
......
...@@ -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" "Uzm")) [(call (mem:QI (match_operand:W 0 "sibcall_insn_operand" "UzBs"))
(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]);"
...@@ -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" "Uzm")) [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "UzBs"))
(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)
...@@ -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" "Uzm")) (call (mem:QI (match_operand:W 1 "sibcall_insn_operand" "UzBs"))
(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]);"
...@@ -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" "Uzm")) (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "UzBs"))
(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)
......
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