Files
FEX-Emu--FEX/unittests/InstructionCountCI/AFP/Secondary_REPNE.json
T
Ryan Houdek c548625fbe InstCountCI: Update tests for disabling AFP
Doesn't change behaviour yet, just prep work.
2023-10-10 03:17:18 -07:00

259 lines
5.6 KiB
JSON

{
"Features": {
"Bitness": 64,
"EnabledHostFeatures": [
"AFP"
],
"DisabledHostFeatures": [
"SVE128",
"SVE256"
]
},
"Instructions": {
"cvtsi2sd xmm0, eax": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x2a"
],
"ExpectedArm64ASM": [
"scvtf d2, w4",
"mov v16.d[0], v2.d[0]"
]
},
"cvtsi2sd xmm0, dword [rax]": {
"ExpectedInstructionCount": 3,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x2a"
],
"ExpectedArm64ASM": [
"ldr w20, [x4]",
"scvtf d2, w20",
"mov v16.d[0], v2.d[0]"
]
},
"cvtsi2sd xmm0, rax": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x2a"
],
"ExpectedArm64ASM": [
"scvtf d2, x4",
"mov v16.d[0], v2.d[0]"
]
},
"cvtsi2sd xmm0, qword [rax]": {
"ExpectedInstructionCount": 3,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x2a"
],
"ExpectedArm64ASM": [
"ldr d2, [x4]",
"scvtf d2, d2",
"mov v16.d[0], v2.d[0]"
]
},
"sqrtsd xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x51"
],
"ExpectedArm64ASM": [
"fsqrt d2, d17",
"mov v16.d[0], v2.d[0]"
]
},
"addsd xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x58"
],
"ExpectedArm64ASM": [
"fadd d2, d16, d17",
"mov v16.d[0], v2.d[0]"
]
},
"mulsd xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x59"
],
"ExpectedArm64ASM": [
"fmul d2, d16, d17",
"mov v16.d[0], v2.d[0]"
]
},
"cvtsd2ss xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5a"
],
"ExpectedArm64ASM": [
"fcvt s2, d17",
"mov v16.s[0], v2.s[0]"
]
},
"cvtsd2ss xmm0, [rax]": {
"ExpectedInstructionCount": 3,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5a"
],
"ExpectedArm64ASM": [
"ldr d2, [x4]",
"fcvt s2, d2",
"mov v16.s[0], v2.s[0]"
]
},
"subsd xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5c"
],
"ExpectedArm64ASM": [
"fsub d2, d16, d17",
"mov v16.d[0], v2.d[0]"
]
},
"minsd xmm0, xmm1": {
"ExpectedInstructionCount": 3,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5d"
],
"ExpectedArm64ASM": [
"fcmp d16, d17",
"fcsel d2, d16, d17, mi",
"mov v16.d[0], v2.d[0]"
]
},
"divsd xmm0, xmm1": {
"ExpectedInstructionCount": 2,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5e"
],
"ExpectedArm64ASM": [
"fdiv d2, d16, d17",
"mov v16.d[0], v2.d[0]"
]
},
"maxsd xmm0, xmm1": {
"ExpectedInstructionCount": 3,
"Optimal": "Yes",
"Comment": [
"0xf2 0x0f 0x5f"
],
"ExpectedArm64ASM": [
"fcmp d16, d17",
"fcsel d2, d17, d16, mi",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 0": {
"ExpectedInstructionCount": 2,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmeq d2, d16, d17",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 1": {
"ExpectedInstructionCount": 2,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmgt d2, d17, d16",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 2": {
"ExpectedInstructionCount": 2,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmge d2, d17, d16",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 3": {
"ExpectedInstructionCount": 5,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmge d0, d16, d17",
"fcmgt d1, d17, d16",
"orr v2.8b, v0.8b, v1.8b",
"mvn v2.8b, v2.8b",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 4": {
"ExpectedInstructionCount": 3,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmeq d2, d16, d17",
"mvn v2.8b, v2.8b",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 5": {
"ExpectedInstructionCount": 3,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmgt d2, d17, d16",
"mvn v2.16b, v2.16b",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 6": {
"ExpectedInstructionCount": 3,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmge d2, d17, d16",
"mvn v2.16b, v2.16b",
"mov v16.d[0], v2.d[0]"
]
},
"cmpsd xmm0, xmm1, 7": {
"ExpectedInstructionCount": 4,
"Optimal": "No",
"Comment": [
"0xf2 0x0f 0xc2"
],
"ExpectedArm64ASM": [
"fcmge d0, d16, d17",
"fcmgt d1, d17, d16",
"orr v2.8b, v0.8b, v1.8b",
"mov v16.d[0], v2.d[0]"
]
}
}
}