update instruction VP2INTERSECT

This commit is contained in:
Yongjie Sheng 2025-09-24 22:12:45 +08:00
parent d12a5b5156
commit 8ce0504457
4 changed files with 57 additions and 3 deletions

View file

@ -0,0 +1,30 @@
;Testname=avx512-vp2intersect; Arguments=-fbin -oavx512-vp2intersect.bin -O0 -DSRC; Files=stdout stderr avx512-vp2intersect.bin
%macro testcase 2
%ifdef BIN
db %1
%endif
%ifdef SRC
%2
%endif
%endmacro
bits 64
testcase { 0x62, 0xf2, 0x77, 0x08, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, xmm1, xmm7 }
testcase { 0x62, 0xd2, 0x67, 0x48, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, zmm3, zmm15 }
testcase { 0x62, 0xf2, 0x67, 0x48, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, zmm3, zword [rax] }
testcase { 0x62, 0xf2, 0x77, 0x08, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, xmm1, oword [rax] }
testcase { 0x62, 0xf2, 0x77, 0x18, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, xmm1, dword [rax]{1to4} }
testcase { 0x62, 0xd2, 0x77, 0x28, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, ymm1, ymm15 }
testcase { 0x62, 0xf2, 0x77, 0x28, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, ymm1, yword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x08, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, xmm1, xmm7 }
testcase { 0x62, 0xd2, 0xe7, 0x48, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, zmm3, zmm15 }
testcase { 0x62, 0xf2, 0xe7, 0x48, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, zmm3, zword [rax] }
testcase { 0x62, 0xf2, 0xe7, 0x58, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, zmm3, qword [rax]{1to8} }
testcase { 0x62, 0xf2, 0xf7, 0x08, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, xmm1, oword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x18, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, xmm1, qword [rax]{1to2} }
testcase { 0x62, 0xd2, 0xf7, 0x28, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, ymm1, ymm15 }
testcase { 0x62, 0xf2, 0xf7, 0x28, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, ymm1, yword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x38, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, ymm1, qword [rax]{1to4} }

View file

@ -0,0 +1 @@
b騱h譩襣Hh譩騡Hhb騱hb騱hb襴(h譩騱(hb蝼h譩溢Hh譩蜱Hhb蜱Xhb蝼hb蝼hb吟(h譩蝼(hb蝼8h

View file

@ -0,0 +1,19 @@
[
{
"description": "Test AVX512-VP2INTERSECT instructions (-Ox)",
"id": "avx512-vp2intersect",
"format": "bin",
"source": "avx512-vp2intersect.asm",
"option": "-Ox -DSRC",
"target": [
{ "output": "avx512-vp2intersect.bin" }
]
},
{
"description": "Test AVX512-VP2INTERSECT instructions (-O0)",
"ref": "avx512-vp2intersect",
"option": "-O0 -DBIN",
"update": false
}
]

View file

@ -5437,9 +5437,13 @@ VDPBF16PS ymmreg|mask|z,ymmreg*,ymmrm128|b32 [rvm:fv: evex.256.f3.0f38.w0 52 /r]
VDPBF16PS zmmreg|mask|z,zmmreg*,zmmrm128|b32 [rvm:fv: evex.512.f3.0f38.w0 52 /r] AVX512BF16
;# AVX512 mask intersect instructions
VP2INTERSECTD kreg|rs2,xmmreg,xmmrm128|b32 [rvm:fv: evex.nds.128.f2.0f38.w0 68 /r] AVX512BF16
VP2INTERSECTD kreg|rs2,ymmreg,ymmrm128|b32 [rvm:fv: evex.nds.256.f2.0f38.w0 68 /r] AVX512BF16
VP2INTERSECTD kreg|rs2,zmmreg,zmmrm128|b32 [rvm:fv: evex.nds.512.f2.0f38.w0 68 /r] AVX512BF16
VP2INTERSECTD kreg|rs2,xmmreg,xmmrm128|b32 [rvm:fv: evex.nds.128.f2.0f38.w0 68 /r] AVX512VL,AVX512VP2INTERSECT
VP2INTERSECTD kreg|rs2,ymmreg,ymmrm256|b32 [rvm:fv: evex.nds.256.f2.0f38.w0 68 /r] AVX512VL,AVX512VP2INTERSECT
VP2INTERSECTD kreg|rs2,zmmreg,zmmrm512|b32 [rvm:fv: evex.nds.512.f2.0f38.w0 68 /r] AVX512F,AVX512VP2INTERSECT
VP2INTERSECTQ kreg|rs2,xmmreg,xmmrm128|b64 [rvm:fv: evex.nds.128.f2.0f38.w1 68 /r] AVX512VL,AVX512VP2INTERSECT
VP2INTERSECTQ kreg|rs2,ymmreg,ymmrm256|b64 [rvm:fv: evex.nds.256.f2.0f38.w1 68 /r] AVX512VL,AVX512VP2INTERSECT
VP2INTERSECTQ kreg|rs2,zmmreg,zmmrm512|b64 [rvm:fv: evex.nds.512.f2.0f38.w1 68 /r] AVX512F,AVX512VP2INTERSECT
;# Intel Advanced Matrix Extensions (AMX)
LDTILECFG mem512 [m: vex+.128.np.0f38.w0 49 /0] AMXTILE,SZ,LONG