mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 07:00:20 +02:00
723 lines
24 KiB
JSON
723 lines
24 KiB
JSON
{
|
|
"Features": {
|
|
"Bitness": 64,
|
|
"EnabledHostFeatures": [
|
|
"CRYPTO",
|
|
"FLAGM",
|
|
"FLAGM2"
|
|
],
|
|
"DisabledHostFeatures": [
|
|
"SVE128",
|
|
"SVE256",
|
|
"RPRES",
|
|
"AFP"
|
|
],
|
|
"BinaryCacheVersion": 13
|
|
},
|
|
"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]"
|
|
]
|
|
}
|
|
}
|
|
}
|