Commit 7af10dfe by Chung-Ju Wu Committed by Chung-Ju Wu

[NDS32] Set call address constraint.

gcc/
	* config/nds32/constraints.md (S): New constraint.
	* config/nds32/nds32.md (call_internal): Use constraint S.
	(call_value_internal): Likewise.
	(sibcall_internal): Likewise.
	(sibcall_value_internal): Likewise.

From-SVN: r260422
parent a17b4d4c
2018-05-20 Chung-Ju Wu <jasonwucj@gmail.com>
* config/nds32/constraints.md (S): New constraint.
* config/nds32/nds32.md (call_internal): Use constraint S.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
2018-05-20 Kito Cheng <kito.cheng@gmail.com>
Chung-Ju Wu <jasonwucj@gmail.com>
......
......@@ -373,4 +373,9 @@
(match_test "(TARGET_FPU_SINGLE || TARGET_FPU_DOUBLE)
&& nds32_float_mem_operand_p (op)")))
(define_constraint "S"
"@internal
A constant call address."
(match_operand 0 "nds32_symbolic_operand"))
;; ------------------------------------------------------------------------
......@@ -1523,7 +1523,7 @@
)
(define_insn "call_internal"
[(parallel [(call (mem (match_operand:SI 0 "nds32_call_address_operand" "r, i"))
[(parallel [(call (mem (match_operand:SI 0 "nds32_call_address_operand" "r, S"))
(match_operand 1))
(clobber (reg:SI LP_REGNUM))
(clobber (reg:SI TA_REGNUM))])]
......@@ -1611,7 +1611,7 @@
(define_insn "call_value_internal"
[(parallel [(set (match_operand 0)
(call (mem (match_operand:SI 1 "nds32_call_address_operand" "r, i"))
(call (mem (match_operand:SI 1 "nds32_call_address_operand" "r, S"))
(match_operand 2)))
(clobber (reg:SI LP_REGNUM))
(clobber (reg:SI TA_REGNUM))])]
......@@ -1714,7 +1714,7 @@
})
(define_insn "sibcall_internal"
[(parallel [(call (mem (match_operand:SI 0 "nds32_call_address_operand" "r, i"))
[(parallel [(call (mem (match_operand:SI 0 "nds32_call_address_operand" "r, S"))
(match_operand 1))
(clobber (reg:SI TA_REGNUM))
(return)])]
......@@ -1778,7 +1778,7 @@
(define_insn "sibcall_value_internal"
[(parallel [(set (match_operand 0)
(call (mem (match_operand:SI 1 "nds32_call_address_operand" "r, i"))
(call (mem (match_operand:SI 1 "nds32_call_address_operand" "r, S"))
(match_operand 2)))
(clobber (reg:SI TA_REGNUM))
(return)])]
......
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