aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-11-17 11:41:12 -0800
committerH.J. Lu <hjl.tools@gmail.com>2021-11-17 13:29:01 -0800
commit8e410de43ce039bbe08f1e0195e3b6ec24f68cae (patch)
tree02c7632c81adfbb02f39b6ed74c928f892922223 /gcc
parent425369bf3068a9f840d1c2f04a4d4c38e924d4dc (diff)
downloadgcc-8e410de43ce039bbe08f1e0195e3b6ec24f68cae.zip
gcc-8e410de43ce039bbe08f1e0195e3b6ec24f68cae.tar.gz
gcc-8e410de43ce039bbe08f1e0195e3b6ec24f68cae.tar.bz2
x86: Remove "%!" before ret
Before MPX was removed, "%!" was mapped to case '!': if (ix86_bnd_prefixed_insn_p (current_output_insn)) fputs ("bnd ", file); return; After CET was added and MPX was removed, "%!" was mapped to case '!': if (ix86_notrack_prefixed_insn_p (current_output_insn)) fputs ("notrack ", file); return; ix86_notrack_prefixed_insn_p always returns false on ret since the notrack prefix is only for indirect branches. Remove the unused "%!" before ret. PR target/103307 * config/i386/i386.c (ix86_code_end): Remove "%!" before ret. (ix86_output_function_return): Likewise. * config/i386/i386.md (simple_return_pop_internal): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.c4
-rw-r--r--gcc/config/i386/i386.md2
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c9129ae..a5bfb9e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6115,7 +6115,7 @@ ix86_code_end (void)
xops[0] = gen_rtx_REG (Pmode, regno);
xops[1] = gen_rtx_MEM (Pmode, stack_pointer_rtx);
output_asm_insn ("mov%z0\t{%1, %0|%0, %1}", xops);
- output_asm_insn ("%!ret", NULL);
+ fputs ("\tret\n", asm_out_file);
final_end_function ();
init_insn_lengths ();
free_after_compilation (cfun);
@@ -16273,7 +16273,7 @@ ix86_output_function_return (bool long_p)
}
if (!long_p)
- return "%!ret";
+ return "ret";
return "rep%; ret";
}
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 73d15de..7b2de60 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14705,7 +14705,7 @@
[(simple_return)
(use (match_operand:SI 0 "const_int_operand"))]
"reload_completed"
- "%!ret\t%0"
+ "ret\t%0"
"&& cfun->machine->function_return_type != indirect_branch_keep"
[(const_int 0)]
"ix86_split_simple_return_pop_internal (operands[0]); DONE;"