mirror of
https://github.com/FEX-Emu/FEX.git
synced 2025-01-07 06:03:50 +00:00
1841 lines
48 KiB
JSON
1841 lines
48 KiB
JSON
{
|
|
"Features": {
|
|
"Bitness": 64,
|
|
"EnabledHostFeatures": [
|
|
"RNG"
|
|
],
|
|
"DisabledHostFeatures": [
|
|
"SVE128",
|
|
"SVE256",
|
|
"FLAGM",
|
|
"FLAGM2"
|
|
]
|
|
},
|
|
"Instructions": {
|
|
"sgdt [rax]": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP7 0x0F 0x1 /0",
|
|
"ExpectedArm64ASM": [
|
|
"mov w20, #0x0",
|
|
"strh w20, [x4]",
|
|
"mov x20, #0xfffffffffffe0000",
|
|
"stur x20, [x4, #2]"
|
|
]
|
|
},
|
|
"bt ax, 0": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt eax, 0": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt rax, 0": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt ax, 15": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #15, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt eax, 31": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #31, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt rax, 63": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Comment": "GROUP8 0x0F 0xBA /4",
|
|
"ExpectedArm64ASM": [
|
|
"lsr x20, x4, #63",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt word [rax], 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt dword [rax], 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt qword [rax], 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt word [rax], 15": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #1]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt dword [rax], 31": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #3]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bt qword [rax], 63": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #7]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts ax, 0": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"orr w21, w4, #0x1",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts eax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"orr w4, w4, #0x1",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts rax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"orr x4, x4, #0x1",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts ax, 15": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #15, #1",
|
|
"lsl x20, x20, #29",
|
|
"orr w21, w4, #0x8000",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts eax, 31": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #31, #1",
|
|
"lsl x20, x20, #29",
|
|
"orr w4, w4, #0x80000000",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts rax, 63": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /5",
|
|
"ExpectedArm64ASM": [
|
|
"lsr x20, x4, #63",
|
|
"lsl x20, x20, #29",
|
|
"orr x4, x4, #0x8000000000000000",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"orr x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"orr x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"orr x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #1]",
|
|
"orr x21, x20, #0x80",
|
|
"strb w21, [x4, #1]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #3]",
|
|
"orr x21, x20, #0x80",
|
|
"strb w21, [x4, #3]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"bts qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #7]",
|
|
"orr x21, x20, #0x80",
|
|
"strb w21, [x4, #7]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x1 (1)",
|
|
"mov w21, #0x80",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x3 (3)",
|
|
"mov w21, #0x80",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock bts qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x7 (7)",
|
|
"mov w21, #0x80",
|
|
"ldsetalb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr ax, 0": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"and w21, w4, #0xfffffffe",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr eax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"and w4, w4, #0xfffffffe",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr rax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"and x4, x4, #0xfffffffffffffffe",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr ax, 15": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #15, #1",
|
|
"lsl x20, x20, #29",
|
|
"and w21, w4, #0xffff7fff",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr eax, 31": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #31, #1",
|
|
"lsl x20, x20, #29",
|
|
"and w4, w4, #0x7fffffff",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr rax, 63": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"lsr x20, x4, #63",
|
|
"lsl x20, x20, #29",
|
|
"and x4, x4, #0x7fffffffffffffff",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"and x21, x20, #0xfffffffffffffffe",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"and x21, x20, #0xfffffffffffffffe",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"and x21, x20, #0xfffffffffffffffe",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #1]",
|
|
"and x21, x20, #0xffffffffffffff7f",
|
|
"strb w21, [x4, #1]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #3]",
|
|
"and x21, x20, #0xffffffffffffff7f",
|
|
"strb w21, [x4, #3]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btr qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #7]",
|
|
"and x21, x20, #0xffffffffffffff7f",
|
|
"strb w21, [x4, #7]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldclralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldclralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldclralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x1 (1)",
|
|
"mov w21, #0x80",
|
|
"ldclralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x3 (3)",
|
|
"mov w21, #0x80",
|
|
"ldclralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btr qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x7 (7)",
|
|
"mov w21, #0x80",
|
|
"ldclralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc ax, 0": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"eor w21, w4, #0x1",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc eax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"eor w4, w4, #0x1",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc rax, 0": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"eor x4, x4, #0x1",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc ax, 15": {
|
|
"ExpectedInstructionCount": 5,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #15, #1",
|
|
"lsl x20, x20, #29",
|
|
"eor w21, w4, #0x8000",
|
|
"bfxil x4, x21, #0, #16",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc eax, 31": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"ubfx x20, x4, #31, #1",
|
|
"lsl x20, x20, #29",
|
|
"eor w4, w4, #0x80000000",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc rax, 63": {
|
|
"ExpectedInstructionCount": 4,
|
|
"Comment": "GROUP8 0x0F 0xBA /7",
|
|
"ExpectedArm64ASM": [
|
|
"lsr x20, x4, #63",
|
|
"lsl x20, x20, #29",
|
|
"eor x4, x4, #0x8000000000000000",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"eor x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"eor x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4]",
|
|
"eor x21, x20, #0x1",
|
|
"strb w21, [x4]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #1]",
|
|
"eor x21, x20, #0x80",
|
|
"strb w21, [x4, #1]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #3]",
|
|
"eor x21, x20, #0x80",
|
|
"strb w21, [x4, #3]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"btc qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldrb w20, [x4, #7]",
|
|
"eor x21, x20, #0x80",
|
|
"strb w21, [x4, #7]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc word [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc dword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc qword [rax], 0": {
|
|
"ExpectedInstructionCount": 6,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x0 (0)",
|
|
"mov w21, #0x1",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc word [rax], 15": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x1 (1)",
|
|
"mov w21, #0x80",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc dword [rax], 31": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x3 (3)",
|
|
"mov w21, #0x80",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"lock btc qword [rax], 63": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP8 0x0F 0xBA /6",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x4, #0x7 (7)",
|
|
"mov w21, #0x80",
|
|
"ldeoralb w21, w20, [x20]",
|
|
"lsr w20, w20, #7",
|
|
"ubfx x20, x20, #0, #1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"cmpxchg8b [rbp]": {
|
|
"ExpectedInstructionCount": 25,
|
|
"Comment": "GROUP9 0x0F 0xC7 /1",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x9, #0x0 (0)",
|
|
"mov w21, w4",
|
|
"mov w22, w6",
|
|
"mov w23, w22",
|
|
"mov w22, w21",
|
|
"mov w21, w7",
|
|
"mov w24, w5",
|
|
"mov w25, w24",
|
|
"mov w24, w21",
|
|
"mrs x21, nzcv",
|
|
"mov w2, w22",
|
|
"mov w3, w23",
|
|
"caspal w2, w3, w24, w25, [x20]",
|
|
"mov w24, w2",
|
|
"mov w25, w3",
|
|
"mov w20, w24",
|
|
"mov w30, w25",
|
|
"cmp x24, x22",
|
|
"ccmp x25, x23, #nzcv, eq",
|
|
"cset x22, eq",
|
|
"bfi w21, w22, #30, #1",
|
|
"msr nzcv, x21",
|
|
"cbnz x22, #+0xc",
|
|
"mov x4, x20",
|
|
"mov x6, x30"
|
|
]
|
|
},
|
|
"cmpxchg16b [rbp]": {
|
|
"ExpectedInstructionCount": 21,
|
|
"Comment": "GROUP9 0x0F 0xC7 /1",
|
|
"ExpectedArm64ASM": [
|
|
"add x20, x9, #0x0 (0)",
|
|
"mov x22, x4",
|
|
"mov x23, x6",
|
|
"mov x24, x7",
|
|
"mov x25, x5",
|
|
"mrs x21, nzcv",
|
|
"mov x2, x22",
|
|
"mov x3, x23",
|
|
"caspal x2, x3, x24, x25, [x20]",
|
|
"mov x24, x2",
|
|
"mov x25, x3",
|
|
"mov x20, x24",
|
|
"mov x30, x25",
|
|
"cmp x24, x22",
|
|
"ccmp x25, x23, #nzcv, eq",
|
|
"cset x22, eq",
|
|
"bfi w21, w22, #30, #1",
|
|
"msr nzcv, x21",
|
|
"cbnz x22, #+0xc",
|
|
"mov x4, x20",
|
|
"mov x6, x30"
|
|
]
|
|
},
|
|
"rdrand ax": {
|
|
"ExpectedInstructionCount": 9,
|
|
"Comment": "GROUP9 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndr",
|
|
"cset x21, ne",
|
|
"mov x22, x20",
|
|
"mov x20, x21",
|
|
"bfxil x4, x22, #0, #16",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"rdrand eax": {
|
|
"ExpectedInstructionCount": 9,
|
|
"Comment": "GROUP9 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndr",
|
|
"cset x21, ne",
|
|
"mov x22, x20",
|
|
"mov x20, x21",
|
|
"mov w4, w22",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"rdrand rax": {
|
|
"ExpectedInstructionCount": 8,
|
|
"Comment": "GROUP9 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndr",
|
|
"cset x21, ne",
|
|
"mov x4, x20",
|
|
"mov x20, x21",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"rdseed ax": {
|
|
"ExpectedInstructionCount": 9,
|
|
"Comment": "GROUP9 0x0F 0xC7 /7",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndrrs",
|
|
"cset x21, ne",
|
|
"mov x22, x20",
|
|
"mov x20, x21",
|
|
"bfxil x4, x22, #0, #16",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"rdseed eax": {
|
|
"ExpectedInstructionCount": 9,
|
|
"Comment": "GROUP9 0x0F 0xC7 /7",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndrrs",
|
|
"cset x21, ne",
|
|
"mov x22, x20",
|
|
"mov x20, x21",
|
|
"mov w4, w22",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"rdseed rax": {
|
|
"ExpectedInstructionCount": 8,
|
|
"Comment": "GROUP9 0x0F 0xC7 /7",
|
|
"ExpectedArm64ASM": [
|
|
"mrs x20, rndrrs",
|
|
"cset x21, ne",
|
|
"mov x4, x20",
|
|
"mov x20, x21",
|
|
"mov w27, #0x0",
|
|
"mov w26, #0x1",
|
|
"lsl x20, x20, #29",
|
|
"msr nzcv, x20"
|
|
]
|
|
},
|
|
"psrlw mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrlw mm0, 15": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"ushr v2.8h, v2.8h, #15",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrlw mm0, 16": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrlw xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrlw xmm0, 15": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ushr v16.8h, v16.8h, #15"
|
|
]
|
|
},
|
|
"psrlw xmm0, 16": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psraw mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psraw mm0, 15": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"sshr v2.8h, v2.8h, #15",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psraw mm0, 16": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"sshr v2.8h, v2.8h, #15",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psraw xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psraw xmm0, 15": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"sshr v16.8h, v16.8h, #15"
|
|
]
|
|
},
|
|
"psraw xmm0, 16": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"sshr v16.8h, v16.8h, #15"
|
|
]
|
|
},
|
|
"psllw mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psllw mm0, 15": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"shl v2.8h, v2.8h, #15",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psllw mm0, 16": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psllw xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psllw xmm0, 15": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"shl v16.8h, v16.8h, #15"
|
|
]
|
|
},
|
|
"psllw xmm0, 16": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP12 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psrld mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrld mm0, 31": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"ushr v2.4s, v2.4s, #31",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrld mm0, 32": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrld xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrld xmm0, 31": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ushr v16.4s, v16.4s, #31"
|
|
]
|
|
},
|
|
"psrld xmm0, 32": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psrad mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrad mm0, 31": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"sshr v2.4s, v2.4s, #31",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrad mm0, 32": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"sshr v2.4s, v2.4s, #31",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrad xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrad xmm0, 31": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"sshr v16.4s, v16.4s, #31"
|
|
]
|
|
},
|
|
"psrad xmm0, 32": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"sshr v16.4s, v16.4s, #31"
|
|
]
|
|
},
|
|
"pslld mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"pslld mm0, 31": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"shl v2.4s, v2.4s, #31",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"pslld mm0, 32": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"pslld xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"pslld xmm0, 31": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"shl v16.4s, v16.4s, #31"
|
|
]
|
|
},
|
|
"pslld xmm0, 32": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP13 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psrlq mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrlq mm0, 63": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"ushr v2.2d, v2.2d, #63",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrlq mm0, 64": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psrlq xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrlq xmm0, 63": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"ushr v16.2d, v16.2d, #63"
|
|
]
|
|
},
|
|
"psrlq xmm0, 64": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /2",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psrldq xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psrldq xmm0, 15": {
|
|
"ExpectedInstructionCount": 2,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"movi v2.2d, #0x0",
|
|
"ext v16.16b, v16.16b, v2.16b, #15"
|
|
]
|
|
},
|
|
"psrldq xmm0, 16": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /3",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"psllq mm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psllq mm0, 63": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"shl v2.2d, v2.2d, #63",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psllq mm0, 64": {
|
|
"ExpectedInstructionCount": 3,
|
|
"Type": "MMX",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"ldr d2, [x28, #768]",
|
|
"movi v2.2d, #0x0",
|
|
"str d2, [x28, #768]"
|
|
]
|
|
},
|
|
"psllq xmm0, 0": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"psllq xmm0, 63": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"shl v16.2d, v16.2d, #63"
|
|
]
|
|
},
|
|
"psllq xmm0, 64": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Type": "SSE",
|
|
"Comment": "GROUP14 0x0F 0xC7 /6",
|
|
"ExpectedArm64ASM": [
|
|
"movi v16.2d, #0x0"
|
|
]
|
|
},
|
|
"fxsave [rax]": {
|
|
"ExpectedInstructionCount": 58,
|
|
"Comment": "GROUP15 0x0F 0xAE /0",
|
|
"ExpectedArm64ASM": [
|
|
"ldrh w20, [x28, #1152]",
|
|
"strh w20, [x4]",
|
|
"mov w20, #0x0",
|
|
"ldrb w21, [x28, #747]",
|
|
"bfi x20, x21, #11, #3",
|
|
"ldrb w21, [x28, #744]",
|
|
"ldrb w22, [x28, #745]",
|
|
"ldrb w23, [x28, #746]",
|
|
"ldrb w24, [x28, #750]",
|
|
"orr x20, x20, x21, lsl #8",
|
|
"orr x20, x20, x22, lsl #9",
|
|
"orr x20, x20, x23, lsl #10",
|
|
"orr x20, x20, x24, lsl #14",
|
|
"strh w20, [x4, #2]",
|
|
"ldrb w20, [x28, #1154]",
|
|
"strb w20, [x4, #4]",
|
|
"ldr q2, [x28, #768]",
|
|
"str q2, [x4, #32]",
|
|
"ldr q2, [x28, #784]",
|
|
"str q2, [x4, #48]",
|
|
"ldr q2, [x28, #800]",
|
|
"str q2, [x4, #64]",
|
|
"ldr q2, [x28, #816]",
|
|
"str q2, [x4, #80]",
|
|
"ldr q2, [x28, #832]",
|
|
"str q2, [x4, #96]",
|
|
"ldr q2, [x28, #848]",
|
|
"str q2, [x4, #112]",
|
|
"ldr q2, [x28, #864]",
|
|
"str q2, [x4, #128]",
|
|
"ldr q2, [x28, #880]",
|
|
"str q2, [x4, #144]",
|
|
"str q16, [x4, #160]",
|
|
"str q17, [x4, #176]",
|
|
"str q18, [x4, #192]",
|
|
"str q19, [x4, #208]",
|
|
"str q20, [x4, #224]",
|
|
"str q21, [x4, #240]",
|
|
"str q22, [x4, #256]",
|
|
"str q23, [x4, #272]",
|
|
"str q24, [x4, #288]",
|
|
"str q25, [x4, #304]",
|
|
"str q26, [x4, #320]",
|
|
"str q27, [x4, #336]",
|
|
"str q28, [x4, #352]",
|
|
"str q29, [x4, #368]",
|
|
"str q30, [x4, #384]",
|
|
"str q31, [x4, #400]",
|
|
"mov w20, #0x1f80",
|
|
"mrs x21, fpcr",
|
|
"ubfx x21, x21, #22, #3",
|
|
"rbit w0, w21",
|
|
"bfi x21, x0, #30, #2",
|
|
"bfi w20, w21, #13, #3",
|
|
"add x21, x4, #0x18 (24)",
|
|
"str w20, [x4, #24]",
|
|
"mov w20, #0xffff",
|
|
"str w20, [x21, #4]"
|
|
]
|
|
},
|
|
"rdfsbase eax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /0",
|
|
"ExpectedArm64ASM": [
|
|
"ldr w4, [x28, #176]"
|
|
]
|
|
},
|
|
"rdfsbase rax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /0",
|
|
"ExpectedArm64ASM": [
|
|
"ldr x4, [x28, #176]"
|
|
]
|
|
},
|
|
"fxrstor [rax]": {
|
|
"ExpectedInstructionCount": 56,
|
|
"Comment": "GROUP15 0x0F 0xAE /1",
|
|
"ExpectedArm64ASM": [
|
|
"ldrh w20, [x4]",
|
|
"strh w20, [x28, #1152]",
|
|
"ldrh w20, [x4, #2]",
|
|
"ubfx w21, w20, #11, #3",
|
|
"strb w21, [x28, #747]",
|
|
"ubfx w21, w20, #8, #1",
|
|
"ubfx w22, w20, #9, #1",
|
|
"ubfx w23, w20, #10, #1",
|
|
"ubfx w20, w20, #14, #1",
|
|
"strb w21, [x28, #744]",
|
|
"strb w22, [x28, #745]",
|
|
"strb w23, [x28, #746]",
|
|
"strb w20, [x28, #750]",
|
|
"ldrb w20, [x4, #4]",
|
|
"strb w20, [x28, #1154]",
|
|
"ldr q2, [x4, #32]",
|
|
"str q2, [x28, #768]",
|
|
"ldr q2, [x4, #48]",
|
|
"str q2, [x28, #784]",
|
|
"ldr q2, [x4, #64]",
|
|
"str q2, [x28, #800]",
|
|
"ldr q2, [x4, #80]",
|
|
"str q2, [x28, #816]",
|
|
"ldr q2, [x4, #96]",
|
|
"str q2, [x28, #832]",
|
|
"ldr q2, [x4, #112]",
|
|
"str q2, [x28, #848]",
|
|
"ldr q2, [x4, #128]",
|
|
"str q2, [x28, #864]",
|
|
"ldr q2, [x4, #144]",
|
|
"str q2, [x28, #880]",
|
|
"ldr q16, [x4, #160]",
|
|
"ldr q17, [x4, #176]",
|
|
"ldr q18, [x4, #192]",
|
|
"ldr q19, [x4, #208]",
|
|
"ldr q20, [x4, #224]",
|
|
"ldr q21, [x4, #240]",
|
|
"ldr q22, [x4, #256]",
|
|
"ldr q23, [x4, #272]",
|
|
"ldr q24, [x4, #288]",
|
|
"ldr q25, [x4, #304]",
|
|
"ldr q26, [x4, #320]",
|
|
"ldr q27, [x4, #336]",
|
|
"ldr q28, [x4, #352]",
|
|
"ldr q29, [x4, #368]",
|
|
"ldr q30, [x4, #384]",
|
|
"ldr q31, [x4, #400]",
|
|
"ldr w20, [x4, #24]",
|
|
"ubfx w20, w20, #13, #3",
|
|
"rbit w1, w20",
|
|
"lsr w1, w1, #30",
|
|
"mrs x0, fpcr",
|
|
"bfi x0, x1, #22, #2",
|
|
"lsr x1, x20, #2",
|
|
"bfi x0, x1, #24, #1",
|
|
"msr fpcr, x0"
|
|
]
|
|
},
|
|
"rdgsbase eax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /1",
|
|
"ExpectedArm64ASM": [
|
|
"ldr w4, [x28, #168]"
|
|
]
|
|
},
|
|
"rdgsbase rax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /1",
|
|
"ExpectedArm64ASM": [
|
|
"ldr x4, [x28, #168]"
|
|
]
|
|
},
|
|
"ldmxcsr [rax]": {
|
|
"ExpectedInstructionCount": 9,
|
|
"Comment": "GROUP15 0x0F 0xAE /2",
|
|
"ExpectedArm64ASM": [
|
|
"ldr w20, [x4]",
|
|
"ubfx w20, w20, #13, #3",
|
|
"rbit w1, w20",
|
|
"lsr w1, w1, #30",
|
|
"mrs x0, fpcr",
|
|
"bfi x0, x1, #22, #2",
|
|
"lsr x1, x20, #2",
|
|
"bfi x0, x1, #24, #1",
|
|
"msr fpcr, x0"
|
|
]
|
|
},
|
|
"wrfsbase eax": {
|
|
"ExpectedInstructionCount": 2,
|
|
"Comment": "GROUP15 0x0F 0xAE /2",
|
|
"ExpectedArm64ASM": [
|
|
"mov w20, w4",
|
|
"str x20, [x28, #176]"
|
|
]
|
|
},
|
|
"wrfsbase rax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /2",
|
|
"ExpectedArm64ASM": [
|
|
"str x4, [x28, #176]"
|
|
]
|
|
},
|
|
"stmxcsr [rax]": {
|
|
"ExpectedInstructionCount": 7,
|
|
"Comment": "GROUP15 0x0F 0xAE /3",
|
|
"ExpectedArm64ASM": [
|
|
"mov w20, #0x1f80",
|
|
"mrs x21, fpcr",
|
|
"ubfx x21, x21, #22, #3",
|
|
"rbit w0, w21",
|
|
"bfi x21, x0, #30, #2",
|
|
"bfi w20, w21, #13, #3",
|
|
"str w20, [x4]"
|
|
]
|
|
},
|
|
"wrgsbase eax": {
|
|
"ExpectedInstructionCount": 2,
|
|
"Comment": "GROUP15 0x0F 0xAE /3",
|
|
"ExpectedArm64ASM": [
|
|
"mov w20, w4",
|
|
"str x20, [x28, #168]"
|
|
]
|
|
},
|
|
"wrgsbase rax": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /3",
|
|
"ExpectedArm64ASM": [
|
|
"str x4, [x28, #168]"
|
|
]
|
|
},
|
|
"xsave [rax]": {
|
|
"ExpectedInstructionCount": 71,
|
|
"Comment": "GROUP15 0x0F 0xAE /4",
|
|
"ExpectedArm64ASM": [
|
|
"mov x20, x4",
|
|
"mov x21, x4",
|
|
"ubfx x22, x20, #0, #1",
|
|
"cbnz x22, #+0x8",
|
|
"b #+0x84",
|
|
"ldrh w22, [x28, #1152]",
|
|
"strh w22, [x21]",
|
|
"mov w22, #0x0",
|
|
"ldrb w23, [x28, #747]",
|
|
"bfi x22, x23, #11, #3",
|
|
"ldrb w23, [x28, #744]",
|
|
"ldrb w24, [x28, #745]",
|
|
"ldrb w25, [x28, #746]",
|
|
"ldrb w30, [x28, #750]",
|
|
"orr x22, x22, x23, lsl #8",
|
|
"orr x22, x22, x24, lsl #9",
|
|
"orr x22, x22, x25, lsl #10",
|
|
"orr x22, x22, x30, lsl #14",
|
|
"strh w22, [x21, #2]",
|
|
"ldrb w22, [x28, #1154]",
|
|
"strb w22, [x21, #4]",
|
|
"ldr q2, [x28, #768]",
|
|
"str q2, [x21, #32]",
|
|
"ldr q2, [x28, #784]",
|
|
"str q2, [x21, #48]",
|
|
"ldr q2, [x28, #800]",
|
|
"str q2, [x21, #64]",
|
|
"ldr q2, [x28, #816]",
|
|
"str q2, [x21, #80]",
|
|
"ldr q2, [x28, #832]",
|
|
"str q2, [x21, #96]",
|
|
"ldr q2, [x28, #848]",
|
|
"str q2, [x21, #112]",
|
|
"ldr q2, [x28, #864]",
|
|
"str q2, [x21, #128]",
|
|
"ldr q2, [x28, #880]",
|
|
"str q2, [x21, #144]",
|
|
"ubfx x22, x20, #1, #1",
|
|
"cbnz x22, #+0x8",
|
|
"b #+0x44",
|
|
"str q16, [x21, #160]",
|
|
"str q17, [x21, #176]",
|
|
"str q18, [x21, #192]",
|
|
"str q19, [x21, #208]",
|
|
"str q20, [x21, #224]",
|
|
"str q21, [x21, #240]",
|
|
"str q22, [x21, #256]",
|
|
"str q23, [x21, #272]",
|
|
"str q24, [x21, #288]",
|
|
"str q25, [x21, #304]",
|
|
"str q26, [x21, #320]",
|
|
"str q27, [x21, #336]",
|
|
"str q28, [x21, #352]",
|
|
"str q29, [x21, #368]",
|
|
"str q30, [x21, #384]",
|
|
"str q31, [x21, #400]",
|
|
"ubfx x22, x20, #1, #2",
|
|
"cbnz x22, #+0x8",
|
|
"b #+0x2c",
|
|
"mov w22, #0x1f80",
|
|
"mrs x23, fpcr",
|
|
"ubfx x23, x23, #22, #3",
|
|
"rbit w0, w23",
|
|
"bfi x23, x0, #30, #2",
|
|
"bfi w22, w23, #13, #3",
|
|
"add x23, x21, #0x18 (24)",
|
|
"str w22, [x21, #24]",
|
|
"mov w22, #0xffff",
|
|
"str w22, [x23, #4]",
|
|
"ubfx x20, x20, #0, #3",
|
|
"str x20, [x21, #512]"
|
|
]
|
|
},
|
|
"lfence": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /5",
|
|
"ExpectedArm64ASM": [
|
|
"dmb ld"
|
|
]
|
|
},
|
|
"xrstor [rax]": {
|
|
"ExpectedInstructionCount": 104,
|
|
"Comment": "GROUP15 0x0F 0xAE /5",
|
|
"ExpectedArm64ASM": [
|
|
"mov x20, x4",
|
|
"ldr x21, [x20, #512]",
|
|
"ubfx x22, x21, #0, #1",
|
|
"cbnz x22, #+0x8",
|
|
"b #+0x84",
|
|
"ldrh w22, [x20]",
|
|
"strh w22, [x28, #1152]",
|
|
"ldrh w22, [x20, #2]",
|
|
"ubfx w23, w22, #11, #3",
|
|
"strb w23, [x28, #747]",
|
|
"ubfx w23, w22, #8, #1",
|
|
"ubfx w24, w22, #9, #1",
|
|
"ubfx w25, w22, #10, #1",
|
|
"ubfx w22, w22, #14, #1",
|
|
"strb w23, [x28, #744]",
|
|
"strb w24, [x28, #745]",
|
|
"strb w25, [x28, #746]",
|
|
"strb w22, [x28, #750]",
|
|
"ldrb w22, [x20, #4]",
|
|
"strb w22, [x28, #1154]",
|
|
"ldr q2, [x20, #32]",
|
|
"str q2, [x28, #768]",
|
|
"ldr q2, [x20, #48]",
|
|
"str q2, [x28, #784]",
|
|
"ldr q2, [x20, #64]",
|
|
"str q2, [x28, #800]",
|
|
"ldr q2, [x20, #80]",
|
|
"str q2, [x28, #816]",
|
|
"ldr q2, [x20, #96]",
|
|
"str q2, [x28, #832]",
|
|
"ldr q2, [x20, #112]",
|
|
"str q2, [x28, #848]",
|
|
"ldr q2, [x20, #128]",
|
|
"str q2, [x28, #864]",
|
|
"ldr q2, [x20, #144]",
|
|
"str q2, [x28, #880]",
|
|
"b #+0x4c",
|
|
"mov w22, #0x0",
|
|
"mov w23, #0x37f",
|
|
"strh w23, [x28, #1152]",
|
|
"strb w22, [x28, #747]",
|
|
"strb w22, [x28, #744]",
|
|
"strb w22, [x28, #745]",
|
|
"strb w22, [x28, #746]",
|
|
"strb w22, [x28, #750]",
|
|
"strb w22, [x28, #1154]",
|
|
"movi v2.2d, #0x0",
|
|
"str q2, [x28, #768]",
|
|
"str q2, [x28, #784]",
|
|
"str q2, [x28, #800]",
|
|
"str q2, [x28, #816]",
|
|
"str q2, [x28, #832]",
|
|
"str q2, [x28, #848]",
|
|
"str q2, [x28, #864]",
|
|
"str q2, [x28, #880]",
|
|
"ubfx x22, x21, #1, #1",
|
|
"cbnz x22, #+0x8",
|
|
"b #+0x48",
|
|
"ldr q16, [x20, #160]",
|
|
"ldr q17, [x20, #176]",
|
|
"ldr q18, [x20, #192]",
|
|
"ldr q19, [x20, #208]",
|
|
"ldr q20, [x20, #224]",
|
|
"ldr q21, [x20, #240]",
|
|
"ldr q22, [x20, #256]",
|
|
"ldr q23, [x20, #272]",
|
|
"ldr q24, [x20, #288]",
|
|
"ldr q25, [x20, #304]",
|
|
"ldr q26, [x20, #320]",
|
|
"ldr q27, [x20, #336]",
|
|
"ldr q28, [x20, #352]",
|
|
"ldr q29, [x20, #368]",
|
|
"ldr q30, [x20, #384]",
|
|
"ldr q31, [x20, #400]",
|
|
"b #+0x44",
|
|
"movi v16.2d, #0x0",
|
|
"mov v17.16b, v16.16b",
|
|
"mov v18.16b, v16.16b",
|
|
"mov v19.16b, v16.16b",
|
|
"mov v20.16b, v16.16b",
|
|
"mov v21.16b, v16.16b",
|
|
"mov v22.16b, v16.16b",
|
|
"mov v23.16b, v16.16b",
|
|
"mov v24.16b, v16.16b",
|
|
"mov v25.16b, v16.16b",
|
|
"mov v26.16b, v16.16b",
|
|
"mov v27.16b, v16.16b",
|
|
"mov v28.16b, v16.16b",
|
|
"mov v29.16b, v16.16b",
|
|
"mov v30.16b, v16.16b",
|
|
"mov v31.16b, v16.16b",
|
|
"ubfx x21, x21, #1, #2",
|
|
"cbnz x21, #+0x8",
|
|
"b #+0x2c",
|
|
"ldr w20, [x20, #24]",
|
|
"ubfx w20, w20, #13, #3",
|
|
"rbit w1, w20",
|
|
"lsr w1, w1, #30",
|
|
"mrs x0, fpcr",
|
|
"bfi x0, x1, #22, #2",
|
|
"lsr x1, x20, #2",
|
|
"bfi x0, x1, #24, #1",
|
|
"msr fpcr, x0",
|
|
"b #+0x4"
|
|
]
|
|
},
|
|
"mfence": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /6",
|
|
"ExpectedArm64ASM": [
|
|
"dmb sy"
|
|
]
|
|
},
|
|
"clwb [rax]": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /6",
|
|
"ExpectedArm64ASM": [
|
|
"dc cvac, x4"
|
|
]
|
|
},
|
|
"sfence": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /7",
|
|
"ExpectedArm64ASM": [
|
|
"dmb st"
|
|
]
|
|
},
|
|
"clflush [rax]": {
|
|
"ExpectedInstructionCount": 2,
|
|
"Comment": "GROUP15 0x0F 0xAE /7",
|
|
"ExpectedArm64ASM": [
|
|
"dc civac, x4",
|
|
"dsb ish"
|
|
]
|
|
},
|
|
"clflushopt [rax]": {
|
|
"ExpectedInstructionCount": 1,
|
|
"Comment": "GROUP15 0x0F 0xAE /7",
|
|
"ExpectedArm64ASM": [
|
|
"dc civac, x4"
|
|
]
|
|
},
|
|
"prefetchnta [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUP16 0x0F 0x18 /0",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"prefetcht0 [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUP16 0x0F 0x18 /1",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"prefetcht1 [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUP16 0x0F 0x18 /2",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"prefetcht2 [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUP16 0x0F 0x18 /3",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"db 0x0f, 0x18, 0x20;": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUP16 0x0F 0x18 /4",
|
|
"nop dword [rax]",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"db 0x0f, 0x0d, 0x00": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUPP 0x0F 0x0D /0",
|
|
"prefetch_exclusive [rax]",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"prefetchw [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUPP 0x0F 0x0D /1",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
},
|
|
"prefetchwt1 [rax]": {
|
|
"ExpectedInstructionCount": 0,
|
|
"Comment": [
|
|
"GROUPP 0x0F 0x0D /2",
|
|
"NOP implementation"
|
|
],
|
|
"ExpectedArm64ASM": []
|
|
}
|
|
}
|
|
}
|