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.
This commit is contained in:
parent
425369bf30
commit
8e410de43c
@ -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";
|
||||
}
|
||||
|
@ -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;"
|
||||
|
Loading…
x
Reference in New Issue
Block a user