https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97259
Bug ID: 97259 Summary: Incorrect ENQCMD and ENQCMDS patterns Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: crazylht at gmail dot com, wwwhhhyyy333 at gmail dot com Target Milestone: --- i386.md has ;; ENQCMD and ENQCMDS (define_int_iterator ENQCMD [UNSPECV_ENQCMD UNSPECV_ENQCMDS]) (define_int_attr enqcmd_sfx [(UNSPECV_ENQCMD "") (UNSPECV_ENQCMDS "s")]) (define_insn "@enqcmd<enqcmd_sfx>_<mode>" [(set (reg:CCZ FLAGS_REG) (unspec_volatile:CCZ [(match_operand:P 0 "register_operand" "r") (match_operand:XI 1 "memory_operand" "m")] ENQCMD))] "TARGET_ENQCMD" "enqcmd<enqcmd_sfx>\t{%1, %0|%0, %1}" [(set_attr "type" "other")]) They write 512 bytes at address in register operand.