Files
FEX-Emu--FEX/unittests/InstructionCountCI/AVX128/FMA4.json
T
2026-09-04 08:30:03 +02:00

435 lines
10 KiB
JSON

{
"Features": {
"Bitness": 64,
"EnabledHostFeatures": [],
"DisabledHostFeatures": [
"AFP",
"SVE256",
"SVE128"
],
"BinaryCacheVersion": 13
},
"Instructions": {
"vfmaddsubps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5c 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddsubps ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5c 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddsubpd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5d 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddsubpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5d 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubaddps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5e 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubaddps ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5e 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubaddpd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5f 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubaddpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x5f 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x68 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddps ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x68 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddpd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x69 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x69 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddss xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6a 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmaddsd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6b 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6c 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubps ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6c 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubpd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6d 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6d 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubss xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6e 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfmsubsd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x6f 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmaddps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x78 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmaddpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x78 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmaddss xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x79 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmaddsd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7a 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubps xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7c 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubps ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7c 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubpd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7d 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubpd ymm0, ymm1, ymm2, ymm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7d 256-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubss xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7e 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
},
"vfnmsubsd xmm0, xmm1, xmm2, xmm3": {
"ExpectedInstructionCount": 6,
"Comment": [
"Map 3 0b01 0x7f 128-bit"
],
"ExpectedArm64ASM": [
"mov w20, #0x10000",
"str x20, [x28, #24]",
"mov w0, #0x401",
"str x0, [x28, #1496]",
"ldr x0, [x28, #2968]",
"br x0"
]
}
}
}