Index: gcc/gcc/config/i386/i386.md |
diff --git a/gcc/gcc/config/i386/i386.md b/gcc/gcc/config/i386/i386.md |
index 6ad93a9d3f47048b62ed17e6493d61ddfc3354c0..de626c01ad64c1657f91c83f8dff6fc5ce577e0f 100644 |
--- a/gcc/gcc/config/i386/i386.md |
+++ b/gcc/gcc/config/i386/i386.md |
@@ -9806,8 +9806,8 @@ |
(set_attr "mode" "SI")]) |
(define_insn "naclcallsi" |
- [(unspec [(mem:QI (match_operand:SI 0 "register_operand" "r")) |
- (match_operand 1 "" "")] UNSPEC_NACLCALL)] |
+ [(call (mem:QI (unspec [(match_operand:SI 0 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand 1 "" ""))] |
"!SIBLING_CALL_P (insn)" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9823,8 +9823,8 @@ |
[(set_attr "type" "call")]) |
(define_insn "naclcalldi" |
- [(unspec [(mem:QI (match_operand:DI 0 "register_operand" "r")) |
- (match_operand 1 "" "")] UNSPEC_NACLCALL)] |
+ [(call (mem:QI (unspec [(match_operand:DI 0 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand 1 "" ""))] |
"!SIBLING_CALL_P (insn) && TARGET_64BIT" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9833,8 +9833,8 @@ |
[(set_attr "type" "call")]) |
(define_insn "naclsibcallsi" |
- [(unspec [(mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U")) |
- (match_operand 1 "" "")] UNSPEC_NACLCALL)] |
+ [(call (mem:QI (unspec [(match_operand:SI 0 "sibcall_insn_operand" "s,U")] UNSPEC_NACLCALL)) |
+ (match_operand 1 "" ""))] |
"SIBLING_CALL_P (insn)" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9850,8 +9850,8 @@ |
[(set_attr "type" "call")]) |
(define_insn "naclsibcalldi" |
- [(unspec [(mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U")) |
- (match_operand 1 "" "")] UNSPEC_NACLCALL)] |
+ [(call (mem:QI (unspec [(match_operand:DI 0 "sibcall_insn_operand" "s,U")] UNSPEC_NACLCALL)) |
+ (match_operand 1 "" ""))] |
"SIBLING_CALL_P (insn) && TARGET_64BIT" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9860,8 +9860,8 @@ |
[(set_attr "type" "call")]) |
(define_insn "naclcall_popsi" |
- [(unspec [(mem:QI (match_operand:SI 0 "register_operand" "r")) |
- (match_operand:SI 1 "" "")] UNSPEC_NACLCALL) |
+ [(call (mem:QI (unspec [(match_operand:SI 0 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand:SI 1 "" "")) |
(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) |
(match_operand:SI 2 "immediate_operand" "i")))] |
"" |
@@ -9893,8 +9893,8 @@ |
[(set_attr "type" "call")]) |
(define_insn "naclcall_popdi" |
- [(unspec [(mem:QI (match_operand:DI 0 "register_operand" "r")) |
- (match_operand:DI 1 "" "")] UNSPEC_NACLCALL) |
+ [(call (mem:QI (unspec [(match_operand:DI 0 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand:DI 1 "" "")) |
(set (reg:DI SP_REG) (plus:DI (reg:DI SP_REG) |
(match_operand:SI 2 "immediate_operand" "i")))] |
"TARGET_64BIT" |
@@ -9913,8 +9913,8 @@ |
(define_insn "naclcall_valuesi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:SI 1 "register_operand" "r")) |
- (match_operand 2 "" "")] UNSPEC_NACLCALL))] |
+ (call (mem:QI (unspec [(match_operand:SI 1 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand 2 "" "")))] |
"!SIBLING_CALL_P (insn)" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9931,8 +9931,8 @@ |
(define_insn "naclcall_valuedi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:DI 1 "register_operand" "r")) |
- (match_operand 2 "" "")] UNSPEC_NACLCALL))] |
+ (call (mem:QI (unspec [(match_operand:DI 1 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand 2 "" "")))] |
"!SIBLING_CALL_P (insn) && TARGET_64BIT" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9942,8 +9942,8 @@ |
(define_insn "naclsibcall_valuesi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U")) |
- (match_operand 2 "" "")] UNSPEC_NACLCALL))] |
+ (call (mem:QI (unspec [(match_operand:SI 1 "sibcall_insn_operand" "s,U")] UNSPEC_NACLCALL)) |
+ (match_operand 2 "" "")))] |
"SIBLING_CALL_P (insn) && !TARGET_64BIT" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9960,8 +9960,8 @@ |
(define_insn "naclsibcall_valuedi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U")) |
- (match_operand 2 "" "")] UNSPEC_NACLCALL))] |
+ (call (mem:QI (unspec [(match_operand:DI 1 "sibcall_insn_operand" "s,U")] UNSPEC_NACLCALL)) |
+ (match_operand 2 "" "")))] |
"SIBLING_CALL_P (insn) && TARGET_64BIT" |
{ |
gcc_assert (flag_control_integrity); |
@@ -9971,8 +9971,8 @@ |
(define_insn "naclcall_value_popsi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:SI 1 "register_operand" "r")) |
- (match_operand:SI 2 "" "")] UNSPEC_NACLCALL)) |
+ (call (mem:QI (unspec [(match_operand:SI 1 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand:SI 2 "" ""))) |
(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) |
(match_operand:SI 3 "immediate_operand" "i")))] |
"" |
@@ -10005,8 +10005,8 @@ |
(define_insn "naclcall_value_popdi" |
[(set (match_operand 0 "" "") |
- (unspec [(mem:QI (match_operand:DI 1 "register_operand" "r")) |
- (match_operand:DI 2 "" "")] UNSPEC_NACLCALL)) |
+ (call (mem:QI (unspec [(match_operand:DI 1 "register_operand" "r")] UNSPEC_NACLCALL)) |
+ (match_operand:DI 2 "" ""))) |
(set (reg:DI SP_REG) (plus:DI (reg:DI SP_REG) |
(match_operand:SI 3 "immediate_operand" "i")))] |
"TARGET_64BIT" |