diff --git a/unittests/InstructionCountCI/FEXOpt/libnss.json b/unittests/InstructionCountCI/FEXOpt/libnss.json index 7a5cc458b..d3fc751f9 100644 --- a/unittests/InstructionCountCI/FEXOpt/libnss.json +++ b/unittests/InstructionCountCI/FEXOpt/libnss.json @@ -16,7 +16,7 @@ "Comment": [], "Instructions": { "libnss3 sha": { - "ExpectedInstructionCount": 4315, + "ExpectedInstructionCount": 2391, "Comment": [ "This block of code comes from libnss3 which causes panic spilling in FEX's RA.", "This code is hit in steamwebhelper calling in to this function.", @@ -193,8 +193,6 @@ "movups [rdi+0x110], xmm4" ], "ExpectedArm64ASM": [ - "mov w0, #0x3c00", - "sub sp, sp, x0", "ldr q18, [x11, #256]", "ldr q19, [x11, #272]", "ldr q24, [x11]", @@ -230,241 +228,121 @@ "ldr q16, [x29, x20, sxtx]", "add v16.4s, v16.4s, v24.4s", "unimplemented (Unimplemented)", - "mov w20, v19.s[3]", - "str w20, [sp, #32]", - "mov w20, v19.s[2]", - "str w20, [sp, #64]", - "mov w20, v18.s[3]", - "mov w21, v18.s[2]", - "str w21, [sp]", - "mov w21, v19.s[1]", - "mov w22, v19.s[0]", - "mov w23, v18.s[1]", - "mov w24, v18.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #96]", - "and w30, w21, w22", - "str w22, [sp, #128]", - "bic w22, w23, w21", - "str w23, [sp, #160]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v19.s[1]", + "mov w21, v19.s[0]", + "mov w22, v18.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #224]", - "add w22, w22, w24", - "str w24, [sp, #192]", - "ldr w23, [sp, #32]", - "ldr w24, [sp, #64]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #288]", - "str w20, [sp, #256]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #320]", - "ldr w20, [sp, #128]", - "and w22, w21, w20", - "ldr w24, [sp, #160]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #224]", - "add w22, w22, w25", - "ldr w25, [sp, #192]", - "add w22, w22, w25", - "ldr w25, [sp]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #352]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #448]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #96]", - "add w20, w20, w22", - "str w22, [sp, #416]", - "add w20, w20, w24", - "str w24, [sp, #384]", - "ldr w22, [sp, #320]", - "and w24, w22, w23", - "ldr w25, [sp, #288]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v18.s[0]", + "add w22, w22, w23", + "mov w23, v19.s[3]", + "mov w24, v19.s[2]", + "mov w25, v18.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v18.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v18.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v18.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #448]", - "and w21, w23, w21", - "ldr w24, [sp, #352]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #416]", - "add w21, w21, w24", - "ldr w24, [sp, #384]", - "add w21, w21, w24", - "ldr w24, [sp, #256]", - "add w21, w21, w24", "mov v4.16b, v18.16b", - "mov v4.s[3], w20", - "mov v4.s[2], w22", - "mov v4.s[1], w21", + "mov v4.s[3], w21", + "mov v4.s[2], w25", + "mov v4.s[1], w20", "mov v20.16b, v4.16b", - "mov v20.s[0], w23", + "mov v20.s[0], w22", "ldr x0, [x28, #1688]", "ldr q4, [x0, #224]", "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #512]", - "mov w20, v20.s[2]", - "str w20, [sp, #544]", - "mov w20, v19.s[3]", - "mov w21, v19.s[2]", - "str w21, [sp, #480]", - "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v19.s[1]", - "mov w24, v19.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #576]", - "and w30, w21, w22", - "str w22, [sp, #608]", - "bic w22, w23, w21", - "str w23, [sp, #640]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v19.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #704]", - "add w22, w22, w24", - "str w24, [sp, #672]", - "ldr w23, [sp, #512]", - "ldr w24, [sp, #544]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #768]", - "str w20, [sp, #736]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #800]", - "ldr w20, [sp, #608]", - "and w22, w21, w20", - "ldr w24, [sp, #640]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #704]", - "add w22, w22, w25", - "ldr w25, [sp, #672]", - "add w22, w22, w25", - "ldr w25, [sp, #480]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #832]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #928]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #576]", - "add w20, w20, w22", - "str w22, [sp, #896]", - "add w20, w20, w24", - "str w24, [sp, #864]", - "ldr w22, [sp, #800]", - "and w24, w22, w23", - "ldr w25, [sp, #768]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v19.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v19.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v19.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v19.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v19.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #928]", - "and w21, w23, w21", - "ldr w24, [sp, #832]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #896]", - "add w21, w21, w24", - "ldr w24, [sp, #864]", - "add w21, w21, w24", - "ldr w24, [sp, #736]", - "add w21, w21, w24", "mov v5.16b, v19.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v21.16b", "ext v16.16b, v22.16b, v21.16b, #4", "add v24.4s, v24.4s, v16.4s", @@ -509,239 +387,119 @@ "mov v24.s[0], w20", "add v16.4s, v16.4s, v23.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #992]", - "mov w20, v17.s[2]", - "str w20, [sp, #1024]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #960]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #1056]", - "and w30, w21, w22", - "str w22, [sp, #1088]", - "bic w22, w23, w21", - "str w23, [sp, #1120]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #1184]", - "add w22, w22, w24", - "str w24, [sp, #1152]", - "ldr w23, [sp, #992]", - "ldr w24, [sp, #1024]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #1248]", - "str w20, [sp, #1216]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #1280]", - "ldr w20, [sp, #1088]", - "and w22, w21, w20", - "ldr w24, [sp, #1120]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #1184]", - "add w22, w22, w25", - "ldr w25, [sp, #1152]", - "add w22, w22, w25", - "ldr w25, [sp, #960]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #1312]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #1408]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #1056]", - "add w20, w20, w22", - "str w22, [sp, #1376]", - "add w20, w20, w24", - "str w24, [sp, #1344]", - "ldr w22, [sp, #1280]", - "and w24, w22, w23", - "ldr w25, [sp, #1248]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #1408]", - "and w21, w23, w21", - "ldr w24, [sp, #1312]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #1376]", - "add w21, w21, w24", - "ldr w24, [sp, #1344]", - "add w21, w21, w24", - "ldr w24, [sp, #1216]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #1472]", - "mov w20, v20.s[2]", - "str w20, [sp, #1504]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #1440]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #1536]", - "and w30, w21, w22", - "str w22, [sp, #1568]", - "bic w22, w23, w21", - "str w23, [sp, #1600]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #1664]", - "add w22, w22, w24", - "str w24, [sp, #1632]", - "ldr w23, [sp, #1472]", - "ldr w24, [sp, #1504]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #1728]", - "str w20, [sp, #1696]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #1760]", - "ldr w20, [sp, #1568]", - "and w22, w21, w20", - "ldr w24, [sp, #1600]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #1664]", - "add w22, w22, w25", - "ldr w25, [sp, #1632]", - "add w22, w22, w25", - "ldr w25, [sp, #1440]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #1792]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #1888]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #1536]", - "add w20, w20, w22", - "str w22, [sp, #1856]", - "add w20, w20, w24", - "str w24, [sp, #1824]", - "ldr w22, [sp, #1760]", - "and w24, w22, w23", - "ldr w25, [sp, #1728]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #1888]", - "and w21, w23, w21", - "ldr w24, [sp, #1792]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #1856]", - "add w21, w21, w24", - "ldr w24, [sp, #1824]", - "add w21, w21, w24", - "ldr w24, [sp, #1696]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v24.16b", "ext v16.16b, v21.16b, v24.16b, #4", "add v23.4s, v23.4s, v16.4s", @@ -786,239 +544,119 @@ "mov v23.s[0], w20", "add v16.4s, v16.4s, v22.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #1952]", - "mov w20, v17.s[2]", - "str w20, [sp, #1984]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #1920]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #2016]", - "and w30, w21, w22", - "str w22, [sp, #2048]", - "bic w22, w23, w21", - "str w23, [sp, #2080]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #2144]", - "add w22, w22, w24", - "str w24, [sp, #2112]", - "ldr w23, [sp, #1952]", - "ldr w24, [sp, #1984]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #2208]", - "str w20, [sp, #2176]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #2240]", - "ldr w20, [sp, #2048]", - "and w22, w21, w20", - "ldr w24, [sp, #2080]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #2144]", - "add w22, w22, w25", - "ldr w25, [sp, #2112]", - "add w22, w22, w25", - "ldr w25, [sp, #1920]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #2272]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #2368]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #2016]", - "add w20, w20, w22", - "str w22, [sp, #2336]", - "add w20, w20, w24", - "str w24, [sp, #2304]", - "ldr w22, [sp, #2240]", - "and w24, w22, w23", - "ldr w25, [sp, #2208]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #2368]", - "and w21, w23, w21", - "ldr w24, [sp, #2272]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #2336]", - "add w21, w21, w24", - "ldr w24, [sp, #2304]", - "add w21, w21, w24", - "ldr w24, [sp, #2176]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #2432]", - "mov w20, v20.s[2]", - "str w20, [sp, #2464]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #2400]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #2496]", - "and w30, w21, w22", - "str w22, [sp, #2528]", - "bic w22, w23, w21", - "str w23, [sp, #2560]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #2624]", - "add w22, w22, w24", - "str w24, [sp, #2592]", - "ldr w23, [sp, #2432]", - "ldr w24, [sp, #2464]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #2688]", - "str w20, [sp, #2656]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #2720]", - "ldr w20, [sp, #2528]", - "and w22, w21, w20", - "ldr w24, [sp, #2560]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #2624]", - "add w22, w22, w25", - "ldr w25, [sp, #2592]", - "add w22, w22, w25", - "ldr w25, [sp, #2400]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #2752]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #2848]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #2496]", - "add w20, w20, w22", - "str w22, [sp, #2816]", - "add w20, w20, w24", - "str w24, [sp, #2784]", - "ldr w22, [sp, #2720]", - "and w24, w22, w23", - "ldr w25, [sp, #2688]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #2848]", - "and w21, w23, w21", - "ldr w24, [sp, #2752]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #2816]", - "add w21, w21, w24", - "ldr w24, [sp, #2784]", - "add w21, w21, w24", - "ldr w24, [sp, #2656]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v23.16b", "ext v16.16b, v24.16b, v23.16b, #4", "add v22.4s, v22.4s, v16.4s", @@ -1063,239 +701,119 @@ "mov v22.s[0], w20", "add v16.4s, v16.4s, v21.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #2912]", - "mov w20, v17.s[2]", - "str w20, [sp, #2944]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #2880]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #2976]", - "and w30, w21, w22", - "str w22, [sp, #3008]", - "bic w22, w23, w21", - "str w23, [sp, #3040]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #3104]", - "add w22, w22, w24", - "str w24, [sp, #3072]", - "ldr w23, [sp, #2912]", - "ldr w24, [sp, #2944]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #3168]", - "str w20, [sp, #3136]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #3200]", - "ldr w20, [sp, #3008]", - "and w22, w21, w20", - "ldr w24, [sp, #3040]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #3104]", - "add w22, w22, w25", - "ldr w25, [sp, #3072]", - "add w22, w22, w25", - "ldr w25, [sp, #2880]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #3232]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #3328]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #2976]", - "add w20, w20, w22", - "str w22, [sp, #3296]", - "add w20, w20, w24", - "str w24, [sp, #3264]", - "ldr w22, [sp, #3200]", - "and w24, w22, w23", - "ldr w25, [sp, #3168]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #3328]", - "and w21, w23, w21", - "ldr w24, [sp, #3232]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #3296]", - "add w21, w21, w24", - "ldr w24, [sp, #3264]", - "add w21, w21, w24", - "ldr w24, [sp, #3136]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #3392]", - "mov w20, v20.s[2]", - "str w20, [sp, #3424]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #3360]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #3456]", - "and w30, w21, w22", - "str w22, [sp, #3488]", - "bic w22, w23, w21", - "str w23, [sp, #3520]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #3584]", - "add w22, w22, w24", - "str w24, [sp, #3552]", - "ldr w23, [sp, #3392]", - "ldr w24, [sp, #3424]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #3648]", - "str w20, [sp, #3616]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #3680]", - "ldr w20, [sp, #3488]", - "and w22, w21, w20", - "ldr w24, [sp, #3520]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #3584]", - "add w22, w22, w25", - "ldr w25, [sp, #3552]", - "add w22, w22, w25", - "ldr w25, [sp, #3360]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #3712]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #3808]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #3456]", - "add w20, w20, w22", - "str w22, [sp, #3776]", - "add w20, w20, w24", - "str w24, [sp, #3744]", - "ldr w22, [sp, #3680]", - "and w24, w22, w23", - "ldr w25, [sp, #3648]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #3808]", - "and w21, w23, w21", - "ldr w24, [sp, #3712]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #3776]", - "add w21, w21, w24", - "ldr w24, [sp, #3744]", - "add w21, w21, w24", - "ldr w24, [sp, #3616]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v22.16b", "ext v16.16b, v23.16b, v22.16b, #4", "add v21.4s, v21.4s, v16.4s", @@ -1340,239 +858,119 @@ "mov v21.s[0], w20", "add v16.4s, v16.4s, v24.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #3872]", - "mov w20, v17.s[2]", - "str w20, [sp, #3904]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #3840]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #3936]", - "and w30, w21, w22", - "str w22, [sp, #3968]", - "bic w22, w23, w21", - "str w23, [sp, #4000]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #4064]", - "add w22, w22, w24", - "str w24, [sp, #4032]", - "ldr w23, [sp, #3872]", - "ldr w24, [sp, #3904]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #4128]", - "str w20, [sp, #4096]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #4160]", - "ldr w20, [sp, #3968]", - "and w22, w21, w20", - "ldr w24, [sp, #4000]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #4064]", - "add w22, w22, w25", - "ldr w25, [sp, #4032]", - "add w22, w22, w25", - "ldr w25, [sp, #3840]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #4192]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #4288]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #3936]", - "add w20, w20, w22", - "str w22, [sp, #4256]", - "add w20, w20, w24", - "str w24, [sp, #4224]", - "ldr w22, [sp, #4160]", - "and w24, w22, w23", - "ldr w25, [sp, #4128]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #4288]", - "and w21, w23, w21", - "ldr w24, [sp, #4192]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #4256]", - "add w21, w21, w24", - "ldr w24, [sp, #4224]", - "add w21, w21, w24", - "ldr w24, [sp, #4096]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #4352]", - "mov w20, v20.s[2]", - "str w20, [sp, #4384]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #4320]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #4416]", - "and w30, w21, w22", - "str w22, [sp, #4448]", - "bic w22, w23, w21", - "str w23, [sp, #4480]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #4544]", - "add w22, w22, w24", - "str w24, [sp, #4512]", - "ldr w23, [sp, #4352]", - "ldr w24, [sp, #4384]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #4608]", - "str w20, [sp, #4576]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #4640]", - "ldr w20, [sp, #4448]", - "and w22, w21, w20", - "ldr w24, [sp, #4480]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #4544]", - "add w22, w22, w25", - "ldr w25, [sp, #4512]", - "add w22, w22, w25", - "ldr w25, [sp, #4320]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #4672]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #4768]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #4416]", - "add w20, w20, w22", - "str w22, [sp, #4736]", - "add w20, w20, w24", - "str w24, [sp, #4704]", - "ldr w22, [sp, #4640]", - "and w24, w22, w23", - "ldr w25, [sp, #4608]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #4768]", - "and w21, w23, w21", - "ldr w24, [sp, #4672]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #4736]", - "add w21, w21, w24", - "ldr w24, [sp, #4704]", - "add w21, w21, w24", - "ldr w24, [sp, #4576]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v21.16b", "ext v16.16b, v22.16b, v21.16b, #4", "add v24.4s, v24.4s, v16.4s", @@ -1617,239 +1015,119 @@ "mov v24.s[0], w20", "add v16.4s, v16.4s, v23.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #4832]", - "mov w20, v17.s[2]", - "str w20, [sp, #4864]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #4800]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #4896]", - "and w30, w21, w22", - "str w22, [sp, #4928]", - "bic w22, w23, w21", - "str w23, [sp, #4960]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #5024]", - "add w22, w22, w24", - "str w24, [sp, #4992]", - "ldr w23, [sp, #4832]", - "ldr w24, [sp, #4864]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #5088]", - "str w20, [sp, #5056]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #5120]", - "ldr w20, [sp, #4928]", - "and w22, w21, w20", - "ldr w24, [sp, #4960]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #5024]", - "add w22, w22, w25", - "ldr w25, [sp, #4992]", - "add w22, w22, w25", - "ldr w25, [sp, #4800]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #5152]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #5248]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #4896]", - "add w20, w20, w22", - "str w22, [sp, #5216]", - "add w20, w20, w24", - "str w24, [sp, #5184]", - "ldr w22, [sp, #5120]", - "and w24, w22, w23", - "ldr w25, [sp, #5088]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #5248]", - "and w21, w23, w21", - "ldr w24, [sp, #5152]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #5216]", - "add w21, w21, w24", - "ldr w24, [sp, #5184]", - "add w21, w21, w24", - "ldr w24, [sp, #5056]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #5312]", - "mov w20, v20.s[2]", - "str w20, [sp, #5344]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #5280]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #5376]", - "and w30, w21, w22", - "str w22, [sp, #5408]", - "bic w22, w23, w21", - "str w23, [sp, #5440]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #5504]", - "add w22, w22, w24", - "str w24, [sp, #5472]", - "ldr w23, [sp, #5312]", - "ldr w24, [sp, #5344]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #5568]", - "str w20, [sp, #5536]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #5600]", - "ldr w20, [sp, #5408]", - "and w22, w21, w20", - "ldr w24, [sp, #5440]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #5504]", - "add w22, w22, w25", - "ldr w25, [sp, #5472]", - "add w22, w22, w25", - "ldr w25, [sp, #5280]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #5632]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #5728]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #5376]", - "add w20, w20, w22", - "str w22, [sp, #5696]", - "add w20, w20, w24", - "str w24, [sp, #5664]", - "ldr w22, [sp, #5600]", - "and w24, w22, w23", - "ldr w25, [sp, #5568]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #5728]", - "and w21, w23, w21", - "ldr w24, [sp, #5632]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #5696]", - "add w21, w21, w24", - "ldr w24, [sp, #5664]", - "add w21, w21, w24", - "ldr w24, [sp, #5536]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v24.16b", "ext v16.16b, v21.16b, v24.16b, #4", "add v23.4s, v23.4s, v16.4s", @@ -1894,239 +1172,119 @@ "mov v23.s[0], w20", "add v16.4s, v16.4s, v22.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #5792]", - "mov w20, v17.s[2]", - "str w20, [sp, #5824]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #5760]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #5856]", - "and w30, w21, w22", - "str w22, [sp, #5888]", - "bic w22, w23, w21", - "str w23, [sp, #5920]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #5984]", - "add w22, w22, w24", - "str w24, [sp, #5952]", - "ldr w23, [sp, #5792]", - "ldr w24, [sp, #5824]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #6048]", - "str w20, [sp, #6016]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #6080]", - "ldr w20, [sp, #5888]", - "and w22, w21, w20", - "ldr w24, [sp, #5920]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #5984]", - "add w22, w22, w25", - "ldr w25, [sp, #5952]", - "add w22, w22, w25", - "ldr w25, [sp, #5760]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #6112]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #6208]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #5856]", - "add w20, w20, w22", - "str w22, [sp, #6176]", - "add w20, w20, w24", - "str w24, [sp, #6144]", - "ldr w22, [sp, #6080]", - "and w24, w22, w23", - "ldr w25, [sp, #6048]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #6208]", - "and w21, w23, w21", - "ldr w24, [sp, #6112]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #6176]", - "add w21, w21, w24", - "ldr w24, [sp, #6144]", - "add w21, w21, w24", - "ldr w24, [sp, #6016]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #6272]", - "mov w20, v20.s[2]", - "str w20, [sp, #6304]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #6240]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #6336]", - "and w30, w21, w22", - "str w22, [sp, #6368]", - "bic w22, w23, w21", - "str w23, [sp, #6400]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #6464]", - "add w22, w22, w24", - "str w24, [sp, #6432]", - "ldr w23, [sp, #6272]", - "ldr w24, [sp, #6304]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #6528]", - "str w20, [sp, #6496]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #6560]", - "ldr w20, [sp, #6368]", - "and w22, w21, w20", - "ldr w24, [sp, #6400]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #6464]", - "add w22, w22, w25", - "ldr w25, [sp, #6432]", - "add w22, w22, w25", - "ldr w25, [sp, #6240]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #6592]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #6688]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #6336]", - "add w20, w20, w22", - "str w22, [sp, #6656]", - "add w20, w20, w24", - "str w24, [sp, #6624]", - "ldr w22, [sp, #6560]", - "and w24, w22, w23", - "ldr w25, [sp, #6528]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #6688]", - "and w21, w23, w21", - "ldr w24, [sp, #6592]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #6656]", - "add w21, w21, w24", - "ldr w24, [sp, #6624]", - "add w21, w21, w24", - "ldr w24, [sp, #6496]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v23.16b", "ext v16.16b, v24.16b, v23.16b, #4", "add v22.4s, v22.4s, v16.4s", @@ -2171,239 +1329,119 @@ "mov v22.s[0], w20", "add v16.4s, v16.4s, v21.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #6752]", - "mov w20, v17.s[2]", - "str w20, [sp, #6784]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #6720]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #6816]", - "and w30, w21, w22", - "str w22, [sp, #6848]", - "bic w22, w23, w21", - "str w23, [sp, #6880]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #6944]", - "add w22, w22, w24", - "str w24, [sp, #6912]", - "ldr w23, [sp, #6752]", - "ldr w24, [sp, #6784]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #7008]", - "str w20, [sp, #6976]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #7040]", - "ldr w20, [sp, #6848]", - "and w22, w21, w20", - "ldr w24, [sp, #6880]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #6944]", - "add w22, w22, w25", - "ldr w25, [sp, #6912]", - "add w22, w22, w25", - "ldr w25, [sp, #6720]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #7072]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #7168]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #6816]", - "add w20, w20, w22", - "str w22, [sp, #7136]", - "add w20, w20, w24", - "str w24, [sp, #7104]", - "ldr w22, [sp, #7040]", - "and w24, w22, w23", - "ldr w25, [sp, #7008]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #7168]", - "and w21, w23, w21", - "ldr w24, [sp, #7072]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #7136]", - "add w21, w21, w24", - "ldr w24, [sp, #7104]", - "add w21, w21, w24", - "ldr w24, [sp, #6976]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #7232]", - "mov w20, v20.s[2]", - "str w20, [sp, #7264]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #7200]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #7296]", - "and w30, w21, w22", - "str w22, [sp, #7328]", - "bic w22, w23, w21", - "str w23, [sp, #7360]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #7424]", - "add w22, w22, w24", - "str w24, [sp, #7392]", - "ldr w23, [sp, #7232]", - "ldr w24, [sp, #7264]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #7488]", - "str w20, [sp, #7456]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #7520]", - "ldr w20, [sp, #7328]", - "and w22, w21, w20", - "ldr w24, [sp, #7360]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #7424]", - "add w22, w22, w25", - "ldr w25, [sp, #7392]", - "add w22, w22, w25", - "ldr w25, [sp, #7200]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #7552]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #7648]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #7296]", - "add w20, w20, w22", - "str w22, [sp, #7616]", - "add w20, w20, w24", - "str w24, [sp, #7584]", - "ldr w22, [sp, #7520]", - "and w24, w22, w23", - "ldr w25, [sp, #7488]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #7648]", - "and w21, w23, w21", - "ldr w24, [sp, #7552]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #7616]", - "add w21, w21, w24", - "ldr w24, [sp, #7584]", - "add w21, w21, w24", - "ldr w24, [sp, #7456]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v22.16b", "ext v16.16b, v23.16b, v22.16b, #4", "add v21.4s, v21.4s, v16.4s", @@ -2448,239 +1486,119 @@ "mov v21.s[0], w20", "add v16.4s, v16.4s, v24.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #7712]", - "mov w20, v17.s[2]", - "str w20, [sp, #7744]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #7680]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #7776]", - "and w30, w21, w22", - "str w22, [sp, #7808]", - "bic w22, w23, w21", - "str w23, [sp, #7840]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #7904]", - "add w22, w22, w24", - "str w24, [sp, #7872]", - "ldr w23, [sp, #7712]", - "ldr w24, [sp, #7744]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #7968]", - "str w20, [sp, #7936]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #8000]", - "ldr w20, [sp, #7808]", - "and w22, w21, w20", - "ldr w24, [sp, #7840]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #7904]", - "add w22, w22, w25", - "ldr w25, [sp, #7872]", - "add w22, w22, w25", - "ldr w25, [sp, #7680]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #8032]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #8128]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #7776]", - "add w20, w20, w22", - "str w22, [sp, #8096]", - "add w20, w20, w24", - "str w24, [sp, #8064]", - "ldr w22, [sp, #8000]", - "and w24, w22, w23", - "ldr w25, [sp, #7968]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #8128]", - "and w21, w23, w21", - "ldr w24, [sp, #8032]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #8096]", - "add w21, w21, w24", - "ldr w24, [sp, #8064]", - "add w21, w21, w24", - "ldr w24, [sp, #7936]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #8192]", - "mov w20, v20.s[2]", - "str w20, [sp, #8224]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #8160]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #8256]", - "and w30, w21, w22", - "str w22, [sp, #8288]", - "bic w22, w23, w21", - "str w23, [sp, #8320]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #8384]", - "add w22, w22, w24", - "str w24, [sp, #8352]", - "ldr w23, [sp, #8192]", - "ldr w24, [sp, #8224]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #8448]", - "str w20, [sp, #8416]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #8480]", - "ldr w20, [sp, #8288]", - "and w22, w21, w20", - "ldr w24, [sp, #8320]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #8384]", - "add w22, w22, w25", - "ldr w25, [sp, #8352]", - "add w22, w22, w25", - "ldr w25, [sp, #8160]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #8512]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #8608]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #8256]", - "add w20, w20, w22", - "str w22, [sp, #8576]", - "add w20, w20, w24", - "str w24, [sp, #8544]", - "ldr w22, [sp, #8480]", - "and w24, w22, w23", - "ldr w25, [sp, #8448]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #8608]", - "and w21, w23, w21", - "ldr w24, [sp, #8512]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #8576]", - "add w21, w21, w24", - "ldr w24, [sp, #8544]", - "add w21, w21, w24", - "ldr w24, [sp, #8416]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v21.16b", "ext v16.16b, v22.16b, v21.16b, #4", "add v24.4s, v24.4s, v16.4s", @@ -2725,239 +1643,119 @@ "mov v24.s[0], w20", "add v16.4s, v16.4s, v23.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #8672]", - "mov w20, v17.s[2]", - "str w20, [sp, #8704]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #8640]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #8736]", - "and w30, w21, w22", - "str w22, [sp, #8768]", - "bic w22, w23, w21", - "str w23, [sp, #8800]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #8864]", - "add w22, w22, w24", - "str w24, [sp, #8832]", - "ldr w23, [sp, #8672]", - "ldr w24, [sp, #8704]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #8928]", - "str w20, [sp, #8896]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #8960]", - "ldr w20, [sp, #8768]", - "and w22, w21, w20", - "ldr w24, [sp, #8800]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #8864]", - "add w22, w22, w25", - "ldr w25, [sp, #8832]", - "add w22, w22, w25", - "ldr w25, [sp, #8640]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #8992]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #9088]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #8736]", - "add w20, w20, w22", - "str w22, [sp, #9056]", - "add w20, w20, w24", - "str w24, [sp, #9024]", - "ldr w22, [sp, #8960]", - "and w24, w22, w23", - "ldr w25, [sp, #8928]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #9088]", - "and w21, w23, w21", - "ldr w24, [sp, #8992]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #9056]", - "add w21, w21, w24", - "ldr w24, [sp, #9024]", - "add w21, w21, w24", - "ldr w24, [sp, #8896]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #9152]", - "mov w20, v20.s[2]", - "str w20, [sp, #9184]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #9120]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #9216]", - "and w30, w21, w22", - "str w22, [sp, #9248]", - "bic w22, w23, w21", - "str w23, [sp, #9280]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #9344]", - "add w22, w22, w24", - "str w24, [sp, #9312]", - "ldr w23, [sp, #9152]", - "ldr w24, [sp, #9184]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #9408]", - "str w20, [sp, #9376]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #9440]", - "ldr w20, [sp, #9248]", - "and w22, w21, w20", - "ldr w24, [sp, #9280]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #9344]", - "add w22, w22, w25", - "ldr w25, [sp, #9312]", - "add w22, w22, w25", - "ldr w25, [sp, #9120]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #9472]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #9568]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #9216]", - "add w20, w20, w22", - "str w22, [sp, #9536]", - "add w20, w20, w24", - "str w24, [sp, #9504]", - "ldr w22, [sp, #9440]", - "and w24, w22, w23", - "ldr w25, [sp, #9408]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #9568]", - "and w21, w23, w21", - "ldr w24, [sp, #9472]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #9536]", - "add w21, w21, w24", - "ldr w24, [sp, #9504]", - "add w21, w21, w24", - "ldr w24, [sp, #9376]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v24.16b", "ext v16.16b, v21.16b, v24.16b, #4", "add v23.4s, v23.4s, v16.4s", @@ -3002,239 +1800,119 @@ "mov v23.s[0], w20", "add v16.4s, v16.4s, v22.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #9632]", - "mov w20, v17.s[2]", - "str w20, [sp, #9664]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #9600]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #9696]", - "and w30, w21, w22", - "str w22, [sp, #9728]", - "bic w22, w23, w21", - "str w23, [sp, #9760]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #9824]", - "add w22, w22, w24", - "str w24, [sp, #9792]", - "ldr w23, [sp, #9632]", - "ldr w24, [sp, #9664]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #9888]", - "str w20, [sp, #9856]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #9920]", - "ldr w20, [sp, #9728]", - "and w22, w21, w20", - "ldr w24, [sp, #9760]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #9824]", - "add w22, w22, w25", - "ldr w25, [sp, #9792]", - "add w22, w22, w25", - "ldr w25, [sp, #9600]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #9952]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #10048]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #9696]", - "add w20, w20, w22", - "str w22, [sp, #10016]", - "add w20, w20, w24", - "str w24, [sp, #9984]", - "ldr w22, [sp, #9920]", - "and w24, w22, w23", - "ldr w25, [sp, #9888]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #10048]", - "and w21, w23, w21", - "ldr w24, [sp, #9952]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #10016]", - "add w21, w21, w24", - "ldr w24, [sp, #9984]", - "add w21, w21, w24", - "ldr w24, [sp, #9856]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #10112]", - "mov w20, v20.s[2]", - "str w20, [sp, #10144]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #10080]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #10176]", - "and w30, w21, w22", - "str w22, [sp, #10208]", - "bic w22, w23, w21", - "str w23, [sp, #10240]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #10304]", - "add w22, w22, w24", - "str w24, [sp, #10272]", - "ldr w23, [sp, #10112]", - "ldr w24, [sp, #10144]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #10368]", - "str w20, [sp, #10336]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #10400]", - "ldr w20, [sp, #10208]", - "and w22, w21, w20", - "ldr w24, [sp, #10240]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #10304]", - "add w22, w22, w25", - "ldr w25, [sp, #10272]", - "add w22, w22, w25", - "ldr w25, [sp, #10080]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #10432]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #10528]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #10176]", - "add w20, w20, w22", - "str w22, [sp, #10496]", - "add w20, w20, w24", - "str w24, [sp, #10464]", - "ldr w22, [sp, #10400]", - "and w24, w22, w23", - "ldr w25, [sp, #10368]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #10528]", - "and w21, w23, w21", - "ldr w24, [sp, #10432]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #10496]", - "add w21, w21, w24", - "ldr w24, [sp, #10464]", - "add w21, w21, w24", - "ldr w24, [sp, #10336]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v23.16b", "ext v16.16b, v24.16b, v23.16b, #4", "add v22.4s, v22.4s, v16.4s", @@ -3279,239 +1957,119 @@ "mov v22.s[0], w20", "add v16.4s, v16.4s, v21.4s", "unimplemented (Unimplemented)", - "mov w20, v17.s[3]", - "str w20, [sp, #10592]", - "mov w20, v17.s[2]", - "str w20, [sp, #10624]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #10560]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #10656]", - "and w30, w21, w22", - "str w22, [sp, #10688]", - "bic w22, w23, w21", - "str w23, [sp, #10720]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #10784]", - "add w22, w22, w24", - "str w24, [sp, #10752]", - "ldr w23, [sp, #10592]", - "ldr w24, [sp, #10624]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #10848]", - "str w20, [sp, #10816]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #10880]", - "ldr w20, [sp, #10688]", - "and w22, w21, w20", - "ldr w24, [sp, #10720]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #10784]", - "add w22, w22, w25", - "ldr w25, [sp, #10752]", - "add w22, w22, w25", - "ldr w25, [sp, #10560]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #10912]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #11008]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #10656]", - "add w20, w20, w22", - "str w22, [sp, #10976]", - "add w20, w20, w24", - "str w24, [sp, #10944]", - "ldr w22, [sp, #10880]", - "and w24, w22, w23", - "ldr w25, [sp, #10848]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #11008]", - "and w21, w23, w21", - "ldr w24, [sp, #10912]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #10976]", - "add w21, w21, w24", - "ldr w24, [sp, #10944]", - "add w21, w21, w24", - "ldr w24, [sp, #10816]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #11072]", - "mov w20, v20.s[2]", - "str w20, [sp, #11104]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #11040]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #11136]", - "and w30, w21, w22", - "str w22, [sp, #11168]", - "bic w22, w23, w21", - "str w23, [sp, #11200]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v16.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #11264]", - "add w22, w22, w24", - "str w24, [sp, #11232]", - "ldr w23, [sp, #11072]", - "ldr w24, [sp, #11104]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #11328]", - "str w20, [sp, #11296]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #11360]", - "ldr w20, [sp, #11168]", - "and w22, w21, w20", - "ldr w24, [sp, #11200]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #11264]", - "add w22, w22, w25", - "ldr w25, [sp, #11232]", - "add w22, w22, w25", - "ldr w25, [sp, #11040]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #11392]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #11488]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #11136]", - "add w20, w20, w22", - "str w22, [sp, #11456]", - "add w20, w20, w24", - "str w24, [sp, #11424]", - "ldr w22, [sp, #11360]", - "and w24, w22, w23", - "ldr w25, [sp, #11328]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #11488]", - "and w21, w23, w21", - "ldr w24, [sp, #11392]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #11456]", - "add w21, w21, w24", - "ldr w24, [sp, #11424]", - "add w21, w21, w24", - "ldr w24, [sp, #11296]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v22.16b", "ext v16.16b, v23.16b, v22.16b, #4", "mov w20, #0x1000", @@ -3561,941 +2119,461 @@ "ldr q5, [x29, x20, sxtx]", "add v21.4s, v21.4s, v5.4s", "add v16.4s, v16.4s, v24.4s", - "mov w20, v17.s[3]", - "str w20, [sp, #11552]", - "mov w20, v17.s[2]", - "str w20, [sp, #11584]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #11520]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #11616]", - "and w30, w21, w22", - "str w22, [sp, #11648]", - "bic w22, w23, w21", - "str w23, [sp, #11680]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #11744]", - "add w22, w22, w24", - "str w24, [sp, #11712]", - "ldr w23, [sp, #11552]", - "ldr w24, [sp, #11584]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #11808]", - "str w20, [sp, #11776]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #11840]", - "ldr w20, [sp, #11648]", - "and w22, w21, w20", - "ldr w24, [sp, #11680]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #11744]", - "add w22, w22, w25", - "ldr w25, [sp, #11712]", - "add w22, w22, w25", - "ldr w25, [sp, #11520]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #11872]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #11968]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #11616]", - "add w20, w20, w22", - "str w22, [sp, #11936]", - "add w20, w20, w24", - "str w24, [sp, #11904]", - "ldr w22, [sp, #11840]", - "and w24, w22, w23", - "ldr w25, [sp, #11808]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v20.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #11968]", - "and w21, w23, w21", - "ldr w24, [sp, #11872]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #11936]", - "add w21, w21, w24", - "ldr w24, [sp, #11904]", - "add w21, w21, w24", - "ldr w24, [sp, #11776]", - "add w21, w21, w24", "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v20.16b, v5.16b", - "mov v20.s[0], w23", + "mov v20.s[0], w22", "tbl v16.16b, {v16.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #12032]", - "mov w20, v20.s[2]", - "str w20, [sp, #12064]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #12000]", - "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #12096]", - "and w30, w21, w22", - "str w22, [sp, #12128]", - "bic w22, w23, w21", - "str w23, [sp, #12160]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #12224]", - "add w22, w22, w24", - "str w24, [sp, #12192]", - "ldr w23, [sp, #12032]", - "ldr w24, [sp, #12064]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #12288]", - "str w20, [sp, #12256]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #12320]", - "ldr w20, [sp, #12128]", - "and w22, w21, w20", - "ldr w24, [sp, #12160]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #12224]", - "add w22, w22, w25", - "ldr w25, [sp, #12192]", - "add w22, w22, w25", - "ldr w25, [sp, #12000]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #12352]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #12448]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #12096]", - "add w20, w20, w22", - "str w22, [sp, #12416]", - "add w20, w20, w24", - "str w24, [sp, #12384]", - "ldr w22, [sp, #12320]", - "and w24, w22, w23", - "ldr w25, [sp, #12288]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #12448]", - "and w21, w23, w21", - "ldr w24, [sp, #12352]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #12416]", - "add w21, w21, w24", - "ldr w24, [sp, #12384]", - "add w21, w21, w24", - "ldr w24, [sp, #12256]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v23.16b", - "mov w20, v17.s[3]", - "str w20, [sp, #12512]", - "mov w20, v17.s[2]", - "str w20, [sp, #12544]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #12480]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v23.s[0]", - "mov w30, v23.s[1]", - "str w30, [sp, #12576]", - "and w30, w21, w22", - "str w22, [sp, #12608]", - "bic w22, w23, w21", - "str w23, [sp, #12640]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #12704]", - "add w22, w22, w24", - "str w24, [sp, #12672]", - "ldr w23, [sp, #12512]", - "ldr w24, [sp, #12544]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #12768]", - "str w20, [sp, #12736]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #12800]", - "ldr w20, [sp, #12608]", - "and w22, w21, w20", - "ldr w24, [sp, #12640]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #12704]", - "add w22, w22, w25", - "ldr w25, [sp, #12672]", - "add w22, w22, w25", - "ldr w25, [sp, #12480]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #12832]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #12928]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #12576]", - "add w20, w20, w22", - "str w22, [sp, #12896]", - "add w20, w20, w24", - "str w24, [sp, #12864]", - "ldr w22, [sp, #12800]", - "and w24, w22, w23", - "ldr w25, [sp, #12768]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v23.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v23.s[1]", + "add w20, w20, w21", + "mov w21, v20.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #12928]", - "and w21, w23, w21", - "ldr w24, [sp, #12832]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #12896]", - "add w21, w21, w24", - "ldr w24, [sp, #12864]", - "add w21, w21, w24", - "ldr w24, [sp, #12736]", - "add w21, w21, w24", "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v20.16b, v5.16b", - "mov v20.s[0], w23", + "mov v20.s[0], w22", "tbl v16.16b, {v23.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #12992]", - "mov w20, v20.s[2]", - "str w20, [sp, #13024]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #12960]", - "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #13056]", - "and w30, w21, w22", - "str w22, [sp, #13088]", - "bic w22, w23, w21", - "str w23, [sp, #13120]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #13184]", - "add w22, w22, w24", - "str w24, [sp, #13152]", - "ldr w23, [sp, #12992]", - "ldr w24, [sp, #13024]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #13248]", - "str w20, [sp, #13216]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #13280]", - "ldr w20, [sp, #13088]", - "and w22, w21, w20", - "ldr w24, [sp, #13120]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #13184]", - "add w22, w22, w25", - "ldr w25, [sp, #13152]", - "add w22, w22, w25", - "ldr w25, [sp, #12960]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #13312]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #13408]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #13056]", - "add w20, w20, w22", - "str w22, [sp, #13376]", - "add w20, w20, w24", - "str w24, [sp, #13344]", - "ldr w22, [sp, #13280]", - "and w24, w22, w23", - "ldr w25, [sp, #13248]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #13408]", - "and w21, w23, w21", - "ldr w24, [sp, #13312]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #13376]", - "add w21, w21, w24", - "ldr w24, [sp, #13344]", - "add w21, w21, w24", - "ldr w24, [sp, #13216]", - "add w21, w21, w24", "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v17.16b, v5.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "mov v16.16b, v22.16b", - "mov w20, v17.s[3]", - "str w20, [sp, #13472]", - "mov w20, v17.s[2]", - "str w20, [sp, #13504]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #13440]", - "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v22.s[0]", - "mov w30, v22.s[1]", - "str w30, [sp, #13536]", - "and w30, w21, w22", - "str w22, [sp, #13568]", - "bic w22, w23, w21", - "str w23, [sp, #13600]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #13664]", - "add w22, w22, w24", - "str w24, [sp, #13632]", - "ldr w23, [sp, #13472]", - "ldr w24, [sp, #13504]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #13728]", - "str w20, [sp, #13696]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #13760]", - "ldr w20, [sp, #13568]", - "and w22, w21, w20", - "ldr w24, [sp, #13600]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #13664]", - "add w22, w22, w25", - "ldr w25, [sp, #13632]", - "add w22, w22, w25", - "ldr w25, [sp, #13440]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #13792]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #13888]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #13536]", - "add w20, w20, w22", - "str w22, [sp, #13856]", - "add w20, w20, w24", - "str w24, [sp, #13824]", - "ldr w22, [sp, #13760]", - "and w24, w22, w23", - "ldr w25, [sp, #13728]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v22.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v22.s[1]", + "add w20, w20, w21", + "mov w21, v20.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #13888]", - "and w21, w23, w21", - "ldr w24, [sp, #13792]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #13856]", - "add w21, w21, w24", - "ldr w24, [sp, #13824]", - "add w21, w21, w24", - "ldr w24, [sp, #13696]", - "add w21, w21, w24", "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", "mov v20.16b, v5.16b", - "mov v20.s[0], w23", + "mov v20.s[0], w22", "tbl v16.16b, {v22.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #13952]", - "mov w20, v20.s[2]", - "str w20, [sp, #13984]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #13920]", - "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #14016]", - "and w30, w21, w22", - "str w22, [sp, #14048]", - "bic w22, w23, w21", - "str w23, [sp, #14080]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #14144]", - "add w22, w22, w24", - "str w24, [sp, #14112]", - "ldr w23, [sp, #13952]", - "ldr w24, [sp, #13984]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #14208]", - "str w20, [sp, #14176]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #14240]", - "ldr w20, [sp, #14048]", - "and w22, w21, w20", - "ldr w24, [sp, #14080]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #14144]", - "add w22, w22, w25", - "ldr w25, [sp, #14112]", - "add w22, w22, w25", - "ldr w25, [sp, #13920]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #14272]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #14368]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #14016]", - "add w20, w20, w22", - "str w22, [sp, #14336]", - "add w20, w20, w24", - "str w24, [sp, #14304]", - "ldr w22, [sp, #14240]", - "and w24, w22, w23", - "ldr w25, [sp, #14208]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #14368]", - "and w21, w23, w21", - "ldr w24, [sp, #14272]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #14336]", - "add w21, w21, w24", - "ldr w24, [sp, #14304]", - "add w21, w21, w24", - "ldr w24, [sp, #14176]", - "add w21, w21, w24", - "mov v5.16b, v17.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v17.16b, v5.16b", - "mov v17.s[0], w23", - "mov v16.16b, v21.16b", - "mov w20, v17.s[3]", - "str w20, [sp, #14432]", - "mov w20, v17.s[2]", - "str w20, [sp, #14464]", - "mov w20, v20.s[3]", - "mov w21, v20.s[2]", - "str w21, [sp, #14400]", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", "mov w21, v17.s[1]", - "mov w22, v17.s[0]", - "mov w23, v20.s[1]", - "mov w24, v20.s[0]", - "mov w25, v21.s[0]", - "mov w30, v21.s[1]", - "str w30, [sp, #14496]", - "and w30, w21, w22", - "str w22, [sp, #14528]", - "bic w22, w23, w21", - "str w23, [sp, #14560]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", + "add w20, w20, w23", + "mov v5.16b, v17.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v17.16b, v5.16b", + "mov v17.s[0], w22", + "mov v16.16b, v21.16b", + "mov w20, v17.s[1]", + "mov w21, v17.s[0]", + "mov w22, v20.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #14624]", - "add w22, w22, w24", - "str w24, [sp, #14592]", - "ldr w23, [sp, #14432]", - "ldr w24, [sp, #14464]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #14688]", - "str w20, [sp, #14656]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #14720]", - "ldr w20, [sp, #14528]", - "and w22, w21, w20", - "ldr w24, [sp, #14560]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #14624]", - "add w22, w22, w25", - "ldr w25, [sp, #14592]", - "add w22, w22, w25", - "ldr w25, [sp, #14400]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #14752]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #14848]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #14496]", - "add w20, w20, w22", - "str w22, [sp, #14816]", - "add w20, w20, w24", - "str w24, [sp, #14784]", - "ldr w22, [sp, #14720]", - "and w24, w22, w23", - "ldr w25, [sp, #14688]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", - "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #14848]", - "and w21, w23, w21", - "ldr w24, [sp, #14752]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #14816]", - "add w21, w21, w24", - "ldr w24, [sp, #14784]", - "add w21, w21, w24", - "ldr w24, [sp, #14656]", - "add w21, w21, w24", - "mov v5.16b, v20.16b", - "mov v5.s[3], w20", - "mov v5.s[2], w22", - "mov v5.s[1], w21", - "mov v20.16b, v5.16b", - "mov v20.s[0], w23", - "tbl v16.16b, {v21.16b}, v4.16b", - "mov w20, v20.s[3]", - "str w20, [sp, #14912]", - "mov w20, v20.s[2]", - "str w20, [sp, #14944]", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #14880]", + "mov w23, v21.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v20.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v20.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v21.s[1]", + "add w20, w20, w21", "mov w21, v20.s[1]", - "mov w22, v20.s[0]", - "mov w23, v17.s[1]", - "mov w24, v17.s[0]", - "mov w25, v16.s[0]", - "mov w30, v16.s[1]", - "str w30, [sp, #14976]", - "and w30, w21, w22", - "str w22, [sp, #15008]", - "bic w22, w23, w21", - "str w23, [sp, #15040]", - "eor w22, w30, w22", - "ror w23, w21, #6", - "ror w30, w21, #11", - "eor w23, w23, w30", - "ror w30, w21, #25", - "eor w23, w23, w30", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v20.s[3]", + "add w20, w20, w23", + "mov v5.16b, v20.16b", + "mov v5.s[3], w21", + "mov v5.s[2], w25", + "mov v5.s[1], w20", + "mov v20.16b, v5.16b", + "mov v20.s[0], w22", + "tbl v16.16b, {v21.16b}, v4.16b", + "mov w20, v20.s[1]", + "mov w21, v20.s[0]", + "mov w22, v17.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", "add w22, w22, w23", - "add w22, w22, w25", - "str w25, [sp, #15104]", - "add w22, w22, w24", - "str w24, [sp, #15072]", - "ldr w23, [sp, #14912]", - "ldr w24, [sp, #14944]", - "and w25, w23, w24", - "and w30, w23, w20", - "eor w25, w25, w30", - "and w30, w24, w20", - "str w24, [sp, #15168]", - "str w20, [sp, #15136]", - "eor w20, w25, w30", - "add w20, w22, w20", - "ror w22, w23, #2", - "ror w24, w23, #13", - "eor w22, w22, w24", - "ror w24, w23, #22", - "eor w22, w22, w24", - "add w20, w20, w22", - "str w20, [sp, #15200]", - "ldr w20, [sp, #15008]", - "and w22, w21, w20", - "ldr w24, [sp, #15040]", - "bic w25, w24, w21", - "eor w22, w22, w25", - "ror w25, w21, #6", - "ror w30, w21, #11", - "eor w25, w25, w30", - "ror w30, w21, #25", - "eor w25, w25, w30", - "add w22, w22, w25", - "ldr w25, [sp, #15104]", - "add w22, w22, w25", - "ldr w25, [sp, #15072]", - "add w22, w22, w25", - "ldr w25, [sp, #14880]", - "add w22, w22, w25", - "and w25, w22, w21", - "bic w30, w20, w22", - "str w20, [sp, #15232]", - "eor w20, w25, w30", - "ror w25, w22, #6", - "ror w30, w22, #11", - "eor w25, w25, w30", - "ror w30, w22, #25", - "str w22, [sp, #15328]", - "eor w22, w25, w30", - "add w20, w20, w22", - "ldr w22, [sp, #14976]", - "add w20, w20, w22", - "str w22, [sp, #15296]", - "add w20, w20, w24", - "str w24, [sp, #15264]", - "ldr w22, [sp, #15200]", - "and w24, w22, w23", - "ldr w25, [sp, #15168]", - "and w30, w22, w25", - "eor w24, w24, w30", - "and w23, w23, w25", - "eor w23, w24, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[0]", + "add w22, w22, w23", + "mov w23, v20.s[3]", + "mov w24, v20.s[2]", + "mov w25, v17.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v17.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v17.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", + "add w21, w21, w23", + "mov w23, v17.s[3]", "add w20, w20, w23", - "ror w23, w22, #2", - "ror w24, w22, #13", - "eor w23, w23, w24", - "ror w24, w22, #22", - "eor w23, w23, w24", - "add w20, w20, w23", - "ldr w23, [sp, #15328]", - "and w21, w23, w21", - "ldr w24, [sp, #15232]", - "bic w24, w24, w23", - "eor w21, w21, w24", - "ror w24, w23, #6", - "ror w25, w23, #11", - "eor w24, w24, w25", - "ror w25, w23, #25", - "eor w24, w24, w25", - "add w21, w21, w24", - "ldr w24, [sp, #15296]", - "add w21, w21, w24", - "ldr w24, [sp, #15264]", - "add w21, w21, w24", - "ldr w24, [sp, #15136]", - "add w21, w21, w24", "mov v4.16b, v17.16b", - "mov v4.s[3], w20", - "mov v4.s[2], w22", - "mov v4.s[1], w21", + "mov v4.s[3], w21", + "mov v4.s[2], w25", + "mov v4.s[1], w20", "mov v17.16b, v4.16b", - "mov v17.s[0], w23", + "mov v17.s[0], w22", "add v20.4s, v20.4s, v18.4s", "add v17.4s, v17.4s, v19.4s", "tbl v20.16b, {v20.16b}, v2.16b", @@ -4505,9 +2583,7 @@ "mov v16.d[1], v20.d[1]", "ext v20.16b, v17.16b, v20.16b, #8", "str q16, [x11, #256]", - "str q20, [x11, #272]", - "mov w0, #0x3c00", - "add sp, sp, x0" + "str q20, [x11, #272]" ] } } diff --git a/unittests/InstructionCountCI/H0F38.json b/unittests/InstructionCountCI/H0F38.json index ec9a31904..59fd64344 100644 --- a/unittests/InstructionCountCI/H0F38.json +++ b/unittests/InstructionCountCI/H0F38.json @@ -679,131 +679,67 @@ ] }, "sha256rnds2 xmm0, xmm1": { - "ExpectedInstructionCount": 120, + "ExpectedInstructionCount": 56, "Comment": [ "0x66 0x0f 0x38 0xcb" ], "ExpectedArm64ASM": [ - "sub sp, sp, #0x200 (512)", - "mov w20, v17.s[3]", - "str w20, [sp, #96]", - "mov w20, v17.s[2]", - "str w20, [sp, #64]", - "mov w20, v16.s[3]", - "mov w21, v16.s[2]", - "str w21, [sp]", - "mov w21, v17.s[1]", - "str w21, [sp, #32]", + "mov w20, v17.s[1]", "mov w21, v17.s[0]", "mov w22, v16.s[1]", + "and w23, w20, w21", + "bic w22, w22, w20", + "eor w22, w23, w22", + "ror w23, w20, #6", + "eor w23, w23, w20, ror #11", + "eor w23, w23, w20, ror #25", + "add w22, w22, w23", "mov w23, v16.s[0]", - "mov w24, v16.s[0]", - "mov w25, v16.s[1]", - "str w25, [sp, #128]", - "ldr w25, [sp, #32]", - "and w30, w25, w21", - "str w21, [sp, #160]", - "bic w21, w22, w25", - "str w22, [sp, #192]", - "eor w21, w30, w21", - "ror w22, w25, #6", - "ror w30, w25, #11", - "eor w22, w22, w30", - "ror w30, w25, #25", - "eor w22, w22, w30", - "add w21, w21, w22", - "add w21, w21, w24", - "str w24, [sp, #256]", + "add w22, w22, w23", + "mov w23, v16.s[0]", + "add w22, w22, w23", + "mov w23, v17.s[3]", + "mov w24, v17.s[2]", + "mov w25, v16.s[3]", + "and w30, w24, w25", + "orr w25, w24, w25", + "and w25, w23, w25", + "orr w25, w25, w30", + "add w25, w22, w25", + "ror w30, w23, #2", + "eor w30, w30, w23, ror #13", + "eor w30, w30, w23, ror #22", + "add w25, w25, w30", + "mov w30, v16.s[2]", + "add w22, w22, w30", + "and w20, w22, w20", + "bic w21, w21, w22", + "eor w20, w20, w21", + "ror w21, w22, #6", + "eor w21, w21, w22, ror #11", + "eor w21, w21, w22, ror #25", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "mov w21, v16.s[1]", + "add w20, w20, w21", + "and w21, w23, w24", + "orr w23, w23, w24", + "and w23, w25, w23", + "orr w21, w23, w21", + "add w21, w20, w21", + "ror w23, w25, #2", + "eor w23, w23, w25, ror #13", + "eor w23, w23, w25, ror #22", "add w21, w21, w23", - "str w23, [sp, #224]", - "ldr w22, [sp, #64]", - "ldr w23, [sp, #96]", - "and w24, w23, w22", - "and w30, w23, w20", - "eor w24, w24, w30", - "and w30, w22, w20", - "str w22, [sp, #320]", - "str w20, [sp, #288]", - "eor w20, w24, w30", - "add w20, w21, w20", - "ror w21, w23, #2", - "ror w22, w23, #13", - "eor w21, w21, w22", - "ror w22, w23, #22", - "eor w21, w21, w22", - "add w20, w20, w21", - "str w20, [sp, #352]", - "ldr w20, [sp, #160]", - "and w21, w25, w20", - "ldr w22, [sp, #192]", - "bic w24, w22, w25", - "eor w21, w21, w24", - "ror w24, w25, #6", - "ror w30, w25, #11", - "eor w24, w24, w30", - "ror w30, w25, #25", - "eor w24, w24, w30", - "add w21, w21, w24", - "ldr w24, [sp, #256]", - "add w21, w21, w24", - "ldr w24, [sp, #224]", - "add w21, w21, w24", - "ldr w24, [sp]", - "add w21, w21, w24", - "and w24, w21, w25", - "bic w30, w20, w21", - "str w20, [sp, #384]", - "eor w20, w24, w30", - "ror w24, w21, #6", - "ror w30, w21, #11", - "eor w24, w24, w30", - "ror w30, w21, #25", - "str w21, [sp, #480]", - "eor w21, w24, w30", - "add w20, w20, w21", - "ldr w21, [sp, #128]", - "add w20, w20, w21", - "str w21, [sp, #448]", - "add w20, w20, w22", - "str w22, [sp, #416]", - "ldr w21, [sp, #352]", - "and w22, w21, w23", - "ldr w24, [sp, #320]", - "and w30, w21, w24", - "eor w22, w22, w30", - "and w23, w23, w24", - "eor w22, w22, w23", - "add w20, w20, w22", - "ror w22, w21, #2", - "ror w23, w21, #13", - "eor w22, w22, w23", - "ror w23, w21, #22", - "eor w22, w22, w23", - "add w20, w20, w22", - "ldr w22, [sp, #480]", - "and w23, w22, w25", - "ldr w24, [sp, #384]", - "bic w24, w24, w22", - "eor w23, w23, w24", - "ror w24, w22, #6", - "ror w25, w22, #11", - "eor w24, w24, w25", - "ror w25, w22, #25", - "eor w24, w24, w25", - "add w23, w23, w24", - "ldr w24, [sp, #448]", - "add w23, w23, w24", - "ldr w24, [sp, #416]", - "add w23, w23, w24", - "ldr w24, [sp, #288]", - "add w23, w23, w24", + "mov w23, v16.s[3]", + "add w20, w20, w23", "mov v2.16b, v16.16b", - "mov v2.s[3], w20", - "mov v2.s[2], w21", - "mov v2.s[1], w23", + "mov v2.s[3], w21", + "mov v2.s[2], w25", + "mov v2.s[1], w20", "mov v16.16b, v2.16b", - "mov v16.s[0], w22", - "add sp, sp, #0x200 (512)" + "mov v16.s[0], w22" ] }, "sha256msg1 xmm0, xmm1": { diff --git a/unittests/InstructionCountCI/H0F3A.json b/unittests/InstructionCountCI/H0F3A.json index 4b37479f6..c79dc9b6e 100644 --- a/unittests/InstructionCountCI/H0F3A.json +++ b/unittests/InstructionCountCI/H0F3A.json @@ -1338,21 +1338,14 @@ ] }, "sha1rnds4 xmm0, xmm1, 00b": { - "ExpectedInstructionCount": 65, + "ExpectedInstructionCount": 57, "Comment": [ "0x66 0x0f 0x3a 0xcc" ], "ExpectedArm64ASM": [ - "sub sp, sp, #0x60 (96)", "mov w20, #0x7999", "movk w20, #0x5a82, lsl #16", "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #64]", - "mov w21, v17.s[1]", - "str w21, [sp, #32]", - "mov w21, v17.s[0]", - "str w21, [sp]", "mov w21, v16.s[3]", "mov w22, v16.s[2]", "mov w23, v16.s[1]", @@ -1367,37 +1360,37 @@ "movk w25, #0x5a82, lsl #16", "add w20, w20, w25", "ror w22, w22, #2", + "mov w25, v17.s[2]", + "add w24, w25, w24", "and w25, w21, w22", "bic w30, w23, w21", "eor w25, w25, w30", "ror w30, w20, #27", "add w25, w25, w30", - "ldr w30, [sp, #64]", - "add w25, w25, w30", "add w24, w25, w24", "mov w25, #0x7999", "movk w25, #0x5a82, lsl #16", "add w24, w24, w25", "ror w21, w21, #2", + "mov w25, v17.s[1]", + "add w23, w25, w23", "and w25, w20, w21", "bic w30, w22, w20", "eor w25, w25, w30", "ror w30, w24, #27", "add w25, w25, w30", - "ldr w30, [sp, #32]", - "add w25, w25, w30", "add w23, w25, w23", "mov w25, #0x7999", "movk w25, #0x5a82, lsl #16", "add w23, w23, w25", "ror w20, w20, #2", + "mov w30, v17.s[0]", + "add w22, w30, w22", "and w30, w24, w20", "bic w21, w21, w24", "eor w21, w30, w21", "ror w30, w23, #27", "add w21, w21, w30", - "ldr w30, [sp]", - "add w21, w21, w30", "add w21, w21, w22", "add w21, w21, w25", "ror w22, w24, #2", @@ -1406,104 +1399,87 @@ "mov v2.s[2], w23", "mov v2.s[1], w22", "mov v16.16b, v2.16b", - "mov v16.s[0], w20", - "add sp, sp, #0x60 (96)" + "mov v16.s[0], w20" ] }, "sha1rnds4 xmm0, xmm1, 01b": { + "ExpectedInstructionCount": 53, + "Comment": [ + "0x66 0x0f 0x3a 0xcc" + ], + "ExpectedArm64ASM": [ + "mov w20, #0xeba1", + "movk w20, #0x6ed9, lsl #16", + "mov w20, v17.s[3]", + "mov w21, v16.s[3]", + "mov w22, v16.s[2]", + "mov w23, v16.s[1]", + "mov w24, v16.s[0]", + "eor w25, w22, w23", + "eor w25, w25, w24", + "ror w30, w21, #27", + "add w25, w25, w30", + "add w20, w25, w20", + "mov w25, #0xeba1", + "movk w25, #0x6ed9, lsl #16", + "add w20, w20, w25", + "ror w22, w22, #2", + "mov w25, v17.s[2]", + "add w24, w25, w24", + "eor w25, w21, w22", + "eor w25, w25, w23", + "ror w30, w20, #27", + "add w25, w25, w30", + "add w24, w25, w24", + "mov w25, #0xeba1", + "movk w25, #0x6ed9, lsl #16", + "add w24, w24, w25", + "ror w21, w21, #2", + "mov w25, v17.s[1]", + "add w23, w25, w23", + "eor w25, w20, w21", + "eor w25, w25, w22", + "ror w30, w24, #27", + "add w25, w25, w30", + "add w23, w25, w23", + "mov w25, #0xeba1", + "movk w25, #0x6ed9, lsl #16", + "add w23, w23, w25", + "ror w20, w20, #2", + "mov w30, v17.s[0]", + "add w22, w30, w22", + "eor w30, w24, w20", + "eor w21, w30, w21", + "ror w30, w23, #27", + "add w21, w21, w30", + "add w21, w21, w22", + "add w21, w21, w25", + "ror w22, w24, #2", + "mov v2.16b, v16.16b", + "mov v2.s[3], w21", + "mov v2.s[2], w23", + "mov v2.s[1], w22", + "mov v16.16b, v2.16b", + "mov v16.s[0], w20" + ] + }, + "sha1rnds4 xmm0, xmm1, 10b": { "ExpectedInstructionCount": 61, "Comment": [ "0x66 0x0f 0x3a 0xcc" ], "ExpectedArm64ASM": [ - "sub sp, sp, #0x60 (96)", - "mov w20, #0xeba1", - "movk w20, #0x6ed9, lsl #16", - "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "mov w22, v17.s[1]", - "str w22, [sp, #32]", - "mov w22, v17.s[0]", - "str w22, [sp]", - "mov w22, v16.s[3]", - "mov w23, v16.s[2]", - "mov w24, v16.s[1]", - "mov w25, v16.s[0]", - "eor w30, w23, w24", - "eor w30, w30, w25", - "str w25, [sp, #64]", - "ror w25, w22, #27", - "add w25, w30, w25", - "add w20, w25, w20", - "mov w25, #0xeba1", - "movk w25, #0x6ed9, lsl #16", - "add w20, w20, w25", - "ror w23, w23, #2", - "eor w25, w22, w23", - "eor w25, w25, w24", - "ror w30, w20, #27", - "add w25, w25, w30", - "add w21, w25, w21", - "ldr w25, [sp, #64]", - "add w21, w21, w25", - "mov w25, #0xeba1", - "movk w25, #0x6ed9, lsl #16", - "add w21, w21, w25", - "ror w22, w22, #2", - "eor w25, w20, w22", - "eor w25, w25, w23", - "ror w30, w21, #27", - "add w25, w25, w30", - "ldr w30, [sp, #32]", - "add w25, w25, w30", - "add w24, w25, w24", - "mov w25, #0xeba1", - "movk w25, #0x6ed9, lsl #16", - "add w24, w24, w25", - "ror w20, w20, #2", - "eor w30, w21, w20", - "eor w22, w30, w22", - "ror w30, w24, #27", - "add w22, w22, w30", - "ldr w30, [sp]", - "add w22, w22, w30", - "add w22, w22, w23", - "add w22, w22, w25", - "ror w21, w21, #2", - "mov v2.16b, v16.16b", - "mov v2.s[3], w22", - "mov v2.s[2], w24", - "mov v2.s[1], w21", - "mov v16.16b, v2.16b", - "mov v16.s[0], w20", - "add sp, sp, #0x60 (96)" - ] - }, - "sha1rnds4 xmm0, xmm1, 10b": { - "ExpectedInstructionCount": 75, - "Comment": [ - "0x66 0x0f 0x3a 0xcc" - ], - "ExpectedArm64ASM": [ - "sub sp, sp, #0x60 (96)", "mov w20, #0xbcdc", "movk w20, #0x8f1b, lsl #16", "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "str w21, [sp, #64]", - "mov w21, v17.s[1]", - "str w21, [sp, #32]", - "mov w21, v17.s[0]", - "str w21, [sp]", "mov w21, v16.s[3]", "mov w22, v16.s[2]", "mov w23, v16.s[1]", "mov w24, v16.s[0]", - "and w25, w22, w23", - "and w30, w22, w24", - "eor w25, w25, w30", - "and w30, w23, w24", - "eor w25, w25, w30", + "and w25, w23, w24", + "orr w30, w23, w24", + "and w30, w22, w30", + "orr w25, w30, w25", "ror w30, w21, #27", "add w25, w25, w30", "add w20, w25, w20", @@ -1511,124 +1487,110 @@ "movk w25, #0x8f1b, lsl #16", "add w20, w20, w25", "ror w22, w22, #2", - "and w25, w21, w22", - "and w30, w21, w23", - "eor w25, w25, w30", - "and w30, w22, w23", - "eor w25, w25, w30", + "mov w25, v17.s[2]", + "add w24, w25, w24", + "and w25, w22, w23", + "orr w30, w22, w23", + "and w30, w21, w30", + "orr w25, w30, w25", "ror w30, w20, #27", "add w25, w25, w30", - "ldr w30, [sp, #64]", - "add w25, w25, w30", "add w24, w25, w24", "mov w25, #0xbcdc", "movk w25, #0x8f1b, lsl #16", "add w24, w24, w25", "ror w21, w21, #2", - "and w25, w20, w21", - "and w30, w20, w22", - "eor w25, w25, w30", - "and w30, w21, w22", - "eor w25, w25, w30", + "mov w25, v17.s[1]", + "add w23, w25, w23", + "and w25, w21, w22", + "orr w30, w21, w22", + "and w30, w20, w30", + "orr w25, w30, w25", "ror w30, w24, #27", "add w25, w25, w30", - "ldr w30, [sp, #32]", - "add w25, w25, w30", "add w23, w25, w23", "mov w25, #0xbcdc", "movk w25, #0x8f1b, lsl #16", "add w23, w23, w25", "ror w20, w20, #2", - "and w25, w24, w20", - "and w30, w24, w21", - "eor w25, w25, w30", - "and w21, w20, w21", - "eor w21, w25, w21", - "ror w25, w23, #27", - "add w21, w21, w25", - "ldr w25, [sp]", - "add w21, w21, w25", - "add w21, w21, w22", - "mov w22, #0xbcdc", - "movk w22, #0x8f1b, lsl #16", + "mov w30, v17.s[0]", + "add w22, w30, w22", + "and w30, w20, w21", + "orr w21, w20, w21", + "and w21, w24, w21", + "orr w21, w21, w30", + "ror w30, w23, #27", + "add w21, w21, w30", "add w21, w21, w22", + "add w21, w21, w25", "ror w22, w24, #2", "mov v2.16b, v16.16b", "mov v2.s[3], w21", "mov v2.s[2], w23", "mov v2.s[1], w22", "mov v16.16b, v2.16b", - "mov v16.s[0], w20", - "add sp, sp, #0x60 (96)" + "mov v16.s[0], w20" ] }, "sha1rnds4 xmm0, xmm1, 11b": { - "ExpectedInstructionCount": 61, + "ExpectedInstructionCount": 53, "Comment": [ "0x66 0x0f 0x3a 0xcc" ], "ExpectedArm64ASM": [ - "sub sp, sp, #0x60 (96)", "mov w20, #0xc1d6", "movk w20, #0xca62, lsl #16", "mov w20, v17.s[3]", - "mov w21, v17.s[2]", - "mov w22, v17.s[1]", - "str w22, [sp, #32]", - "mov w22, v17.s[0]", - "str w22, [sp]", - "mov w22, v16.s[3]", - "mov w23, v16.s[2]", - "mov w24, v16.s[1]", - "mov w25, v16.s[0]", - "eor w30, w23, w24", - "eor w30, w30, w25", - "str w25, [sp, #64]", - "ror w25, w22, #27", - "add w25, w30, w25", + "mov w21, v16.s[3]", + "mov w22, v16.s[2]", + "mov w23, v16.s[1]", + "mov w24, v16.s[0]", + "eor w25, w22, w23", + "eor w25, w25, w24", + "ror w30, w21, #27", + "add w25, w25, w30", "add w20, w25, w20", "mov w25, #0xc1d6", "movk w25, #0xca62, lsl #16", "add w20, w20, w25", - "ror w23, w23, #2", - "eor w25, w22, w23", - "eor w25, w25, w24", - "ror w30, w20, #27", - "add w25, w25, w30", - "add w21, w25, w21", - "ldr w25, [sp, #64]", - "add w21, w21, w25", - "mov w25, #0xc1d6", - "movk w25, #0xca62, lsl #16", - "add w21, w21, w25", "ror w22, w22, #2", - "eor w25, w20, w22", + "mov w25, v17.s[2]", + "add w24, w25, w24", + "eor w25, w21, w22", "eor w25, w25, w23", - "ror w30, w21, #27", - "add w25, w25, w30", - "ldr w30, [sp, #32]", + "ror w30, w20, #27", "add w25, w25, w30", "add w24, w25, w24", "mov w25, #0xc1d6", "movk w25, #0xca62, lsl #16", "add w24, w24, w25", - "ror w20, w20, #2", - "eor w30, w21, w20", - "eor w22, w30, w22", - "ror w30, w24, #27", - "add w22, w22, w30", - "ldr w30, [sp]", - "add w22, w22, w30", - "add w22, w22, w23", - "add w22, w22, w25", "ror w21, w21, #2", + "mov w25, v17.s[1]", + "add w23, w25, w23", + "eor w25, w20, w21", + "eor w25, w25, w22", + "ror w30, w24, #27", + "add w25, w25, w30", + "add w23, w25, w23", + "mov w25, #0xc1d6", + "movk w25, #0xca62, lsl #16", + "add w23, w23, w25", + "ror w20, w20, #2", + "mov w30, v17.s[0]", + "add w22, w30, w22", + "eor w30, w24, w20", + "eor w21, w30, w21", + "ror w30, w23, #27", + "add w21, w21, w30", + "add w21, w21, w22", + "add w21, w21, w25", + "ror w22, w24, #2", "mov v2.16b, v16.16b", - "mov v2.s[3], w22", - "mov v2.s[2], w24", - "mov v2.s[1], w21", + "mov v2.s[3], w21", + "mov v2.s[2], w23", + "mov v2.s[1], w22", "mov v16.16b, v2.16b", - "mov v16.s[0], w20", - "add sp, sp, #0x60 (96)" + "mov v16.s[0], w20" ] } }