Skip to content

Commit b800026

Browse files
ahunter6Ingo Molnar
authored andcommitted
x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS
The x86 instruction decoder is used not only for decoding kernel instructions. It is also used by perf uprobes (user space probes) and by perf tools Intel Processor Trace decoding. Consequently, it needs to support instructions executed by user space also. Intel Architecture Instruction Set Extensions and Future Features manual number 319433-044 of May 2021, documented VEX versions of instructions VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS, but the opcode map has them listed as EVEX only. Remove EVEX-only (ev) annotation from instructions VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS, which allows them to be decoded with either a VEX or EVEX prefix. Fixes: 0153d98 ("x86/insn: Add misc instructions to x86 instruction decoder") Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20240502105853.5338-4-adrian.hunter@intel.com
1 parent 59162e0 commit b800026

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

arch/x86/lib/x86-opcode-map.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,10 +698,10 @@ AVXcode: 2
698698
4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
699699
4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
700700
4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
701-
50: vpdpbusd Vx,Hx,Wx (66),(ev)
702-
51: vpdpbusds Vx,Hx,Wx (66),(ev)
703-
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66),(ev) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704-
53: vpdpwssds Vx,Hx,Wx (66),(ev) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
701+
50: vpdpbusd Vx,Hx,Wx (66)
702+
51: vpdpbusds Vx,Hx,Wx (66)
703+
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704+
53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
705705
54: vpopcntb/w Vx,Wx (66),(ev)
706706
55: vpopcntd/q Vx,Wx (66),(ev)
707707
58: vpbroadcastd Vx,Wx (66),(v)

tools/arch/x86/lib/x86-opcode-map.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,10 +698,10 @@ AVXcode: 2
698698
4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
699699
4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
700700
4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
701-
50: vpdpbusd Vx,Hx,Wx (66),(ev)
702-
51: vpdpbusds Vx,Hx,Wx (66),(ev)
703-
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66),(ev) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704-
53: vpdpwssds Vx,Hx,Wx (66),(ev) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
701+
50: vpdpbusd Vx,Hx,Wx (66)
702+
51: vpdpbusds Vx,Hx,Wx (66)
703+
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704+
53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
705705
54: vpopcntb/w Vx,Wx (66),(ev)
706706
55: vpopcntd/q Vx,Wx (66),(ev)
707707
58: vpbroadcastd Vx,Wx (66),(v)

0 commit comments

Comments
 (0)