mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 10:00:16 +02:00
83 lines
1.9 KiB
JSON
83 lines
1.9 KiB
JSON
{
|
|
"Features": {
|
|
"Bitness": 64,
|
|
"EnabledHostFeatures": [
|
|
"TSO",
|
|
"LRCPC",
|
|
"LRCPC2",
|
|
"FLAGM",
|
|
"FLAGM2"
|
|
],
|
|
"DisabledHostFeatures": [
|
|
"SVE128",
|
|
"SVE256",
|
|
"RPRES",
|
|
"AFP"
|
|
],
|
|
"BinaryCacheVersion": 14
|
|
},
|
|
"Comment": [
|
|
"These are instruction combinations that could be more optimal if FEX optimized for them"
|
|
],
|
|
"Instructions": {
|
|
"Load variables from memory": {
|
|
"x86InstructionCount": 6,
|
|
"ExpectedInstructionCount": 13,
|
|
"Comment": [
|
|
"Just to ensure small atomic offset loads are using LRCPC2"
|
|
],
|
|
"x86Insts": [
|
|
"mov edi, [rcx]",
|
|
"mov edx, [rcx + 4]",
|
|
"mov rbx, [rcx + 8]",
|
|
"mov rsi, [rcx + 16]",
|
|
"mov ax, [rcx + 24]",
|
|
"mov bl, [rcx + 26]"
|
|
],
|
|
"ExpectedArm64ASM": [
|
|
"ldapur w11, [x7]",
|
|
"nop",
|
|
"ldapur w5, [x7, #4]",
|
|
"nop",
|
|
"ldapur x6, [x7, #8]",
|
|
"nop",
|
|
"ldapur x10, [x7, #16]",
|
|
"nop",
|
|
"ldapurh w20, [x7, #24]",
|
|
"nop",
|
|
"bfxil x4, x20, #0, #16",
|
|
"ldapurb w20, [x7, #26]",
|
|
"bfxil x6, x20, #0, #8"
|
|
]
|
|
},
|
|
"Store variables to memory": {
|
|
"x86InstructionCount": 6,
|
|
"ExpectedInstructionCount": 11,
|
|
"Comment": [
|
|
"Just to ensure small atomic offset stores are using LRCPC2"
|
|
],
|
|
"x86Insts": [
|
|
"mov [rcx], edi",
|
|
"mov [rcx + 4], edx",
|
|
"mov [rcx + 8], rbx",
|
|
"mov [rcx + 16], rsi",
|
|
"mov [rcx + 24], ax",
|
|
"mov [rcx + 26], bl"
|
|
],
|
|
"ExpectedArm64ASM": [
|
|
"nop",
|
|
"stlur w11, [x7]",
|
|
"nop",
|
|
"stlur w5, [x7, #4]",
|
|
"nop",
|
|
"stlur x6, [x7, #8]",
|
|
"nop",
|
|
"stlur x10, [x7, #16]",
|
|
"nop",
|
|
"stlurh w4, [x7, #24]",
|
|
"stlurb w6, [x7, #26]"
|
|
]
|
|
}
|
|
}
|
|
}
|