Commit 9c5913b3 by Uros Bizjak Committed by Uros Bizjak

i386.md (simple_return_indirect_internal): New expander.

	* config/i386/i386.md (simple_return_indirect_internal): New expander.
	(*simple_return_indirect_internal<mode>): Rename from
	simple_return_indirect_internal.  Use W mode iterator.
	(rstorssp): New expander.
	(*rstorssp<mode>): Rename from rstorssp.  Use P mode iterator.
	(clrssbsy): New expander.
	(*clrssbsy<mode>): Rename from clrssbsy.  Use P mode iterator.

From-SVN: r261208
parent 9063f9ed
2018-06-05 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (simple_return_indirect_internal): New expander.
(*simple_return_indirect_internal<mode>): Rename from
simple_return_indirect_internal. Use W mode iterator.
(rstorssp): New expander.
(*rstorssp<mode>): Rename from rstorssp. Use P mode iterator.
(clrssbsy): New expander.
(*clrssbsy<mode>): Rename from clrssbsy. Use P mode iterator.
2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com> 2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to
......
...@@ -13483,9 +13483,14 @@ ...@@ -13483,9 +13483,14 @@
(set_attr "modrm" "0") (set_attr "modrm" "0")
(set_attr "maybe_prefix_bnd" "1")]) (set_attr "maybe_prefix_bnd" "1")])
(define_insn "simple_return_indirect_internal" (define_expand "simple_return_indirect_internal"
[(parallel
[(simple_return)
(use (match_operand 0 "register_operand"))])])
(define_insn "*simple_return_indirect_internal<mode>"
[(simple_return) [(simple_return)
(use (match_operand 0 "register_operand" "r"))] (use (match_operand:W 0 "register_operand" "r"))]
"reload_completed" "reload_completed"
"* return ix86_output_indirect_function_return (operands[0]);" "* return ix86_output_indirect_function_return (operands[0]);"
[(set (attr "type") [(set (attr "type")
...@@ -20654,8 +20659,13 @@ ...@@ -20654,8 +20659,13 @@
[(set_attr "length" "5") [(set_attr "length" "5")
(set_attr "type" "other")]) (set_attr "type" "other")])
(define_insn "rstorssp" (define_expand "rstorssp"
[(unspec_volatile [(match_operand 0 "memory_operand" "m")] [(unspec_volatile [(match_operand 0 "memory_operand")]
UNSPECV_RSTORSSP)]
"TARGET_SHSTK")
(define_insn "*rstorssp<mode>"
[(unspec_volatile [(match_operand:P 0 "memory_operand" "m")]
UNSPECV_RSTORSSP)] UNSPECV_RSTORSSP)]
"TARGET_SHSTK" "TARGET_SHSTK"
"rstorssp\t%0" "rstorssp\t%0"
...@@ -20687,8 +20697,13 @@ ...@@ -20687,8 +20697,13 @@
[(set_attr "length" "4") [(set_attr "length" "4")
(set_attr "type" "other")]) (set_attr "type" "other")])
(define_insn "clrssbsy" (define_expand "clrssbsy"
[(unspec_volatile [(match_operand 0 "memory_operand" "m")] [(unspec_volatile [(match_operand 0 "memory_operand")]
UNSPECV_CLRSSBSY)]
"TARGET_SHSTK")
(define_insn "*clrssbsy<mode>"
[(unspec_volatile [(match_operand:P 0 "memory_operand" "m")]
UNSPECV_CLRSSBSY)] UNSPECV_CLRSSBSY)]
"TARGET_SHSTK" "TARGET_SHSTK"
"clrssbsy\t%0" "clrssbsy\t%0"
...@@ -20698,8 +20713,9 @@ ...@@ -20698,8 +20713,9 @@
(define_insn "nop_endbr" (define_insn "nop_endbr"
[(unspec_volatile [(const_int 0)] UNSPECV_NOP_ENDBR)] [(unspec_volatile [(const_int 0)] UNSPECV_NOP_ENDBR)]
"(flag_cf_protection & CF_BRANCH)" "(flag_cf_protection & CF_BRANCH)"
"* {
{ return (TARGET_64BIT)? \"endbr64\" : \"endbr32\"; }" return TARGET_64BIT ? "endbr64" : "endbr32";
}
[(set_attr "length" "4") [(set_attr "length" "4")
(set_attr "length_immediate" "0") (set_attr "length_immediate" "0")
(set_attr "modrm" "0")]) (set_attr "modrm" "0")])
......
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