| 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"
|
|
|