Files
FEX-Emu--FEX/unittests/InstructionCountCI/FEXOpt/libnss.json
T

723 lines
24 KiB
JSON

{
"Features": {
"Bitness": 64,
"EnabledHostFeatures": [
"CRYPTO",
"FLAGM",
"FLAGM2"
],
"DisabledHostFeatures": [
"SVE128",
"SVE256",
"RPRES",
"AFP"
],
"BinaryCacheVersion": 6
},
"Comment": [],
"Instructions": {
"libnss3 sha": {
"x86InstructionCount": 168,
"ExpectedInstructionCount": 521,
"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.",
"No correct behaviour to return here, just need to compare output logs and ensure panic spilling doesn't occur."
],
"x86Insts": [
"endbr64",
"movdqu xmm2, [rdi+0x100]",
"movdqu xmm3, [rdi+0x110]",
"movdqu xmm8, [rdi]",
"movdqu xmm7, [rdi+0x10]",
"pshufd xmm0, xmm2, 0xb1",
"pshufd xmm2, xmm3, 0x1b",
"movdqu xmm6, [rdi+0x20]",
"movdqu xmm5, [rdi+0x30]",
"movdqa xmm3, xmm0",
"palignr xmm3, xmm2, 0x8",
"pblendw xmm2, xmm0, 0xf0",
"movdqa xmm0, [r15 + 0x1_1000]",
"movdqa xmm4, xmm2",
"movdqa xmm1, xmm3",
"pshufb xmm5, xmm0",
"pshufb xmm6, xmm0",
"pshufb xmm7, xmm0",
"pshufb xmm8, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"paddd xmm0, xmm8",
"sha256msg1 xmm8, xmm7",
"sha256rnds2 xmm4, xmm3",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm5",
"palignr xmm0, xmm6, 0x4",
"paddd xmm8, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm8, xmm5",
"paddd xmm0, xmm7",
"sha256msg1 xmm7, xmm6",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm8",
"palignr xmm0, xmm5, 0x4",
"paddd xmm7, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm7, xmm8",
"paddd xmm0, xmm6",
"sha256msg1 xmm6, xmm5",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm7",
"palignr xmm0, xmm8, 0x4",
"paddd xmm6, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm6, xmm7",
"paddd xmm0, xmm5",
"sha256msg1 xmm5, xmm8",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm6",
"palignr xmm0, xmm7, 0x4",
"paddd xmm5, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm5, xmm6",
"paddd xmm0, xmm8",
"sha256msg1 xmm8, xmm7",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm5",
"palignr xmm0, xmm6, 0x4",
"paddd xmm8, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm8, xmm5",
"paddd xmm0, xmm7",
"sha256msg1 xmm7, xmm6",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm8",
"palignr xmm0, xmm5, 0x4",
"paddd xmm7, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm7, xmm8",
"paddd xmm0, xmm6",
"sha256msg1 xmm6, xmm5",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm7",
"palignr xmm0, xmm8, 0x4",
"paddd xmm6, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm6, xmm7",
"paddd xmm0, xmm5",
"sha256msg1 xmm5, xmm8",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm6",
"palignr xmm0, xmm7, 0x4",
"paddd xmm5, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm5, xmm6",
"paddd xmm0, xmm8",
"sha256msg1 xmm8, xmm7",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm5",
"palignr xmm0, xmm6, 0x4",
"paddd xmm8, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm8, xmm5",
"paddd xmm0, xmm7",
"sha256msg1 xmm7, xmm6",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm8",
"palignr xmm0, xmm5, 0x4",
"paddd xmm7, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm7, xmm8",
"paddd xmm0, xmm6",
"sha256msg1 xmm6, xmm5",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm7",
"palignr xmm0, xmm8, 0x4",
"paddd xmm6, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm6, xmm7",
"paddd xmm0, xmm5",
"sha256msg1 xmm5, xmm8",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm6",
"palignr xmm0, xmm7, 0x4",
"paddd xmm7, [r15 + 0x1_1000]",
"paddd xmm5, xmm0",
"movdqa xmm0, [r15 + 0x1_1000]",
"sha256msg2 xmm5, xmm6",
"paddd xmm6, [r15 + 0x1_1000]",
"paddd xmm5, [r15 + 0x1_1000]",
"paddd xmm0, xmm8",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm0, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm7",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm7, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm6",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm6, 0xe",
"sha256rnds2 xmm1, xmm4",
"movdqa xmm0, xmm5",
"sha256rnds2 xmm4, xmm1",
"pshufd xmm0, xmm5, 0xe",
"sha256rnds2 xmm1, xmm4",
"paddd xmm4, xmm2",
"paddd xmm1, xmm3",
"pshufd xmm4, xmm4, 0xb1",
"pshufd xmm1, xmm1, 0x1b",
"movdqa xmm0, xmm1",
"pblendw xmm0, xmm4, 0xf0",
"palignr xmm4, xmm1, 0x8",
"movups [rdi+0x100], xmm0",
"movups [rdi+0x110], xmm4"
],
"ExpectedArm64ASM": [
"ldr q18, [x11, #256]",
"ldr q19, [x11, #272]",
"ldr q24, [x11]",
"ldr q23, [x11, #16]",
"rev64 v16.4s, v18.4s",
"rev64 v2.4s, v19.4s",
"ext v18.16b, v2.16b, v2.16b, #8",
"ldr q22, [x11, #32]",
"ldr q21, [x11, #48]",
"ext v19.16b, v18.16b, v16.16b, #8",
"mov v18.d[1], v16.d[1]",
"mov w20, #0x1000",
"movk w20, #0x1, lsl #16",
"ldr q16, [x29, x20, sxtx]",
"mov v20.16b, v18.16b",
"mov v17.16b, v19.16b",
"movi v2.16b, #0x8f",
"and v2.16b, v16.16b, v2.16b",
"tbl v21.16b, {v21.16b}, v2.16b",
"movi v2.16b, #0x8f",
"and v2.16b, v16.16b, v2.16b",
"tbl v22.16b, {v22.16b}, v2.16b",
"movi v2.16b, #0x8f",
"and v2.16b, v16.16b, v2.16b",
"tbl v23.16b, {v23.16b}, v2.16b",
"movi v2.16b, #0x8f",
"and v2.16b, v16.16b, v2.16b",
"tbl v24.16b, {v24.16b}, v2.16b",
"ldr q16, [x29, x20, sxtx]",
"add v16.4s, v16.4s, v24.4s",
"sha256su0 v24.4s, v23.4s",
"zip2 v2.2d, v19.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v19.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v22.16b, v21.16b, #4",
"add v24.4s, v24.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v24.16b, v24.16b, #12",
"dup v3.4s, v24.s[3]",
"zip2 v3.2d, v3.2d, v21.2d",
"movi v24.2d, #0x0",
"sha256su1 v24.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v23.4s",
"sha256su0 v23.4s, v22.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v21.16b, v24.16b, #4",
"add v23.4s, v23.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v23.16b, v23.16b, #12",
"dup v3.4s, v23.s[3]",
"zip2 v3.2d, v3.2d, v24.2d",
"movi v23.2d, #0x0",
"sha256su1 v23.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v22.4s",
"sha256su0 v22.4s, v21.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v24.16b, v23.16b, #4",
"add v22.4s, v22.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v22.16b, v22.16b, #12",
"dup v3.4s, v22.s[3]",
"zip2 v3.2d, v3.2d, v23.2d",
"movi v22.2d, #0x0",
"sha256su1 v22.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v21.4s",
"sha256su0 v21.4s, v24.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v23.16b, v22.16b, #4",
"add v21.4s, v21.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v21.16b, v21.16b, #12",
"dup v3.4s, v21.s[3]",
"zip2 v3.2d, v3.2d, v22.2d",
"movi v21.2d, #0x0",
"sha256su1 v21.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v24.4s",
"sha256su0 v24.4s, v23.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v22.16b, v21.16b, #4",
"add v24.4s, v24.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v24.16b, v24.16b, #12",
"dup v3.4s, v24.s[3]",
"zip2 v3.2d, v3.2d, v21.2d",
"movi v24.2d, #0x0",
"sha256su1 v24.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v23.4s",
"sha256su0 v23.4s, v22.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v21.16b, v24.16b, #4",
"add v23.4s, v23.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v23.16b, v23.16b, #12",
"dup v3.4s, v23.s[3]",
"zip2 v3.2d, v3.2d, v24.2d",
"movi v23.2d, #0x0",
"sha256su1 v23.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v22.4s",
"sha256su0 v22.4s, v21.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v24.16b, v23.16b, #4",
"add v22.4s, v22.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v22.16b, v22.16b, #12",
"dup v3.4s, v22.s[3]",
"zip2 v3.2d, v3.2d, v23.2d",
"movi v22.2d, #0x0",
"sha256su1 v22.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v21.4s",
"sha256su0 v21.4s, v24.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v23.16b, v22.16b, #4",
"add v21.4s, v21.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v21.16b, v21.16b, #12",
"dup v3.4s, v21.s[3]",
"zip2 v3.2d, v3.2d, v22.2d",
"movi v21.2d, #0x0",
"sha256su1 v21.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v24.4s",
"sha256su0 v24.4s, v23.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v22.16b, v21.16b, #4",
"add v24.4s, v24.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v24.16b, v24.16b, #12",
"dup v3.4s, v24.s[3]",
"zip2 v3.2d, v3.2d, v21.2d",
"movi v24.2d, #0x0",
"sha256su1 v24.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v23.4s",
"sha256su0 v23.4s, v22.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v21.16b, v24.16b, #4",
"add v23.4s, v23.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v23.16b, v23.16b, #12",
"dup v3.4s, v23.s[3]",
"zip2 v3.2d, v3.2d, v24.2d",
"movi v23.2d, #0x0",
"sha256su1 v23.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v22.4s",
"sha256su0 v22.4s, v21.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v24.16b, v23.16b, #4",
"add v22.4s, v22.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v22.16b, v22.16b, #12",
"dup v3.4s, v22.s[3]",
"zip2 v3.2d, v3.2d, v23.2d",
"movi v22.2d, #0x0",
"sha256su1 v22.4s, v2.4s, v3.4s",
"add v16.4s, v16.4s, v21.4s",
"sha256su0 v21.4s, v24.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"ext v16.16b, v23.16b, v22.16b, #4",
"ldr q2, [x29, x20, sxtx]",
"add v23.4s, v23.4s, v2.4s",
"add v21.4s, v21.4s, v16.4s",
"ldr q16, [x29, x20, sxtx]",
"ext v2.16b, v21.16b, v21.16b, #12",
"dup v3.4s, v21.s[3]",
"zip2 v3.2d, v3.2d, v22.2d",
"movi v21.2d, #0x0",
"sha256su1 v21.4s, v2.4s, v3.4s",
"ldr q2, [x29, x20, sxtx]",
"add v22.4s, v22.4s, v2.4s",
"ldr q2, [x29, x20, sxtx]",
"add v21.4s, v21.4s, v2.4s",
"add v16.4s, v16.4s, v24.4s",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v16.s[0]",
"ext v16.16b, v16.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"mov v16.16b, v23.16b",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v23.s[0]",
"ext v16.16b, v23.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"mov v16.16b, v22.16b",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v22.s[0]",
"ext v16.16b, v22.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"mov v16.16b, v21.16b",
"zip2 v2.2d, v17.2d, v20.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v17.2d, v20.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v20.4s, v2.4s",
"dup v2.4s, v21.s[0]",
"ext v16.16b, v21.16b, v2.16b, #8",
"zip2 v2.2d, v20.2d, v17.2d",
"rev64 v2.4s, v2.4s",
"zip1 v3.2d, v20.2d, v17.2d",
"rev64 v3.4s, v3.4s",
"dup v4.2d, v16.d[0]",
"mov v5.16b, v2.16b",
"sha256h q5, q3, v4.4s",
"sha256h2 q3, q2, v4.4s",
"zip2 v2.2d, v3.2d, v5.2d",
"rev64 v17.4s, v2.4s",
"add v20.4s, v20.4s, v18.4s",
"add v17.4s, v17.4s, v19.4s",
"rev64 v20.4s, v20.4s",
"rev64 v2.4s, v17.4s",
"ext v17.16b, v2.16b, v2.16b, #8",
"mov v16.16b, v17.16b",
"mov v16.d[1], v20.d[1]",
"ext v20.16b, v17.16b, v20.16b, #8",
"str q16, [x11, #256]",
"str q20, [x11, #272]"
]
}
}
}