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

Reply via email to