Files
FEX-Emu--FEX/unittests/InstructionCountCI/VEX_map2_I8MM.json
T
2026-09-15 16:40:55 -07:00

172 lines
4.7 KiB
JSON

{
"Features": {
"Bitness": 64,
"EnabledHostFeatures": [
"SVE256",
"SVE128",
"I8MM"
],
"DisabledHostFeatures": [
"AFP",
"FLAGM",
"FLAGM2",
"SVEBITPERM"
],
"BinaryCacheVersion": 24
},
"Instructions": {
"vpdpbusd xmm0, xmm1, xmm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 1,
"Comment": [
"Map 2 0b01 0x50 128-bit",
"vpdpbusd xmm0, xmm1, xmm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x71, 0x50, 0xc2"
],
"ExpectedArm64ASM": [
"usdot v16.4s, v17.16b, v18.16b"
]
},
"vpdpbusd ymm0, ymm1, ymm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 1,
"Comment": [
"Map 2 0b01 0x50 256-bit",
"vpdpbusd ymm0, ymm1, ymm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x75, 0x50, 0xc2"
],
"ExpectedArm64ASM": [
"usdot z16.s, z17.b, z18.b"
]
},
"vpdpbusds xmm0, xmm1, xmm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 3,
"Comment": [
"Map 2 0b01 0x51 128-bit",
"vpdpbusds xmm0, xmm1, xmm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x71, 0x51, 0xc2"
],
"ExpectedArm64ASM": [
"movi v2.2d, #0x0",
"usdot v2.4s, v17.16b, v18.16b",
"sqadd v16.4s, v16.4s, v2.4s"
]
},
"vpdpbusds ymm0, ymm1, ymm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 3,
"Comment": [
"Map 2 0b01 0x51 256-bit",
"vpdpbusds ymm0, ymm1, ymm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x75, 0x51, 0xc2"
],
"ExpectedArm64ASM": [
"movi v2.2d, #0x0",
"usdot z2.s, z17.b, z18.b",
"sqadd z16.s, z16.s, z2.s"
]
},
"vpdpwssd xmm0, xmm1, xmm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 4,
"Comment": [
"Map 2 0b01 0x52 128-bit",
"vpdpwssd xmm0, xmm1, xmm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x71, 0x52, 0xc2"
],
"ExpectedArm64ASM": [
"smull v2.4s, v17.4h, v18.4h",
"smull2 v3.4s, v17.8h, v18.8h",
"addp v2.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v2.4s"
]
},
"vpdpwssd ymm0, ymm1, ymm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 11,
"Comment": [
"Map 2 0b01 0x52 256-bit",
"vpdpwssd ymm0, ymm1, ymm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x75, 0x52, 0xc2"
],
"ExpectedArm64ASM": [
"smullb z0.s, z17.h, z18.h",
"smullt z1.s, z17.h, z18.h",
"zip1 z2.s, z0.s, z1.s",
"smullb z0.s, z17.h, z18.h",
"smullt z1.s, z17.h, z18.h",
"zip2 z3.s, z0.s, z1.s",
"addp z2.s, p7/m, z2.s, z3.s",
"uzp2 z1.s, z2.s, z2.s",
"uzp1 z2.s, z2.s, z2.s",
"splice z2.d, p6, z2.d, z1.d",
"add z16.s, z16.s, z2.s"
]
},
"vpdpwssds xmm0, xmm1, xmm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 5,
"Comment": [
"Map 2 0b01 0x53 128-bit",
"vpdpwssds xmm0, xmm1, xmm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x71, 0x53, 0xc2"
],
"ExpectedArm64ASM": [
"smull v2.4s, v17.4h, v18.4h",
"smull2 v3.4s, v17.8h, v18.8h",
"addp v2.4s, v2.4s, v3.4s",
"neg v2.4s, v2.4s",
"sqsub v16.4s, v16.4s, v2.4s"
]
},
"vpdpwssds ymm0, ymm1, ymm2": {
"x86InstructionCount": 1,
"ExpectedInstructionCount": 12,
"Comment": [
"Map 2 0b01 0x53 256-bit",
"vpdpwssds ymm0, ymm1, ymm2",
"NASM only emits the EVEX encoding, hand encode the VEX form"
],
"x86Insts": [
"db 0xc4, 0xe2, 0x75, 0x53, 0xc2"
],
"ExpectedArm64ASM": [
"smullb z0.s, z17.h, z18.h",
"smullt z1.s, z17.h, z18.h",
"zip1 z2.s, z0.s, z1.s",
"smullb z0.s, z17.h, z18.h",
"smullt z1.s, z17.h, z18.h",
"zip2 z3.s, z0.s, z1.s",
"addp z2.s, p7/m, z2.s, z3.s",
"uzp2 z1.s, z2.s, z2.s",
"uzp1 z2.s, z2.s, z2.s",
"splice z2.d, p6, z2.d, z1.d",
"neg z2.s, p7/m, z2.s",
"sqsub z16.s, z16.s, z2.s"
]
}
}
}