https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85399
Bug ID: 85399 Summary: Redundant SSP clearing before rdssp Product: gcc Version: 8.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: igor.v.tsimbalist at intel dot com Blocks: 81652 Target Milestone: --- Since rdssp has been changed to ;; CET instructions (define_insn "rdssp<mode>" [(set (match_operand:SWI48x 0 "register_operand" "=r") (unspec_volatile:SWI48x [(const_int 0)] UNSPECV_NOP_RDSSP))] "TARGET_SHSTK" "xor{l}\t%k0, %k0\n\trdssp<mskmodesuffix>\t%0" [(set_attr "length" "6") (set_attr "type" "other")]) emit_insn (gen_rtx_SET (reg_ssp, const0_rtx)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is redundant now. emit_insn ((word_mode == SImode) ? gen_rdsspsi (reg_ssp) : gen_rdsspdi (reg_ssp)); Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81652 [Bug 81652] [meta-bug] -fcf-protection=full -mcet bugs