x86/APX: simplify ENQCMD[,S} opcode table entries

Message ID 822d13d8-003f-4763-b98a-56d141af9a21@suse.com
State New
Headers
Series x86/APX: simplify ENQCMD[,S} opcode table entries |

Commit Message

Jan Beulich Dec. 27, 2024, 11:59 a.m. UTC
  APX_F() makes sense to use only for dual VEX/EVEX templates; ENQCMD{,S}
are legacy encoded though in theit original forms. Make the entries
match the MOVDIR{I,84B} sibling ones.
  

Comments

Jiang, Haochen Dec. 30, 2024, 6:44 a.m. UTC | #1
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Friday, December 27, 2024 8:00 PM
> 
> APX_F() makes sense to use only for dual VEX/EVEX templates; ENQCMD{,S}
> are legacy encoded though in theit original forms. Make the entries match the
> MOVDIR{I,84B} sibling ones.
> 
> --- a/opcodes/i386-opc.tbl
> +++ b/opcodes/i386-opc.tbl
> @@ -3122,9 +3122,9 @@ vcvtneps2bf16<Vxy>, 0xf372, AVX_NE_CONVE  //
> ENQCMD instructions.
> 
>  enqcmd, 0xf20f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf,
> { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } -enqcmd, 0xf2f8,
> APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4,
> { Unspecified|BaseIndex, Reg32|Reg64 }
> +enqcmd, 0xf2f8, ENQCMD&APX_F,
> Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, {
> +Unspecified|BaseIndex, Reg32|Reg64 }
>  enqcmds, 0xf30f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf,
> { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } -enqcmds, 0xf3f8,
> APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4,
> { Unspecified|BaseIndex, Reg32|Reg64 }
> +enqcmds, 0xf3f8, ENQCMD&APX_F,
> Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, {
> +Unspecified|BaseIndex, Reg32|Reg64 }
> 
>  // ENQCMD instructions end.
> 

LGTM.

Thx,
Haochen
  

Patch

--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -3122,9 +3122,9 @@  vcvtneps2bf16<Vxy>, 0xf372, AVX_NE_CONVE
 // ENQCMD instructions.
 
 enqcmd, 0xf20f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
-enqcmd, 0xf2f8, APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 }
+enqcmd, 0xf2f8, ENQCMD&APX_F, Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 }
 enqcmds, 0xf30f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
-enqcmds, 0xf3f8, APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 }
+enqcmds, 0xf3f8, ENQCMD&APX_F, Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 }
 
 // ENQCMD instructions end.