mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 11:00:19 +02:00
172 lines
4.7 KiB
JSON
172 lines
4.7 KiB
JSON
{
|
|
"Features": {
|
|
"Bitness": 64,
|
|
"EnabledHostFeatures": [
|
|
"SVE256",
|
|
"SVE128",
|
|
"I8MM"
|
|
],
|
|
"DisabledHostFeatures": [
|
|
"AFP",
|
|
"FLAGM",
|
|
"FLAGM2",
|
|
"SVEBITPERM"
|
|
],
|
|
"BinaryCacheVersion": 26
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|