mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 14:00:16 +02:00
InstCountCI: Update
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
1 parent
56841f0e50
commit
bec8e27b4f
10 files changed
+1394
-2166
No files matched your search
@@ -22,12 +22,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -44,12 +44,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -121,7 +121,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -151,7 +151,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -197,7 +197,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -228,7 +228,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -301,12 +301,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -324,12 +324,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -442,12 +442,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -465,12 +465,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -512,10 +512,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -532,10 +532,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -551,10 +551,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -571,10 +571,10 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w20, #16, #1",
|
||||
"ubfx x23, x20, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -639,10 +639,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -814,7 +814,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -842,7 +842,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -869,7 +869,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -897,7 +897,7 @@
|
||||
"csel x20, x20, x25, eq",
|
||||
"orr w20, w24, w20, lsl #29",
|
||||
"bic w21, w23, w22",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w20, w20, w21, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -981,7 +981,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1037,7 +1037,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1066,7 +1066,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1094,7 +1094,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1123,7 +1123,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1236,7 +1236,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1427,10 +1427,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1448,10 +1448,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1468,10 +1468,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1489,10 +1489,10 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w20, #16, #1",
|
||||
"ubfx x23, x20, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1574,10 +1574,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1749,7 +1749,7 @@
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
@@ -1801,10 +1801,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1823,10 +1823,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1881,7 +1881,7 @@
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
@@ -1934,7 +1934,7 @@
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
@@ -1953,7 +1953,7 @@
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
|
||||
@@ -2000,105 +2000,83 @@
|
||||
]
|
||||
},
|
||||
"imul ax, bx, 257": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x20, w7",
|
||||
"mov w21, #0x101",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx, 257": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x20, w7",
|
||||
"mov w21, #0x101",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx, 257": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x101",
|
||||
"mul x4, x7, x20",
|
||||
"smulh x20, x7, x20",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul ax, bx, 3": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x20, w7",
|
||||
"mov w21, #0x3",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx, 3": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x20, w7",
|
||||
"mov w21, #0x3",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx, 3": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x3",
|
||||
"mul x4, x7, x20",
|
||||
"smulh x20, x7, x20",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"test al, bl": {
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -680,7 +680,7 @@
|
||||
]
|
||||
},
|
||||
"shld ax, bx, 1": {
|
||||
"ExpectedInstructionCount": 13,
|
||||
"ExpectedInstructionCount": 11,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -690,16 +690,14 @@
|
||||
"orr x20, x22, x20",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"ubfx w22, w21, #15, #1",
|
||||
"rmif x22, #63, #nzCv",
|
||||
"rmif x21, #14, #nzCv",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"rmif x20, #0, #nzcV"
|
||||
"rmif x20, #15, #nzcV"
|
||||
]
|
||||
},
|
||||
"shld ax, bx, 15": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 9,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -709,13 +707,12 @@
|
||||
"orr x20, x22, x20",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"ubfx w21, w21, #1, #1",
|
||||
"rmif x21, #63, #nzCv",
|
||||
"rmif x21, #0, #nzCv",
|
||||
"strb w20, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld ax, bx, 16": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -724,13 +721,12 @@
|
||||
"orr x20, x22, x20",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"ubfx w21, w21, #0, #1",
|
||||
"rmif x21, #63, #nzCv",
|
||||
"strb w20, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld ax, bx, 31": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 9,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -740,119 +736,108 @@
|
||||
"orr x20, x22, x20",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"ubfx w21, w21, #1, #1",
|
||||
"rmif x21, #63, #nzCv",
|
||||
"rmif x21, #0, #nzCv",
|
||||
"strb w20, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, 1": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov w21, w4",
|
||||
"extr w4, w21, w20, #31",
|
||||
"tst w4, w4",
|
||||
"lsr w20, w21, #31",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x21, #30, #nzCv",
|
||||
"strb w4, [x28, #706]",
|
||||
"eor w20, w4, w21",
|
||||
"lsr w20, w20, #31",
|
||||
"rmif x20, #0, #nzcV"
|
||||
"rmif x20, #31, #nzcV"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, 15": {
|
||||
"ExpectedInstructionCount": 7,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov w21, w4",
|
||||
"extr w4, w21, w20, #17",
|
||||
"tst w4, w4",
|
||||
"ubfx w20, w21, #17, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x21, #16, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, 16": {
|
||||
"ExpectedInstructionCount": 7,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov w21, w4",
|
||||
"extr w4, w21, w20, #16",
|
||||
"tst w4, w4",
|
||||
"ubfx w20, w21, #16, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x21, #15, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, 31": {
|
||||
"ExpectedInstructionCount": 7,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov w21, w4",
|
||||
"extr w4, w21, w20, #1",
|
||||
"tst w4, w4",
|
||||
"ubfx w20, w21, #1, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x21, #0, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, 1": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 7,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"extr x4, x20, x7, #63",
|
||||
"tst x4, x4",
|
||||
"lsr x21, x20, #63",
|
||||
"rmif x21, #63, #nzCv",
|
||||
"rmif x20, #62, #nzCv",
|
||||
"strb w4, [x28, #706]",
|
||||
"eor x20, x4, x20",
|
||||
"lsr x20, x20, #63",
|
||||
"rmif x20, #0, #nzcV"
|
||||
"rmif x20, #63, #nzcV"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, 15": {
|
||||
"ExpectedInstructionCount": 6,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"extr x4, x20, x7, #49",
|
||||
"tst x4, x4",
|
||||
"ubfx x20, x20, #49, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x20, #48, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, 32": {
|
||||
"ExpectedInstructionCount": 6,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"extr x4, x20, x7, #32",
|
||||
"tst x4, x4",
|
||||
"ubfx x20, x20, #32, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x20, #31, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, 63": {
|
||||
"ExpectedInstructionCount": 6,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"extr x4, x20, x7, #1",
|
||||
"tst x4, x4",
|
||||
"ubfx x20, x20, #1, #1",
|
||||
"rmif x20, #63, #nzCv",
|
||||
"rmif x20, #0, #nzCv",
|
||||
"strb w4, [x28, #706]"
|
||||
]
|
||||
},
|
||||
"shld ax, bx, cl": {
|
||||
"ExpectedInstructionCount": 34,
|
||||
"ExpectedInstructionCount": 24,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -860,39 +845,29 @@
|
||||
"uxtb w22, w5",
|
||||
"and x22, x22, #0x1f",
|
||||
"mov w23, #0x10",
|
||||
"sub x24, x23, x22",
|
||||
"lsl x25, x21, x22",
|
||||
"lsr w20, w20, w24",
|
||||
"orr x20, x25, x20",
|
||||
"mrs x24, nzcv",
|
||||
"sub x23, x23, x22",
|
||||
"lsl x24, x21, x22",
|
||||
"lsr w20, w20, w23",
|
||||
"orr x20, x24, x20",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x20, x21, x20, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"uxth x20, w20",
|
||||
"msr nzcv, x24",
|
||||
"mrs x24, nzcv",
|
||||
"msr nzcv, x23",
|
||||
"cbz x22, #+0x24",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"sub w23, w23, w22",
|
||||
"lsr w23, w21, w23",
|
||||
"ubfx w23, w23, #0, #1",
|
||||
"rmif x23, #63, #nzCv",
|
||||
"ldrb w23, [x28, #706]",
|
||||
"mrs x25, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x23, x23, x20, eq",
|
||||
"strb w23, [x28, #706]",
|
||||
"mov w23, #0x10",
|
||||
"sub w22, w23, w22",
|
||||
"lsr w22, w21, w22",
|
||||
"rmif x22, #63, #nzCv",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"msr nzcv, x25",
|
||||
"rmif x20, #0, #nzcV",
|
||||
"mrs x20, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel w20, w24, w20, eq",
|
||||
"msr nzcv, x20"
|
||||
"rmif x20, #15, #nzcV"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, cl": {
|
||||
"ExpectedInstructionCount": 34,
|
||||
"ExpectedInstructionCount": 24,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
@@ -900,72 +875,53 @@
|
||||
"uxtb w22, w5",
|
||||
"and x22, x22, #0x1f",
|
||||
"mov w23, #0x20",
|
||||
"sub x24, x23, x22",
|
||||
"lsl x25, x21, x22",
|
||||
"lsr w20, w20, w24",
|
||||
"orr x20, x25, x20",
|
||||
"mrs x24, nzcv",
|
||||
"sub x23, x23, x22",
|
||||
"lsl x24, x21, x22",
|
||||
"lsr w20, w20, w23",
|
||||
"orr x20, x24, x20",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x20, x21, x20, eq",
|
||||
"mov w4, w20",
|
||||
"mov w20, w20",
|
||||
"msr nzcv, x24",
|
||||
"mrs x24, nzcv",
|
||||
"msr nzcv, x23",
|
||||
"cbz x22, #+0x24",
|
||||
"tst w20, w20",
|
||||
"sub w23, w23, w22",
|
||||
"lsr w23, w21, w23",
|
||||
"ubfx w23, w23, #0, #1",
|
||||
"rmif x23, #63, #nzCv",
|
||||
"ldrb w23, [x28, #706]",
|
||||
"mrs x25, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x23, x23, x20, eq",
|
||||
"strb w23, [x28, #706]",
|
||||
"mov w23, #0x20",
|
||||
"sub w22, w23, w22",
|
||||
"lsr w22, w21, w22",
|
||||
"rmif x22, #63, #nzCv",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w21, w20",
|
||||
"lsr w20, w20, #31",
|
||||
"msr nzcv, x25",
|
||||
"rmif x20, #0, #nzcV",
|
||||
"mrs x20, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel w20, w24, w20, eq",
|
||||
"msr nzcv, x20"
|
||||
"rmif x20, #31, #nzcV"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, cl": {
|
||||
"ExpectedInstructionCount": 31,
|
||||
"ExpectedInstructionCount": 22,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"uxtb w21, w5",
|
||||
"and x21, x21, #0x3f",
|
||||
"mov w22, #0x40",
|
||||
"sub x23, x22, x21",
|
||||
"lsl x24, x20, x21",
|
||||
"lsr x23, x7, x23",
|
||||
"orr x23, x24, x23",
|
||||
"mrs x24, nzcv",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel x4, x20, x23, eq",
|
||||
"msr nzcv, x24",
|
||||
"mrs x23, nzcv",
|
||||
"tst x4, x4",
|
||||
"sub x22, x22, x21",
|
||||
"lsr x22, x20, x22",
|
||||
"ubfx x22, x22, #0, #1",
|
||||
"rmif x22, #63, #nzCv",
|
||||
"ldrb w22, [x28, #706]",
|
||||
"mrs x24, nzcv",
|
||||
"lsl x23, x20, x21",
|
||||
"lsr x22, x7, x22",
|
||||
"orr x22, x23, x22",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel x22, x22, x4, eq",
|
||||
"csel x22, x20, x22, eq",
|
||||
"mov x4, x22",
|
||||
"msr nzcv, x23",
|
||||
"cbz x21, #+0x24",
|
||||
"tst x22, x22",
|
||||
"mov w23, #0x40",
|
||||
"sub x21, x23, x21",
|
||||
"lsr x21, x20, x21",
|
||||
"rmif x21, #63, #nzCv",
|
||||
"strb w22, [x28, #706]",
|
||||
"eor x20, x20, x4",
|
||||
"lsr x20, x20, #63",
|
||||
"msr nzcv, x24",
|
||||
"rmif x20, #0, #nzcV",
|
||||
"mrs x20, nzcv",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w23, w20, eq",
|
||||
"msr nzcv, x20"
|
||||
"eor x20, x20, x22",
|
||||
"rmif x20, #63, #nzcV"
|
||||
]
|
||||
},
|
||||
"bts ax, bx": {
|
||||
@@ -1109,56 +1065,42 @@
|
||||
]
|
||||
},
|
||||
"imul ax, bx": {
|
||||
"ExpectedInstructionCount": 13,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"uxth w21, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x21, w21",
|
||||
"sxth x20, w4",
|
||||
"sxth x21, w7",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx": {
|
||||
"ExpectedInstructionCount": 13,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"mov w21, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x21, w21",
|
||||
"sxtw x20, w4",
|
||||
"sxtw x21, w7",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"mul x4, x20, x7",
|
||||
"smulh x20, x20, x7",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"smulh x20, x4, x7",
|
||||
"mul x4, x4, x7",
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"cmpxchg al, bl": {
|
||||
@@ -1621,7 +1563,7 @@
|
||||
]
|
||||
},
|
||||
"bsf ax, bx": {
|
||||
"ExpectedInstructionCount": 14,
|
||||
"ExpectedInstructionCount": 10,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
@@ -1631,17 +1573,13 @@
|
||||
"rbit w0, w0",
|
||||
"clz w22, w0",
|
||||
"csinv w22, w22, wzr, ne",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w20, w22, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"csel x20, x20, x22, eq",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
"bsf eax, ebx": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
@@ -1650,32 +1588,24 @@
|
||||
"rbit w0, w0",
|
||||
"clz w21, w0",
|
||||
"csinv w21, w21, wzr, ne",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"csel x4, x4, x21, eq",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst w20, w20",
|
||||
"csel x4, x4, x21, eq"
|
||||
]
|
||||
},
|
||||
"bsf rax, rbx": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"rbit x0, x7",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"clz x20, x0",
|
||||
"csinv x20, x20, xzr, ne",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"csel x4, x4, x20, eq",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst x7, x7",
|
||||
"csel x4, x4, x20, eq"
|
||||
]
|
||||
},
|
||||
"bsr ax, bx": {
|
||||
"ExpectedInstructionCount": 14,
|
||||
"ExpectedInstructionCount": 10,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
@@ -1685,44 +1615,32 @@
|
||||
"orr w22, w22, #0x8000",
|
||||
"clz w22, w22",
|
||||
"sub x22, x0, x22",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w20, w22, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"csel x20, x20, x22, eq",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
"bsr eax, ebx": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov x0, #0x1f",
|
||||
"clz w21, w20",
|
||||
"sub x21, x0, x21",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"csel x4, x4, x21, eq",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst w20, w20",
|
||||
"csel x4, x4, x21, eq"
|
||||
]
|
||||
},
|
||||
"bsr rax, rbx": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x0, #0x3f",
|
||||
"clz x20, x7",
|
||||
"sub x20, x0, x20",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"csel x4, x4, x20, eq",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst x7, x7",
|
||||
"csel x4, x4, x20, eq"
|
||||
]
|
||||
},
|
||||
"xadd al, bl": {
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
]
|
||||
},
|
||||
"lzcnt ax, bx": {
|
||||
"ExpectedInstructionCount": 11,
|
||||
"ExpectedInstructionCount": 10,
|
||||
"Comment": "0xf3 0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -125,13 +125,12 @@
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x21, eq",
|
||||
"lsl x21, x21, #29",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
"msr nzcv, x21",
|
||||
"rmif x20, #13, #nZcv"
|
||||
]
|
||||
},
|
||||
"lzcnt eax, ebx": {
|
||||
"ExpectedInstructionCount": 8,
|
||||
"ExpectedInstructionCount": 7,
|
||||
"Comment": "0xf3 0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
@@ -139,22 +138,20 @@
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x21, eq",
|
||||
"lsl x21, x21, #29",
|
||||
"lsr w20, w20, #31",
|
||||
"orr w20, w21, w20, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
"msr nzcv, x21",
|
||||
"rmif x20, #29, #nZcv"
|
||||
]
|
||||
},
|
||||
"lzcnt rax, rbx": {
|
||||
"ExpectedInstructionCount": 7,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0xf3 0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"clz x4, x7",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #29",
|
||||
"lsr x21, x7, #63",
|
||||
"orr w20, w20, w21, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
"msr nzcv, x20",
|
||||
"rmif x7, #61, #nZcv"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -46,12 +46,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -96,12 +96,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -122,12 +122,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -173,10 +173,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -192,10 +192,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -234,10 +234,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -255,10 +255,10 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w20, #16, #1",
|
||||
"ubfx x23, x20, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -492,7 +492,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -523,7 +523,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -586,7 +586,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -620,7 +620,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -683,7 +683,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -711,7 +711,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -768,7 +768,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -797,7 +797,7 @@
|
||||
"csel x20, x20, x25, eq",
|
||||
"orr w20, w24, w20, lsl #29",
|
||||
"bic w21, w23, w22",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w20, w20, w21, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -858,7 +858,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -889,7 +889,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -964,7 +964,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -998,7 +998,7 @@
|
||||
"eor w20, w23, w20",
|
||||
"eor w22, w22, w23",
|
||||
"and w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1073,7 +1073,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1101,7 +1101,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w22, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1170,7 +1170,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1199,7 +1199,7 @@
|
||||
"csel x21, x25, x24, eq",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"bic w20, w20, w22",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1425,12 +1425,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1448,12 +1448,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1504,12 +1504,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1530,12 +1530,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1587,10 +1587,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1606,10 +1606,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1654,10 +1654,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1675,10 +1675,10 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w20, #16, #1",
|
||||
"ubfx x23, x20, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1853,12 +1853,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1915,12 +1915,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1970,12 +1970,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1995,12 +1995,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2051,10 +2051,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2069,10 +2069,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #16, #1",
|
||||
"ubfx x23, x21, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2115,10 +2115,10 @@
|
||||
"strb w21, [x28, #706]",
|
||||
"cmn wzr, w21, lsl #24",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #8, #1",
|
||||
"ubfx x23, x21, #8, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2135,10 +2135,10 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w20, #16, #1",
|
||||
"ubfx x23, x20, #16, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2230,54 +2230,43 @@
|
||||
]
|
||||
},
|
||||
"imul ax, bx, 257": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x20, w7",
|
||||
"mov w21, #0x101",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx, 257": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x20, w7",
|
||||
"mov w21, #0x101",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx, 257": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x69",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x101",
|
||||
"mul x4, x7, x20",
|
||||
"smulh x20, x7, x20",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"push word -1": {
|
||||
@@ -2305,54 +2294,43 @@
|
||||
]
|
||||
},
|
||||
"imul ax, bx, 3": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x20, w7",
|
||||
"mov w21, #0x3",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx, 3": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x20, w7",
|
||||
"mov w21, #0x3",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx, 3": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x6b",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x3",
|
||||
"mul x4, x7, x20",
|
||||
"smulh x20, x7, x20",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"test al, bl": {
|
||||
@@ -3021,15 +2999,15 @@
|
||||
"add x8, x8, #0x8 (8)",
|
||||
"mov w21, #0x202",
|
||||
"orr x20, x20, x21",
|
||||
"ubfx w21, w20, #0, #1",
|
||||
"ubfx x21, x20, #0, #1",
|
||||
"lsl x21, x21, #29",
|
||||
"ubfx w22, w20, #2, #1",
|
||||
"eor w22, w22, #0x1",
|
||||
"strb w22, [x28, #706]",
|
||||
"strb w20, [x28, #708]",
|
||||
"ubfx w22, w20, #6, #1",
|
||||
"ubfx x22, x20, #6, #1",
|
||||
"orr w21, w21, w22, lsl #30",
|
||||
"ubfx w22, w20, #7, #1",
|
||||
"ubfx x22, x20, #7, #1",
|
||||
"orr w21, w21, w22, lsl #31",
|
||||
"ubfx w22, w20, #8, #1",
|
||||
"strb w22, [x28, #712]",
|
||||
@@ -3037,7 +3015,7 @@
|
||||
"strb w22, [x28, #713]",
|
||||
"ubfx w22, w20, #10, #1",
|
||||
"strb w22, [x28, #714]",
|
||||
"ubfx w22, w20, #11, #1",
|
||||
"ubfx x22, x20, #11, #1",
|
||||
"orr w21, w21, w22, lsl #28",
|
||||
"ubfx w22, w20, #12, #1",
|
||||
"strb w22, [x28, #716]",
|
||||
@@ -3066,7 +3044,7 @@
|
||||
"mov w21, #0x28",
|
||||
"bic x20, x20, x21",
|
||||
"orr x20, x20, #0x2",
|
||||
"ubfx w21, w20, #0, #1",
|
||||
"ubfx x21, x20, #0, #1",
|
||||
"mrs x22, nzcv",
|
||||
"mov w0, w22",
|
||||
"bfi w0, w21, #29, #1",
|
||||
@@ -3075,9 +3053,9 @@
|
||||
"eor w22, w22, #0x1",
|
||||
"strb w22, [x28, #706]",
|
||||
"strb w20, [x28, #708]",
|
||||
"ubfx w22, w20, #6, #1",
|
||||
"ubfx x22, x20, #6, #1",
|
||||
"bfi w21, w22, #30, #1",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"mov w0, w21",
|
||||
"bfi w0, w20, #31, #1",
|
||||
"mov w20, w0",
|
||||
@@ -3379,12 +3357,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -3408,12 +3386,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -3480,12 +3458,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #24",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #8, #1",
|
||||
"ubfx x25, x23, #8, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w21, w22, w21",
|
||||
"eor w22, w23, w22",
|
||||
"and w21, w22, w21",
|
||||
"ubfx w21, w21, #7, #1",
|
||||
"ubfx x21, x21, #7, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -3511,12 +3489,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #16",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #16, #1",
|
||||
"ubfx x25, x23, #16, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w21, w22, w21",
|
||||
"eor w22, w23, w22",
|
||||
"and w21, w22, w21",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -3592,12 +3570,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #24",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #8, #1",
|
||||
"ubfx x25, x23, #8, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w21, w22, w21",
|
||||
"eor w22, w23, w22",
|
||||
"and w21, w22, w21",
|
||||
"ubfx w21, w21, #7, #1",
|
||||
"ubfx x21, x21, #7, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -3623,12 +3601,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #16",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #16, #1",
|
||||
"ubfx x25, x23, #16, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w21, w22, w21",
|
||||
"eor w22, w23, w22",
|
||||
"and w21, w22, w21",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -4024,12 +4002,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w21, w20, w21",
|
||||
"eor w20, w22, w20",
|
||||
"and w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -4050,12 +4028,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w21, w20, w21",
|
||||
"eor w20, w22, w20",
|
||||
"and w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -4115,12 +4093,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #24",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #8, #1",
|
||||
"ubfx x25, x23, #8, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w22, w21, w22",
|
||||
"eor w21, w23, w21",
|
||||
"and w21, w21, w22",
|
||||
"ubfx w21, w21, #7, #1",
|
||||
"ubfx x21, x21, #7, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -4145,12 +4123,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #16",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #16, #1",
|
||||
"ubfx x25, x23, #16, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w22, w21, w22",
|
||||
"eor w21, w23, w21",
|
||||
"and w21, w21, w22",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -4222,12 +4200,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #24",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #8, #1",
|
||||
"ubfx x25, x23, #8, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w22, w21, w22",
|
||||
"eor w21, w23, w21",
|
||||
"and w21, w21, w22",
|
||||
"ubfx w21, w21, #7, #1",
|
||||
"ubfx x21, x21, #7, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
@@ -4252,12 +4230,12 @@
|
||||
"strb w23, [x28, #706]",
|
||||
"cmn wzr, w23, lsl #16",
|
||||
"mrs x24, nzcv",
|
||||
"ubfx w25, w23, #16, #1",
|
||||
"ubfx x25, x23, #16, #1",
|
||||
"orr w24, w24, w25, lsl #29",
|
||||
"eor w22, w21, w22",
|
||||
"eor w21, w23, w21",
|
||||
"and w21, w21, w22",
|
||||
"ubfx w21, w21, #15, #1",
|
||||
"ubfx x21, x21, #15, #1",
|
||||
"orr w21, w24, w21, lsl #28",
|
||||
"msr nzcv, x21",
|
||||
"sub x5, x5, #0x1 (1)",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -301,7 +301,7 @@
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
@@ -335,7 +335,7 @@
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"msr nzcv, x20"
|
||||
|
||||
@@ -1428,11 +1428,11 @@
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w23, w21, #15, #1",
|
||||
"ubfx x23, x21, #15, #1",
|
||||
"orr w22, w22, w23, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1449,7 +1449,7 @@
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w21, w21, #1, #1",
|
||||
"ubfx x21, x21, #1, #1",
|
||||
"orr w21, w22, w21, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"msr nzcv, x21"
|
||||
@@ -1466,7 +1466,7 @@
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w21, w21, #0, #1",
|
||||
"ubfx x21, x21, #0, #1",
|
||||
"orr w21, w22, w21, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"msr nzcv, x21"
|
||||
@@ -1484,7 +1484,7 @@
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x22, nzcv",
|
||||
"ubfx w21, w21, #1, #1",
|
||||
"ubfx x21, x21, #1, #1",
|
||||
"orr w21, w22, w21, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"msr nzcv, x21"
|
||||
@@ -1506,11 +1506,11 @@
|
||||
"extr w4, w21, w20, #31",
|
||||
"tst w4, w4",
|
||||
"mrs x20, nzcv",
|
||||
"lsr w22, w21, #31",
|
||||
"ubfx x22, x21, #31, #1",
|
||||
"orr w20, w20, w22, lsl #29",
|
||||
"strb w4, [x28, #706]",
|
||||
"eor w21, w4, w21",
|
||||
"lsr w21, w21, #31",
|
||||
"ubfx x21, x21, #31, #1",
|
||||
"orr w20, w20, w21, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -1524,7 +1524,7 @@
|
||||
"extr w4, w21, w20, #17",
|
||||
"tst w4, w4",
|
||||
"mrs x20, nzcv",
|
||||
"ubfx w21, w21, #17, #1",
|
||||
"ubfx x21, x21, #17, #1",
|
||||
"orr w20, w20, w21, lsl #29",
|
||||
"strb w4, [x28, #706]",
|
||||
"msr nzcv, x20"
|
||||
@@ -1539,7 +1539,7 @@
|
||||
"extr w4, w21, w20, #16",
|
||||
"tst w4, w4",
|
||||
"mrs x20, nzcv",
|
||||
"ubfx w21, w21, #16, #1",
|
||||
"ubfx x21, x21, #16, #1",
|
||||
"orr w20, w20, w21, lsl #29",
|
||||
"strb w4, [x28, #706]",
|
||||
"msr nzcv, x20"
|
||||
@@ -1554,7 +1554,7 @@
|
||||
"extr w4, w21, w20, #1",
|
||||
"tst w4, w4",
|
||||
"mrs x20, nzcv",
|
||||
"ubfx w21, w21, #1, #1",
|
||||
"ubfx x21, x21, #1, #1",
|
||||
"orr w20, w20, w21, lsl #29",
|
||||
"strb w4, [x28, #706]",
|
||||
"msr nzcv, x20"
|
||||
@@ -1625,7 +1625,7 @@
|
||||
]
|
||||
},
|
||||
"shld ax, bx, cl": {
|
||||
"ExpectedInstructionCount": 32,
|
||||
"ExpectedInstructionCount": 28,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w7",
|
||||
@@ -1633,37 +1633,33 @@
|
||||
"uxtb w22, w5",
|
||||
"and x22, x22, #0x1f",
|
||||
"mov w23, #0x10",
|
||||
"sub x24, x23, x22",
|
||||
"lsl x25, x21, x22",
|
||||
"lsr w20, w20, w24",
|
||||
"orr x20, x25, x20",
|
||||
"mrs x24, nzcv",
|
||||
"sub x23, x23, x22",
|
||||
"lsl x24, x21, x22",
|
||||
"lsr w20, w20, w23",
|
||||
"orr x20, x24, x20",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x20, x21, x20, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"uxth x20, w20",
|
||||
"msr nzcv, x24",
|
||||
"mrs x24, nzcv",
|
||||
"msr nzcv, x23",
|
||||
"cbz x22, #+0x34",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x25, nzcv",
|
||||
"sub w23, w23, w22",
|
||||
"lsr w23, w21, w23",
|
||||
"ubfx w23, w23, #0, #1",
|
||||
"orr w23, w25, w23, lsl #29",
|
||||
"ldrb w25, [x28, #706]",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x25, x25, x20, eq",
|
||||
"strb w25, [x28, #706]",
|
||||
"mrs x23, nzcv",
|
||||
"mov w24, #0x10",
|
||||
"sub w22, w24, w22",
|
||||
"lsr w22, w21, w22",
|
||||
"ubfx x22, x22, #0, #1",
|
||||
"orr w22, w23, w22, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel w20, w24, w20, eq",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
},
|
||||
"shld eax, ebx, cl": {
|
||||
"ExpectedInstructionCount": 32,
|
||||
"ExpectedInstructionCount": 28,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
@@ -1671,67 +1667,60 @@
|
||||
"uxtb w22, w5",
|
||||
"and x22, x22, #0x1f",
|
||||
"mov w23, #0x20",
|
||||
"sub x24, x23, x22",
|
||||
"lsl x25, x21, x22",
|
||||
"lsr w20, w20, w24",
|
||||
"orr x20, x25, x20",
|
||||
"mrs x24, nzcv",
|
||||
"sub x23, x23, x22",
|
||||
"lsl x24, x21, x22",
|
||||
"lsr w20, w20, w23",
|
||||
"orr x20, x24, x20",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x20, x21, x20, eq",
|
||||
"mov w4, w20",
|
||||
"mov w20, w20",
|
||||
"msr nzcv, x24",
|
||||
"mrs x24, nzcv",
|
||||
"msr nzcv, x23",
|
||||
"cbz x22, #+0x34",
|
||||
"tst w20, w20",
|
||||
"mrs x25, nzcv",
|
||||
"sub w23, w23, w22",
|
||||
"lsr w23, w21, w23",
|
||||
"ubfx w23, w23, #0, #1",
|
||||
"orr w23, w25, w23, lsl #29",
|
||||
"ldrb w25, [x28, #706]",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel x25, x25, x20, eq",
|
||||
"strb w25, [x28, #706]",
|
||||
"mrs x23, nzcv",
|
||||
"mov w24, #0x20",
|
||||
"sub w22, w24, w22",
|
||||
"lsr w22, w21, w22",
|
||||
"ubfx x22, x22, #0, #1",
|
||||
"orr w22, w23, w22, lsl #29",
|
||||
"strb w20, [x28, #706]",
|
||||
"eor w20, w21, w20",
|
||||
"lsr w20, w20, #31",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"cmp x22, #0x0 (0)",
|
||||
"csel w20, w24, w20, eq",
|
||||
"ubfx x20, x20, #31, #1",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
},
|
||||
"shld rax, rbx, cl": {
|
||||
"ExpectedInstructionCount": 29,
|
||||
"ExpectedInstructionCount": 26,
|
||||
"Comment": "0x0f 0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"uxtb w21, w5",
|
||||
"and x21, x21, #0x3f",
|
||||
"mov w22, #0x40",
|
||||
"sub x23, x22, x21",
|
||||
"lsl x24, x20, x21",
|
||||
"lsr x23, x7, x23",
|
||||
"orr x23, x24, x23",
|
||||
"mrs x24, nzcv",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel x4, x20, x23, eq",
|
||||
"msr nzcv, x24",
|
||||
"mrs x23, nzcv",
|
||||
"tst x4, x4",
|
||||
"mrs x24, nzcv",
|
||||
"sub x22, x22, x21",
|
||||
"lsr x22, x20, x22",
|
||||
"ubfx x22, x22, #0, #1",
|
||||
"orr w22, w24, w22, lsl #29",
|
||||
"ldrb w24, [x28, #706]",
|
||||
"lsl x23, x20, x21",
|
||||
"lsr x22, x7, x22",
|
||||
"orr x22, x23, x22",
|
||||
"mrs x23, nzcv",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel x24, x24, x4, eq",
|
||||
"strb w24, [x28, #706]",
|
||||
"eor x20, x20, x4",
|
||||
"csel x22, x20, x22, eq",
|
||||
"mov x4, x22",
|
||||
"msr nzcv, x23",
|
||||
"cbz x21, #+0x34",
|
||||
"tst x22, x22",
|
||||
"mrs x23, nzcv",
|
||||
"mov w24, #0x40",
|
||||
"sub x21, x24, x21",
|
||||
"lsr x21, x20, x21",
|
||||
"ubfx x21, x21, #0, #1",
|
||||
"orr w21, w23, w21, lsl #29",
|
||||
"strb w22, [x28, #706]",
|
||||
"eor x20, x20, x22",
|
||||
"lsr x20, x20, #63",
|
||||
"orr w20, w22, w20, lsl #28",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w23, w20, eq",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
},
|
||||
@@ -1906,56 +1895,42 @@
|
||||
]
|
||||
},
|
||||
"imul ax, bx": {
|
||||
"ExpectedInstructionCount": 13,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"uxth w21, w7",
|
||||
"sxth x20, w20",
|
||||
"sxth x21, w21",
|
||||
"sxth x20, w4",
|
||||
"sxth x21, w7",
|
||||
"mul x20, x20, x21",
|
||||
"sbfx x21, x20, #16, #16",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #15, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul eax, ebx": {
|
||||
"ExpectedInstructionCount": 13,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"mov w21, w7",
|
||||
"sxtw x20, w20",
|
||||
"sxtw x21, w21",
|
||||
"sxtw x20, w4",
|
||||
"sxtw x21, w7",
|
||||
"mul x20, x20, x21",
|
||||
"asr x21, x20, #32",
|
||||
"mov w4, w20",
|
||||
"mov w22, #0x0",
|
||||
"sbfx x20, x20, #31, #1",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x21, x20",
|
||||
"csel x20, x22, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"imul rax, rbx": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, x4",
|
||||
"mul x4, x20, x7",
|
||||
"smulh x20, x20, x7",
|
||||
"mov w21, #0x0",
|
||||
"asr x22, x4, #63",
|
||||
"mov w23, #0x30000000",
|
||||
"cmp x20, x22",
|
||||
"csel x20, x21, x23, eq",
|
||||
"msr nzcv, x20"
|
||||
"smulh x20, x4, x7",
|
||||
"mul x4, x4, x7",
|
||||
"asr x21, x4, #63",
|
||||
"cmp x20, x21",
|
||||
"ccmn xzr, #0, #nzCV, eq"
|
||||
]
|
||||
},
|
||||
"cmpxchg al, bl": {
|
||||
@@ -1977,12 +1952,12 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #24",
|
||||
"mrs x21, nzcv",
|
||||
"ubfx w24, w20, #8, #1",
|
||||
"ubfx x24, x20, #8, #1",
|
||||
"orr w21, w21, w24, lsl #29",
|
||||
"eor w23, w22, w23",
|
||||
"eor w20, w20, w22",
|
||||
"and w20, w20, w23",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2003,12 +1978,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2032,12 +2007,12 @@
|
||||
"strb w20, [x28, #706]",
|
||||
"cmn wzr, w20, lsl #16",
|
||||
"mrs x21, nzcv",
|
||||
"ubfx w24, w20, #16, #1",
|
||||
"ubfx x24, x20, #16, #1",
|
||||
"orr w21, w21, w24, lsl #29",
|
||||
"eor w23, w22, w23",
|
||||
"eor w20, w20, w22",
|
||||
"and w20, w20, w23",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2058,12 +2033,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"and w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2524,7 +2499,7 @@
|
||||
]
|
||||
},
|
||||
"bsf ax, bx": {
|
||||
"ExpectedInstructionCount": 14,
|
||||
"ExpectedInstructionCount": 10,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
@@ -2534,17 +2509,13 @@
|
||||
"rbit w0, w0",
|
||||
"clz w22, w0",
|
||||
"csinv w22, w22, wzr, ne",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w20, w22, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"csel x20, x20, x22, eq",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
"bsf eax, ebx": {
|
||||
"ExpectedInstructionCount": 12,
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
@@ -2553,32 +2524,24 @@
|
||||
"rbit w0, w0",
|
||||
"clz w21, w0",
|
||||
"csinv w21, w21, wzr, ne",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"csel x4, x4, x21, eq",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst w20, w20",
|
||||
"csel x4, x4, x21, eq"
|
||||
]
|
||||
},
|
||||
"bsf rax, rbx": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xbc",
|
||||
"ExpectedArm64ASM": [
|
||||
"rbit x0, x7",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"clz x20, x0",
|
||||
"csinv x20, x20, xzr, ne",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"csel x4, x4, x20, eq",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst x7, x7",
|
||||
"csel x4, x4, x20, eq"
|
||||
]
|
||||
},
|
||||
"bsr ax, bx": {
|
||||
"ExpectedInstructionCount": 14,
|
||||
"ExpectedInstructionCount": 10,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
@@ -2588,44 +2551,32 @@
|
||||
"orr w22, w22, #0x8000",
|
||||
"clz w22, w22",
|
||||
"sub x22, x0, x22",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"csel w20, w20, w22, eq",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"cmp x21, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"cmn wzr, w21, lsl #16",
|
||||
"csel x20, x20, x22, eq",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
"bsr eax, ebx": {
|
||||
"ExpectedInstructionCount": 10,
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w7",
|
||||
"mov x0, #0x1f",
|
||||
"clz w21, w20",
|
||||
"sub x21, x0, x21",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"csel x4, x4, x21, eq",
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst w20, w20",
|
||||
"csel x4, x4, x21, eq"
|
||||
]
|
||||
},
|
||||
"bsr rax, rbx": {
|
||||
"ExpectedInstructionCount": 9,
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0xbd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x0, #0x3f",
|
||||
"clz x20, x7",
|
||||
"sub x20, x0, x20",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"csel x4, x4, x20, eq",
|
||||
"cmp x7, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #30",
|
||||
"msr nzcv, x20"
|
||||
"tst x7, x7",
|
||||
"csel x4, x4, x20, eq"
|
||||
]
|
||||
},
|
||||
"movsx ax, bl": {
|
||||
@@ -2728,12 +2679,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w21, w20, w21",
|
||||
"eor w20, w22, w20",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2751,12 +2702,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #24",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #8, #1",
|
||||
"ubfx x24, x22, #8, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #7, #1",
|
||||
"ubfx x20, x20, #7, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2775,12 +2726,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w21, w20, w21",
|
||||
"eor w20, w22, w20",
|
||||
"bic w20, w20, w21",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -2798,12 +2749,12 @@
|
||||
"strb w22, [x28, #706]",
|
||||
"cmn wzr, w22, lsl #16",
|
||||
"mrs x23, nzcv",
|
||||
"ubfx w24, w22, #16, #1",
|
||||
"ubfx x24, x22, #16, #1",
|
||||
"orr w23, w23, w24, lsl #29",
|
||||
"eor w20, w21, w20",
|
||||
"eor w21, w22, w21",
|
||||
"bic w20, w21, w20",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w23, w20, lsl #28",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
|
||||
@@ -467,7 +467,7 @@
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x21, eq",
|
||||
"lsl x21, x21, #29",
|
||||
"ubfx w20, w20, #0, #1",
|
||||
"ubfx x20, x20, #0, #1",
|
||||
"orr w20, w21, w20, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -482,7 +482,7 @@
|
||||
"cmp x4, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #29",
|
||||
"ubfx w21, w4, #0, #1",
|
||||
"ubfx x21, x4, #0, #1",
|
||||
"orr w20, w20, w21, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -496,7 +496,7 @@
|
||||
"cmp x4, #0x0 (0)",
|
||||
"cset x20, eq",
|
||||
"lsl x20, x20, #29",
|
||||
"ubfx w21, w4, #0, #1",
|
||||
"ubfx x21, x4, #0, #1",
|
||||
"orr w20, w20, w21, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -513,7 +513,7 @@
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x21, eq",
|
||||
"lsl x21, x21, #29",
|
||||
"ubfx w20, w20, #15, #1",
|
||||
"ubfx x20, x20, #15, #1",
|
||||
"orr w20, w21, w20, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
@@ -527,7 +527,7 @@
|
||||
"cmp x20, #0x0 (0)",
|
||||
"cset x21, eq",
|
||||
"lsl x21, x21, #29",
|
||||
"lsr w20, w20, #31",
|
||||
"ubfx x20, x20, #31, #1",
|
||||
"orr w20, w21, w20, lsl #30",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user