+2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/93656
+ * config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at
+ the target function entry.
+
2020-02-13 Claudiu Zissulescu <claziss@synopsys.com>
* common/config/arc/arc-common.c (arc_option_optimization_table):
the stack, we need to skip the first insn which pushes the
(call-saved) register static chain; this push is 1 byte. */
offset += 5;
+ int skip = MEM_P (chain) ? 1 : 0;
+ /* Skip ENDBR32 at the entry of the target function. */
+ if (need_endbr
+ && !cgraph_node::get (fndecl)->only_called_directly_p ())
+ skip += 4;
disp = expand_binop (SImode, sub_optab, fnaddr,
plus_constant (Pmode, XEXP (m_tramp, 0),
- offset - (MEM_P (chain) ? 1 : 0)),
+ offset - skip),
NULL_RTX, 1, OPTAB_DIRECT);
emit_move_insn (mem, disp);
}
+2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/93656
+ * gcc.target/i386/pr93656.c: New test.
+
2020-02-13 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/nps400-1.c: Update test.