aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jumper
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-08-28 13:09:18 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-28 17:53:41 +0000
commitde67a2c0e01a68ca8bb3a569947f8e33350f31f7 (patch)
tree0822418ead62800a9350b0b5c7d48b852b95341f /src/jumper
parenta93a14a99816d25b773f0b12868143702baf44bf (diff)
remove aarch64 offline compilation
The baseline compiled into Skia is now pretty much identical. Minor diffs due to the offline code using -ffp-contract=fast, and the baseline not. Explicit calls to fma() are still FMAs, but we're no longer letting the compiler uncover FMAs we didn't explicitly call out. If this goes well, we should be able to turn on the 8-bit pipeline. Change-Id: I8f73157cfce7373574c20f6435fe86b46477afa9 Reviewed-on: https://skia-review.googlesource.com/39520 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/jumper')
-rw-r--r--src/jumper/SkJumper.cpp16
-rw-r--r--src/jumper/SkJumper_generated.S7439
-rwxr-xr-xsrc/jumper/build_stages.py18
3 files changed, 2 insertions, 7471 deletions
diff --git a/src/jumper/SkJumper.cpp b/src/jumper/SkJumper.cpp
index afd12e073c..9f8e970f32 100644
--- a/src/jumper/SkJumper.cpp
+++ b/src/jumper/SkJumper.cpp
@@ -112,13 +112,6 @@ extern "C" {
#if __has_feature(memory_sanitizer)
// We'll just run portable code.
-#elif defined(__aarch64__)
- StartPipelineFn ASM(start_pipeline,aarch64);
- StageFn ASM(just_return,aarch64);
- #define M(st) StageFn ASM(st,aarch64);
- SK_RASTER_PIPELINE_STAGES(M)
- #undef M
-
#elif defined(__arm__)
StartPipelineFn ASM(start_pipeline,vfp4);
StageFn ASM(just_return,vfp4);
@@ -229,15 +222,6 @@ static SkJumper_Engine choose_engine() {
#if __has_feature(memory_sanitizer)
// We'll just run portable code.
-#elif defined(__aarch64__)
- return {
- #define M(stage) ASM(stage, aarch64),
- { SK_RASTER_PIPELINE_STAGES(M) },
- M(start_pipeline)
- M(just_return)
- #undef M
- };
-
#elif defined(__arm__)
if (1 && SkCpu::Supports(SkCpu::NEON|SkCpu::NEON_FMA|SkCpu::VFP_FP16)) {
return {
diff --git a/src/jumper/SkJumper_generated.S b/src/jumper/SkJumper_generated.S
index 93848bac3e..57ae7847ec 100644
--- a/src/jumper/SkJumper_generated.S
+++ b/src/jumper/SkJumper_generated.S
@@ -23,7444 +23,7 @@
#define BALIGN32 .balign 32
#endif
.text
-#if defined(__aarch64__)
-BALIGN4
-
-HIDDEN _sk_start_pipeline_aarch64
-.globl _sk_start_pipeline_aarch64
-FUNCTION(_sk_start_pipeline_aarch64)
-_sk_start_pipeline_aarch64:
- .long 0xa9ba6ffc // stp x28, x27, [sp, #-96]!
- .long 0xa90167fa // stp x26, x25, [sp, #16]
- .long 0xa9025ff8 // stp x24, x23, [sp, #32]
- .long 0xa90357f6 // stp x22, x21, [sp, #48]
- .long 0xa9044ff4 // stp x20, x19, [sp, #64]
- .long 0xa9057bfd // stp x29, x30, [sp, #80]
- .long 0xaa0403f4 // mov x20, x4
- .long 0xf840869a // ldr x26, [x20], #8
- .long 0xaa0303f5 // mov x21, x3
- .long 0xaa0103f7 // mov x23, x1
- .long 0xaa0503f3 // mov x19, x5
- .long 0xaa0203f6 // mov x22, x2
- .long 0xeb1502ff // cmp x23, x21
- .long 0xaa0003f8 // mov x24, x0
- .long 0x910143fd // add x29, sp, #0x50
- .long 0x54000342 // b.cs a4 <_sk_start_pipeline_aarch64+0xa4> // b.hs, b.nlast
- .long 0x9100131b // add x27, x24, #0x4
- .long 0xeb16037f // cmp x27, x22
- .long 0xaa1803e2 // mov x2, x24
- .long 0x540001a8 // b.hi 80 <_sk_start_pipeline_aarch64+0x80> // b.pmore
- .long 0xaa1803f9 // mov x25, x24
- .long 0xaa1303e0 // mov x0, x19
- .long 0xaa1403e1 // mov x1, x20
- .long 0xaa1903e2 // mov x2, x25
- .long 0xaa1703e3 // mov x3, x23
- .long 0xaa1f03e4 // mov x4, xzr
- .long 0xd63f0340 // blr x26
- .long 0x91001322 // add x2, x25, #0x4
- .long 0x91002328 // add x8, x25, #0x8
- .long 0xeb16011f // cmp x8, x22
- .long 0xaa0203f9 // mov x25, x2
- .long 0x54fffec9 // b.ls 54 <_sk_start_pipeline_aarch64+0x54> // b.plast
- .long 0xcb0202c4 // sub x4, x22, x2
- .long 0xb40000a4 // cbz x4, 98 <_sk_start_pipeline_aarch64+0x98>
- .long 0xaa1303e0 // mov x0, x19
- .long 0xaa1403e1 // mov x1, x20
- .long 0xaa1703e3 // mov x3, x23
- .long 0xd63f0340 // blr x26
- .long 0x910006f7 // add x23, x23, #0x1
- .long 0xeb1502ff // cmp x23, x21
- .long 0x54fffd21 // b.ne 44 <_sk_start_pipeline_aarch64+0x44> // b.any
- .long 0xa9457bfd // ldp x29, x30, [sp, #80]
- .long 0xa9444ff4 // ldp x20, x19, [sp, #64]
- .long 0xa94357f6 // ldp x22, x21, [sp, #48]
- .long 0xa9425ff8 // ldp x24, x23, [sp, #32]
- .long 0xa94167fa // ldp x26, x25, [sp, #16]
- .long 0xa8c66ffc // ldp x28, x27, [sp], #96
- .long 0xd65f03c0 // ret
-
-HIDDEN _sk_just_return_aarch64
-.globl _sk_just_return_aarch64
-FUNCTION(_sk_just_return_aarch64)
-_sk_just_return_aarch64:
- .long 0xd65f03c0 // ret
-
-HIDDEN _sk_seed_shader_aarch64
-.globl _sk_seed_shader_aarch64
-FUNCTION(_sk_seed_shader_aarch64)
-_sk_seed_shader_aarch64:
- .long 0x3dc00007 // ldr q7, [x0]
- .long 0x4e040c40 // dup v0.4s, w2
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f0167e1 // movi v1.4s, #0x3f, lsl #24
- .long 0x4e040c66 // dup v6.4s, w3
- .long 0x4e21d800 // scvtf v0.4s, v0.4s
- .long 0x4e21d8c6 // scvtf v6.4s, v6.4s
- .long 0x4e21d400 // fadd v0.4s, v0.4s, v1.4s
- .long 0x4f03f602 // fmov v2.4s, #1.000000000000000000e+00
- .long 0x6f00e403 // movi v3.2d, #0x0
- .long 0x6f00e404 // movi v4.2d, #0x0
- .long 0x6f00e405 // movi v5.2d, #0x0
- .long 0x4e21d4c1 // fadd v1.4s, v6.4s, v1.4s
- .long 0x6f00e406 // movi v6.2d, #0x0
- .long 0x4e27d400 // fadd v0.4s, v0.4s, v7.4s
- .long 0x6f00e407 // movi v7.2d, #0x0
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_dither_aarch64
-.globl _sk_dither_aarch64
-FUNCTION(_sk_dither_aarch64)
-_sk_dither_aarch64:
- .long 0x3dc00811 // ldr q17, [x0, #32]
- .long 0x4e040c50 // dup v16.4s, w2
- .long 0x4e040c72 // dup v18.4s, w3
- .long 0x4f000433 // movi v19.4s, #0x1
- .long 0x4f000455 // movi v21.4s, #0x2
- .long 0x4eb08630 // add v16.4s, v17.4s, v16.4s
- .long 0x4f000494 // movi v20.4s, #0x4
- .long 0x52a79008 // mov w8, #0x3c800000
- .long 0x6e301e51 // eor v17.16b, v18.16b, v16.16b
- .long 0x4e331e12 // and v18.16b, v16.16b, v19.16b
- .long 0x4e351e17 // and v23.16b, v16.16b, v21.16b
- .long 0x4e040d16 // dup v22.4s, w8
- .long 0x4e341e10 // and v16.16b, v16.16b, v20.16b
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4f245652 // shl v18.4s, v18.4s, #4
- .long 0x4f2156f7 // shl v23.4s, v23.4s, #1
- .long 0x4e331e33 // and v19.16b, v17.16b, v19.16b
- .long 0x4eb21ef2 // orr v18.16b, v23.16b, v18.16b
- .long 0x6f3e0610 // ushr v16.4s, v16.4s, #2
- .long 0x4e351e35 // and v21.16b, v17.16b, v21.16b
- .long 0x4eb01e50 // orr v16.16b, v18.16b, v16.16b
- .long 0x4f255673 // shl v19.4s, v19.4s, #5
- .long 0x4e341e31 // and v17.16b, v17.16b, v20.16b
- .long 0x4f2256b5 // shl v21.4s, v21.4s, #2
- .long 0x4eb31e10 // orr v16.16b, v16.16b, v19.16b
- .long 0xbd400117 // ldr s23, [x8]
- .long 0x6f3f0631 // ushr v17.4s, v17.4s, #1
- .long 0x4eb51e10 // orr v16.16b, v16.16b, v21.16b
- .long 0x52b7df89 // mov w9, #0xbefc0000
- .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x4e30ced4 // fmla v20.4s, v22.4s, v16.4s
- .long 0x4f979290 // fmul v16.4s, v20.4s, v23.s[0]
- .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s
- .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s
- .long 0x4e22d602 // fadd v2.4s, v16.4s, v2.4s
- .long 0x6f00e412 // movi v18.2d, #0x0
- .long 0x4ea3f400 // fmin v0.4s, v0.4s, v3.4s
- .long 0x4ea3f421 // fmin v1.4s, v1.4s, v3.4s
- .long 0x4ea3f442 // fmin v2.4s, v2.4s, v3.4s
- .long 0x4e20f640 // fmax v0.4s, v18.4s, v0.4s
- .long 0x4e21f641 // fmax v1.4s, v18.4s, v1.4s
- .long 0x4e22f642 // fmax v2.4s, v18.4s, v2.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_uniform_color_aarch64
-.globl _sk_uniform_color_aarch64
-FUNCTION(_sk_uniform_color_aarch64)
-_sk_uniform_color_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803ea // mov x10, x8
- .long 0x4ddfc940 // ld1r {v0.4s}, [x10], #4
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x91003108 // add x8, x8, #0xc
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0x4d40c903 // ld1r {v3.4s}, [x8]
- .long 0x4d40c941 // ld1r {v1.4s}, [x10]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_black_color_aarch64
-.globl _sk_black_color_aarch64
-FUNCTION(_sk_black_color_aarch64)
-_sk_black_color_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_white_color_aarch64
-.globl _sk_white_color_aarch64
-FUNCTION(_sk_white_color_aarch64)
-_sk_white_color_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00
- .long 0x4ea01c01 // mov v1.16b, v0.16b
- .long 0x4ea01c02 // mov v2.16b, v0.16b
- .long 0x4ea01c03 // mov v3.16b, v0.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_load_rgba_aarch64
-.globl _sk_load_rgba_aarch64
-FUNCTION(_sk_load_rgba_aarch64)
-_sk_load_rgba_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xad400500 // ldp q0, q1, [x8]
- .long 0xad410d02 // ldp q2, q3, [x8, #32]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_rgba_aarch64
-.globl _sk_store_rgba_aarch64
-FUNCTION(_sk_store_rgba_aarch64)
-_sk_store_rgba_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xad000500 // stp q0, q1, [x8]
- .long 0xad010d02 // stp q2, q3, [x8, #32]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clear_aarch64
-.globl _sk_clear_aarch64
-FUNCTION(_sk_clear_aarch64)
-_sk_clear_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0x6f00e403 // movi v3.2d, #0x0
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_srcatop_aarch64
-.globl _sk_srcatop_aarch64
-FUNCTION(_sk_srcatop_aarch64)
-_sk_srcatop_aarch64:
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x6e27dc00 // fmul v0.4s, v0.4s, v7.4s
- .long 0x6e27dc21 // fmul v1.4s, v1.4s, v7.4s
- .long 0x6e27dc42 // fmul v2.4s, v2.4s, v7.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s
- .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s
- .long 0x4e30ccc2 // fmla v2.4s, v6.4s, v16.4s
- .long 0x6e27de10 // fmul v16.4s, v16.4s, v7.4s
- .long 0x4e23ccf0 // fmla v16.4s, v7.4s, v3.4s
- .long 0x4eb01e03 // mov v3.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_dstatop_aarch64
-.globl _sk_dstatop_aarch64
-FUNCTION(_sk_dstatop_aarch64)
-_sk_dstatop_aarch64:
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea7d610 // fsub v16.4s, v16.4s, v7.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x6e23de10 // fmul v16.4s, v16.4s, v3.4s
- .long 0x4e23ccf0 // fmla v16.4s, v7.4s, v3.4s
- .long 0x4e23cc80 // fmla v0.4s, v4.4s, v3.4s
- .long 0x4e23cca1 // fmla v1.4s, v5.4s, v3.4s
- .long 0x4e23ccc2 // fmla v2.4s, v6.4s, v3.4s
- .long 0x4eb01e03 // mov v3.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_srcin_aarch64
-.globl _sk_srcin_aarch64
-FUNCTION(_sk_srcin_aarch64)
-_sk_srcin_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e27dc00 // fmul v0.4s, v0.4s, v7.4s
- .long 0x6e27dc21 // fmul v1.4s, v1.4s, v7.4s
- .long 0x6e27dc42 // fmul v2.4s, v2.4s, v7.4s
- .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_dstin_aarch64
-.globl _sk_dstin_aarch64
-FUNCTION(_sk_dstin_aarch64)
-_sk_dstin_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e24dc60 // fmul v0.4s, v3.4s, v4.4s
- .long 0x6e25dc61 // fmul v1.4s, v3.4s, v5.4s
- .long 0x6e26dc62 // fmul v2.4s, v3.4s, v6.4s
- .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_srcout_aarch64
-.globl _sk_srcout_aarch64
-FUNCTION(_sk_srcout_aarch64)
-_sk_srcout_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea7d610 // fsub v16.4s, v16.4s, v7.4s
- .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_dstout_aarch64
-.globl _sk_dstout_aarch64
-FUNCTION(_sk_dstout_aarch64)
-_sk_dstout_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00
- .long 0x4ea3d403 // fsub v3.4s, v0.4s, v3.4s
- .long 0x6e24dc60 // fmul v0.4s, v3.4s, v4.4s
- .long 0x6e25dc61 // fmul v1.4s, v3.4s, v5.4s
- .long 0x6e26dc62 // fmul v2.4s, v3.4s, v6.4s
- .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_srcover_aarch64
-.globl _sk_srcover_aarch64
-FUNCTION(_sk_srcover_aarch64)
-_sk_srcover_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x4e24ce00 // fmla v0.4s, v16.4s, v4.4s
- .long 0x4e25ce01 // fmla v1.4s, v16.4s, v5.4s
- .long 0x4e26ce02 // fmla v2.4s, v16.4s, v6.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_dstover_aarch64
-.globl _sk_dstover_aarch64
-FUNCTION(_sk_dstover_aarch64)
-_sk_dstover_aarch64:
- .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea41c90 // mov v16.16b, v4.16b
- .long 0x4ea7d634 // fsub v20.4s, v17.4s, v7.4s
- .long 0x4ea51cb1 // mov v17.16b, v5.16b
- .long 0x4ea61cd2 // mov v18.16b, v6.16b
- .long 0x4ea71cf3 // mov v19.16b, v7.16b
- .long 0x4e20ce90 // fmla v16.4s, v20.4s, v0.4s
- .long 0x4e21ce91 // fmla v17.4s, v20.4s, v1.4s
- .long 0x4e22ce92 // fmla v18.4s, v20.4s, v2.4s
- .long 0x4e23ce93 // fmla v19.4s, v20.4s, v3.4s
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb21e42 // mov v2.16b, v18.16b
- .long 0x4eb31e63 // mov v3.16b, v19.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_modulate_aarch64
-.globl _sk_modulate_aarch64
-FUNCTION(_sk_modulate_aarch64)
-_sk_modulate_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e24dc00 // fmul v0.4s, v0.4s, v4.4s
- .long 0x6e25dc21 // fmul v1.4s, v1.4s, v5.4s
- .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s
- .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_multiply_aarch64
-.globl _sk_multiply_aarch64
-FUNCTION(_sk_multiply_aarch64)
-_sk_multiply_aarch64:
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea7d613 // fsub v19.4s, v16.4s, v7.4s
- .long 0x4ea3d614 // fsub v20.4s, v16.4s, v3.4s
- .long 0x6e20de70 // fmul v16.4s, v19.4s, v0.4s
- .long 0x6e21de71 // fmul v17.4s, v19.4s, v1.4s
- .long 0x6e22de72 // fmul v18.4s, v19.4s, v2.4s
- .long 0x6e23de73 // fmul v19.4s, v19.4s, v3.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e34cc90 // fmla v16.4s, v4.4s, v20.4s
- .long 0x4e34ccb1 // fmla v17.4s, v5.4s, v20.4s
- .long 0x4e34ccd2 // fmla v18.4s, v6.4s, v20.4s
- .long 0x4e34ccf3 // fmla v19.4s, v7.4s, v20.4s
- .long 0x4e20cc90 // fmla v16.4s, v4.4s, v0.4s
- .long 0x4e21ccb1 // fmla v17.4s, v5.4s, v1.4s
- .long 0x4e22ccd2 // fmla v18.4s, v6.4s, v2.4s
- .long 0x4e23ccf3 // fmla v19.4s, v7.4s, v3.4s
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb21e42 // mov v2.16b, v18.16b
- .long 0x4eb31e63 // mov v3.16b, v19.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_plus__aarch64
-.globl _sk_plus__aarch64
-FUNCTION(_sk_plus__aarch64)
-_sk_plus__aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s
- .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s
- .long 0x4e27d463 // fadd v3.4s, v3.4s, v7.4s
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s
- .long 0x4eb0f442 // fmin v2.4s, v2.4s, v16.4s
- .long 0x4eb0f463 // fmin v3.4s, v3.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_screen_aarch64
-.globl _sk_screen_aarch64
-FUNCTION(_sk_screen_aarch64)
-_sk_screen_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e24d410 // fadd v16.4s, v0.4s, v4.4s
- .long 0x4e25d431 // fadd v17.4s, v1.4s, v5.4s
- .long 0x4e26d452 // fadd v18.4s, v2.4s, v6.4s
- .long 0x4e27d473 // fadd v19.4s, v3.4s, v7.4s
- .long 0x4ea4cc10 // fmls v16.4s, v0.4s, v4.4s
- .long 0x4ea5cc31 // fmls v17.4s, v1.4s, v5.4s
- .long 0x4ea6cc52 // fmls v18.4s, v2.4s, v6.4s
- .long 0x4ea7cc73 // fmls v19.4s, v3.4s, v7.4s
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb21e42 // mov v2.16b, v18.16b
- .long 0x4eb31e63 // mov v3.16b, v19.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xor__aarch64
-.globl _sk_xor__aarch64
-FUNCTION(_sk_xor__aarch64)
-_sk_xor__aarch64:
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea7d611 // fsub v17.4s, v16.4s, v7.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x6e20de20 // fmul v0.4s, v17.4s, v0.4s
- .long 0x6e21de21 // fmul v1.4s, v17.4s, v1.4s
- .long 0x6e22de22 // fmul v2.4s, v17.4s, v2.4s
- .long 0x6e23de23 // fmul v3.4s, v17.4s, v3.4s
- .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s
- .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s
- .long 0x4e30ccc2 // fmla v2.4s, v6.4s, v16.4s
- .long 0x4e30cce3 // fmla v3.4s, v7.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_darken_aarch64
-.globl _sk_darken_aarch64
-FUNCTION(_sk_darken_aarch64)
-_sk_darken_aarch64:
- .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s
- .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s
- .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s
- .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s
- .long 0x4e31f610 // fmax v16.4s, v16.4s, v17.4s
- .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s
- .long 0x4e33f652 // fmax v18.4s, v18.4s, v19.4s
- .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4e33f631 // fmax v17.4s, v17.4s, v19.4s
- .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s
- .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_lighten_aarch64
-.globl _sk_lighten_aarch64
-FUNCTION(_sk_lighten_aarch64)
-_sk_lighten_aarch64:
- .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s
- .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s
- .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s
- .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s
- .long 0x4eb1f610 // fmin v16.4s, v16.4s, v17.4s
- .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s
- .long 0x4eb3f652 // fmin v18.4s, v18.4s, v19.4s
- .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4eb3f631 // fmin v17.4s, v17.4s, v19.4s
- .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s
- .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_difference_aarch64
-.globl _sk_difference_aarch64
-FUNCTION(_sk_difference_aarch64)
-_sk_difference_aarch64:
- .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s
- .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s
- .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s
- .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s
- .long 0x4eb1f610 // fmin v16.4s, v16.4s, v17.4s
- .long 0x4eb3f652 // fmin v18.4s, v18.4s, v19.4s
- .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s
- .long 0x4e30d610 // fadd v16.4s, v16.4s, v16.4s
- .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s
- .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s
- .long 0x4e32d650 // fadd v16.4s, v18.4s, v18.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb3f631 // fmin v17.4s, v17.4s, v19.4s
- .long 0x4eb0d421 // fsub v1.4s, v1.4s, v16.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s
- .long 0x4e31d631 // fadd v17.4s, v17.4s, v17.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_exclusion_aarch64
-.globl _sk_exclusion_aarch64
-FUNCTION(_sk_exclusion_aarch64)
-_sk_exclusion_aarch64:
- .long 0x4e24d410 // fadd v16.4s, v0.4s, v4.4s
- .long 0x6e24dc00 // fmul v0.4s, v0.4s, v4.4s
- .long 0x4e20d400 // fadd v0.4s, v0.4s, v0.4s
- .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s
- .long 0x4e25d430 // fadd v16.4s, v1.4s, v5.4s
- .long 0x6e25dc21 // fmul v1.4s, v1.4s, v5.4s
- .long 0x4e21d421 // fadd v1.4s, v1.4s, v1.4s
- .long 0x4ea1d601 // fsub v1.4s, v16.4s, v1.4s
- .long 0x4e26d450 // fadd v16.4s, v2.4s, v6.4s
- .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s
- .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea2d602 // fsub v2.4s, v16.4s, v2.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_colorburn_aarch64
-.globl _sk_colorburn_aarch64
-FUNCTION(_sk_colorburn_aarch64)
-_sk_colorburn_aarch64:
- .long 0x4ea01c10 // mov v16.16b, v0.16b
- .long 0x4ea1da15 // frecpe v21.4s, v16.4s
- .long 0x4ea4d4f4 // fsub v20.4s, v7.4s, v4.4s
- .long 0x4e35fe18 // frecps v24.4s, v16.4s, v21.4s
- .long 0x6e38deb5 // fmul v21.4s, v21.4s, v24.4s
- .long 0x6e23de94 // fmul v20.4s, v20.4s, v3.4s
- .long 0x4f03f613 // fmov v19.4s, #1.000000000000000000e+00
- .long 0x6e35de94 // fmul v20.4s, v20.4s, v21.4s
- .long 0x4ea7d678 // fsub v24.4s, v19.4s, v7.4s
- .long 0x4eb4f4f4 // fmin v20.4s, v7.4s, v20.4s
- .long 0x4ea0da12 // fcmeq v18.4s, v16.4s, #0.0
- .long 0x4ea3d673 // fsub v19.4s, v19.4s, v3.4s
- .long 0x6e30df10 // fmul v16.4s, v24.4s, v16.4s
- .long 0x4eb4d4f4 // fsub v20.4s, v7.4s, v20.4s
- .long 0x4e24d615 // fadd v21.4s, v16.4s, v4.4s
- .long 0x4e34cc70 // fmla v16.4s, v3.4s, v20.4s
- .long 0x6e24de74 // fmul v20.4s, v19.4s, v4.4s
- .long 0x4e30d690 // fadd v16.4s, v20.4s, v16.4s
- .long 0x6e701e92 // bsl v18.16b, v20.16b, v16.16b
- .long 0x4ea1d830 // frecpe v16.4s, v1.4s
- .long 0x4ea5d4f7 // fsub v23.4s, v7.4s, v5.4s
- .long 0x4e30fc34 // frecps v20.4s, v1.4s, v16.4s
- .long 0x6e34de14 // fmul v20.4s, v16.4s, v20.4s
- .long 0x6e23def7 // fmul v23.4s, v23.4s, v3.4s
- .long 0x6e34def4 // fmul v20.4s, v23.4s, v20.4s
- .long 0x4eb4f4f4 // fmin v20.4s, v7.4s, v20.4s
- .long 0x4ea0d836 // fcmeq v22.4s, v1.4s, #0.0
- .long 0x6e21df01 // fmul v1.4s, v24.4s, v1.4s
- .long 0x4eb4d4f4 // fsub v20.4s, v7.4s, v20.4s
- .long 0x4e25d437 // fadd v23.4s, v1.4s, v5.4s
- .long 0x4e34cc61 // fmla v1.4s, v3.4s, v20.4s
- .long 0x6e25de74 // fmul v20.4s, v19.4s, v5.4s
- .long 0x4e21d681 // fadd v1.4s, v20.4s, v1.4s
- .long 0x6e611e96 // bsl v22.16b, v20.16b, v1.16b
- .long 0x4ea1d854 // frecpe v20.4s, v2.4s
- .long 0x4ea0d841 // fcmeq v1.4s, v2.4s, #0.0
- .long 0x6e22df18 // fmul v24.4s, v24.4s, v2.4s
- .long 0x4e34fc42 // frecps v2.4s, v2.4s, v20.4s
- .long 0x6e22de82 // fmul v2.4s, v20.4s, v2.4s
- .long 0x4ea6d4f4 // fsub v20.4s, v7.4s, v6.4s
- .long 0x6e23de94 // fmul v20.4s, v20.4s, v3.4s
- .long 0x6e22de82 // fmul v2.4s, v20.4s, v2.4s
- .long 0x4ea2f4e2 // fmin v2.4s, v7.4s, v2.4s
- .long 0x4ea2d4e2 // fsub v2.4s, v7.4s, v2.4s
- .long 0x4e26d714 // fadd v20.4s, v24.4s, v6.4s
- .long 0x4e22cc78 // fmla v24.4s, v3.4s, v2.4s
- .long 0x6e26de62 // fmul v2.4s, v19.4s, v6.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e38d458 // fadd v24.4s, v2.4s, v24.4s
- .long 0x4e27e4b1 // fcmeq v17.4s, v5.4s, v7.4s
- .long 0x4e27e4d0 // fcmeq v16.4s, v6.4s, v7.4s
- .long 0x6e781c41 // bsl v1.16b, v2.16b, v24.16b
- .long 0x4e27e480 // fcmeq v0.4s, v4.4s, v7.4s
- .long 0x6e761ef1 // bsl v17.16b, v23.16b, v22.16b
- .long 0x6e611e90 // bsl v16.16b, v20.16b, v1.16b
- .long 0x6e721ea0 // bsl v0.16b, v21.16b, v18.16b
- .long 0x4e27ce63 // fmla v3.4s, v19.4s, v7.4s
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb01e02 // mov v2.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_colordodge_aarch64
-.globl _sk_colordodge_aarch64
-FUNCTION(_sk_colordodge_aarch64)
-_sk_colordodge_aarch64:
- .long 0x4ea01c10 // mov v16.16b, v0.16b
- .long 0x4eb0d475 // fsub v21.4s, v3.4s, v16.4s
- .long 0x4ea1dab7 // frecpe v23.4s, v21.4s
- .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00
- .long 0x4e37feb5 // frecps v21.4s, v21.4s, v23.4s
- .long 0x6e24dc74 // fmul v20.4s, v3.4s, v4.4s
- .long 0x4ea7d656 // fsub v22.4s, v18.4s, v7.4s
- .long 0x6e35def5 // fmul v21.4s, v23.4s, v21.4s
- .long 0x6e30ded7 // fmul v23.4s, v22.4s, v16.4s
- .long 0x6e35de94 // fmul v20.4s, v20.4s, v21.4s
- .long 0x4eb71ef5 // mov v21.16b, v23.16b
- .long 0x4eb4f4f4 // fmin v20.4s, v7.4s, v20.4s
- .long 0x4e23e613 // fcmeq v19.4s, v16.4s, v3.4s
- .long 0x4e34cc75 // fmla v21.4s, v3.4s, v20.4s
- .long 0x6e751e13 // bsl v19.16b, v16.16b, v21.16b
- .long 0x4ea1d470 // fsub v16.4s, v3.4s, v1.4s
- .long 0x4ea1da15 // frecpe v21.4s, v16.4s
- .long 0x4e35fe10 // frecps v16.4s, v16.4s, v21.4s
- .long 0x6e25dc74 // fmul v20.4s, v3.4s, v5.4s
- .long 0x6e30deb0 // fmul v16.4s, v21.4s, v16.4s
- .long 0x6e21ded5 // fmul v21.4s, v22.4s, v1.4s
- .long 0x6e30de90 // fmul v16.4s, v20.4s, v16.4s
- .long 0x4eb51eb4 // mov v20.16b, v21.16b
- .long 0x4eb0f4f0 // fmin v16.4s, v7.4s, v16.4s
- .long 0x4e30cc74 // fmla v20.4s, v3.4s, v16.4s
- .long 0x4e23e430 // fcmeq v16.4s, v1.4s, v3.4s
- .long 0x6e741c30 // bsl v16.16b, v1.16b, v20.16b
- .long 0x4ea2d461 // fsub v1.4s, v3.4s, v2.4s
- .long 0x4ea1d834 // frecpe v20.4s, v1.4s
- .long 0x4e34fc21 // frecps v1.4s, v1.4s, v20.4s
- .long 0x6e21de81 // fmul v1.4s, v20.4s, v1.4s
- .long 0x6e26dc74 // fmul v20.4s, v3.4s, v6.4s
- .long 0x6e22ded6 // fmul v22.4s, v22.4s, v2.4s
- .long 0x6e21de81 // fmul v1.4s, v20.4s, v1.4s
- .long 0x4eb61ed4 // mov v20.16b, v22.16b
- .long 0x4ea1f4e1 // fmin v1.4s, v7.4s, v1.4s
- .long 0x4e21cc74 // fmla v20.4s, v3.4s, v1.4s
- .long 0x4e23e441 // fcmeq v1.4s, v2.4s, v3.4s
- .long 0x4ea3d652 // fsub v18.4s, v18.4s, v3.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea0d8b1 // fcmeq v17.4s, v5.4s, #0.0
- .long 0x6e741c41 // bsl v1.16b, v2.16b, v20.16b
- .long 0x4e32ccb0 // fmla v16.4s, v5.4s, v18.4s
- .long 0x4ea0d880 // fcmeq v0.4s, v4.4s, #0.0
- .long 0x4ea0d8c2 // fcmeq v2.4s, v6.4s, #0.0
- .long 0x4e32cc93 // fmla v19.4s, v4.4s, v18.4s
- .long 0x4e32ccc1 // fmla v1.4s, v6.4s, v18.4s
- .long 0x6e701eb1 // bsl v17.16b, v21.16b, v16.16b
- .long 0x6e731ee0 // bsl v0.16b, v23.16b, v19.16b
- .long 0x6e611ec2 // bsl v2.16b, v22.16b, v1.16b
- .long 0x4e27ce43 // fmla v3.4s, v18.4s, v7.4s
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_hardlight_aarch64
-.globl _sk_hardlight_aarch64
-FUNCTION(_sk_hardlight_aarch64)
-_sk_hardlight_aarch64:
- .long 0x4ea4d4f4 // fsub v20.4s, v7.4s, v4.4s
- .long 0x4ea0d475 // fsub v21.4s, v3.4s, v0.4s
- .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s
- .long 0x4e20d411 // fadd v17.4s, v0.4s, v0.4s
- .long 0x6e24dc12 // fmul v18.4s, v0.4s, v4.4s
- .long 0x6e27dc73 // fmul v19.4s, v3.4s, v7.4s
- .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s
- .long 0x6e31e471 // fcmge v17.4s, v3.4s, v17.4s
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x4eb4d674 // fsub v20.4s, v19.4s, v20.4s
- .long 0x6e741e51 // bsl v17.16b, v18.16b, v20.16b
- .long 0x4ea5d4f2 // fsub v18.4s, v7.4s, v5.4s
- .long 0x4ea1d474 // fsub v20.4s, v3.4s, v1.4s
- .long 0x6e32de92 // fmul v18.4s, v20.4s, v18.4s
- .long 0x4e21d436 // fadd v22.4s, v1.4s, v1.4s
- .long 0x6e25dc35 // fmul v21.4s, v1.4s, v5.4s
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x6e36e476 // fcmge v22.4s, v3.4s, v22.4s
- .long 0x4e35d6b5 // fadd v21.4s, v21.4s, v21.4s
- .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x6e721eb6 // bsl v22.16b, v21.16b, v18.16b
- .long 0x4ea6d4f2 // fsub v18.4s, v7.4s, v6.4s
- .long 0x4ea2d475 // fsub v21.4s, v3.4s, v2.4s
- .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s
- .long 0x4ea7d615 // fsub v21.4s, v16.4s, v7.4s
- .long 0x4e22d454 // fadd v20.4s, v2.4s, v2.4s
- .long 0x6e20dea0 // fmul v0.4s, v21.4s, v0.4s
- .long 0x6e21dea1 // fmul v1.4s, v21.4s, v1.4s
- .long 0x6e22deb5 // fmul v21.4s, v21.4s, v2.4s
- .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x6e34e474 // fcmge v20.4s, v3.4s, v20.4s
- .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s
- .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s
- .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s
- .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s
- .long 0x4e30ccd5 // fmla v21.4s, v6.4s, v16.4s
- .long 0x6e721c54 // bsl v20.16b, v2.16b, v18.16b
- .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s
- .long 0x4e36d421 // fadd v1.4s, v1.4s, v22.4s
- .long 0x4e34d6a2 // fadd v2.4s, v21.4s, v20.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_overlay_aarch64
-.globl _sk_overlay_aarch64
-FUNCTION(_sk_overlay_aarch64)
-_sk_overlay_aarch64:
- .long 0x4ea4d4f4 // fsub v20.4s, v7.4s, v4.4s
- .long 0x4ea0d475 // fsub v21.4s, v3.4s, v0.4s
- .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s
- .long 0x4e24d491 // fadd v17.4s, v4.4s, v4.4s
- .long 0x6e24dc12 // fmul v18.4s, v0.4s, v4.4s
- .long 0x6e27dc73 // fmul v19.4s, v3.4s, v7.4s
- .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s
- .long 0x6e31e4f1 // fcmge v17.4s, v7.4s, v17.4s
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x4eb4d674 // fsub v20.4s, v19.4s, v20.4s
- .long 0x6e741e51 // bsl v17.16b, v18.16b, v20.16b
- .long 0x4ea5d4f2 // fsub v18.4s, v7.4s, v5.4s
- .long 0x4ea1d474 // fsub v20.4s, v3.4s, v1.4s
- .long 0x6e32de92 // fmul v18.4s, v20.4s, v18.4s
- .long 0x4e25d4b6 // fadd v22.4s, v5.4s, v5.4s
- .long 0x6e25dc35 // fmul v21.4s, v1.4s, v5.4s
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x6e36e4f6 // fcmge v22.4s, v7.4s, v22.4s
- .long 0x4e35d6b5 // fadd v21.4s, v21.4s, v21.4s
- .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x6e721eb6 // bsl v22.16b, v21.16b, v18.16b
- .long 0x4ea6d4f2 // fsub v18.4s, v7.4s, v6.4s
- .long 0x4ea2d475 // fsub v21.4s, v3.4s, v2.4s
- .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s
- .long 0x4ea7d615 // fsub v21.4s, v16.4s, v7.4s
- .long 0x4e26d4d4 // fadd v20.4s, v6.4s, v6.4s
- .long 0x6e20dea0 // fmul v0.4s, v21.4s, v0.4s
- .long 0x6e21dea1 // fmul v1.4s, v21.4s, v1.4s
- .long 0x6e22deb5 // fmul v21.4s, v21.4s, v2.4s
- .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s
- .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s
- .long 0x6e34e4f4 // fcmge v20.4s, v7.4s, v20.4s
- .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s
- .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s
- .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s
- .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s
- .long 0x4e30ccd5 // fmla v21.4s, v6.4s, v16.4s
- .long 0x6e721c54 // bsl v20.16b, v2.16b, v18.16b
- .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s
- .long 0x4e36d421 // fadd v1.4s, v1.4s, v22.4s
- .long 0x4e34d6a2 // fadd v2.4s, v21.4s, v20.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_softlight_aarch64
-.globl _sk_softlight_aarch64
-FUNCTION(_sk_softlight_aarch64)
-_sk_softlight_aarch64:
- .long 0x4ea0c8f5 // fcmgt v21.4s, v7.4s, #0.0
- .long 0x6e27fc96 // fdiv v22.4s, v4.4s, v7.4s
- .long 0x6e27fcb8 // fdiv v24.4s, v5.4s, v7.4s
- .long 0x6e27fcd9 // fdiv v25.4s, v6.4s, v7.4s
- .long 0x4e351ed6 // and v22.16b, v22.16b, v21.16b
- .long 0x4e351f18 // and v24.16b, v24.16b, v21.16b
- .long 0x4e351f35 // and v21.16b, v25.16b, v21.16b
- .long 0x6ea1dad9 // frsqrte v25.4s, v22.4s
- .long 0x6e39df3d // fmul v29.4s, v25.4s, v25.4s
- .long 0x4ebdfedd // frsqrts v29.4s, v22.4s, v29.4s
- .long 0x6e3ddf39 // fmul v25.4s, v25.4s, v29.4s
- .long 0x4ea1db3d // frecpe v29.4s, v25.4s
- .long 0x6ea0fada // fneg v26.4s, v22.4s
- .long 0x6ea1db1b // frsqrte v27.4s, v24.4s
- .long 0x4e3dff39 // frecps v25.4s, v25.4s, v29.4s
- .long 0x4e3dcf3a // fmla v26.4s, v25.4s, v29.4s
- .long 0x6e3bdf7d // fmul v29.4s, v27.4s, v27.4s
- .long 0x4ebdff1d // frsqrts v29.4s, v24.4s, v29.4s
- .long 0x6e3ddf7b // fmul v27.4s, v27.4s, v29.4s
- .long 0x4ea1db7d // frecpe v29.4s, v27.4s
- .long 0x6ea0fb1c // fneg v28.4s, v24.4s
- .long 0x6ea1dab9 // frsqrte v25.4s, v21.4s
- .long 0x4e3dff7b // frecps v27.4s, v27.4s, v29.4s
- .long 0x4e3dcf7c // fmla v28.4s, v27.4s, v29.4s
- .long 0x6e39df3d // fmul v29.4s, v25.4s, v25.4s
- .long 0x4ebdfebd // frsqrts v29.4s, v21.4s, v29.4s
- .long 0x6e3ddf39 // fmul v25.4s, v25.4s, v29.4s
- .long 0x4ea1db3d // frecpe v29.4s, v25.4s
- .long 0x6ea0fabb // fneg v27.4s, v21.4s
- .long 0x4e3dff39 // frecps v25.4s, v25.4s, v29.4s
- .long 0x4e3dcf3b // fmla v27.4s, v25.4s, v29.4s
- .long 0x4e36d6d9 // fadd v25.4s, v22.4s, v22.4s
- .long 0x4f07f613 // fmov v19.4s, #-1.000000000000000000e+00
- .long 0x4e39d739 // fadd v25.4s, v25.4s, v25.4s
- .long 0x4e24d497 // fadd v23.4s, v4.4s, v4.4s
- .long 0x4e33d6dd // fadd v29.4s, v22.4s, v19.4s
- .long 0x4e39cf39 // fmla v25.4s, v25.4s, v25.4s
- .long 0x4f00f794 // fmov v20.4s, #7.000000000000000000e+00
- .long 0x6e39dfb9 // fmul v25.4s, v29.4s, v25.4s
- .long 0x4e37d6f7 // fadd v23.4s, v23.4s, v23.4s
- .long 0x6e37e4f7 // fcmge v23.4s, v7.4s, v23.4s
- .long 0x4e36ce99 // fmla v25.4s, v20.4s, v22.4s
- .long 0x6e7a1f37 // bsl v23.16b, v25.16b, v26.16b
- .long 0x4e38d719 // fadd v25.4s, v24.4s, v24.4s
- .long 0x4e39d739 // fadd v25.4s, v25.4s, v25.4s
- .long 0x4e33d71a // fadd v26.4s, v24.4s, v19.4s
- .long 0x4e39cf39 // fmla v25.4s, v25.4s, v25.4s
- .long 0x6e39df59 // fmul v25.4s, v26.4s, v25.4s
- .long 0x4e25d4ba // fadd v26.4s, v5.4s, v5.4s
- .long 0x4e3ad75a // fadd v26.4s, v26.4s, v26.4s
- .long 0x6e3ae4fa // fcmge v26.4s, v7.4s, v26.4s
- .long 0x4e38ce99 // fmla v25.4s, v20.4s, v24.4s
- .long 0x6e7c1f3a // bsl v26.16b, v25.16b, v28.16b
- .long 0x4e35d6bc // fadd v28.4s, v21.4s, v21.4s
- .long 0x4e3cd79c // fadd v28.4s, v28.4s, v28.4s
- .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s
- .long 0x4e3ccf9c // fmla v28.4s, v28.4s, v28.4s
- .long 0x6e3cde73 // fmul v19.4s, v19.4s, v28.4s
- .long 0x4e35ce93 // fmla v19.4s, v20.4s, v21.4s
- .long 0x4e26d4d4 // fadd v20.4s, v6.4s, v6.4s
- .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s
- .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00
- .long 0x6e34e4f4 // fcmge v20.4s, v7.4s, v20.4s
- .long 0x4e20d411 // fadd v17.4s, v0.4s, v0.4s
- .long 0x6e7b1e74 // bsl v20.16b, v19.16b, v27.16b
- .long 0x4ea7d65b // fsub v27.4s, v18.4s, v7.4s
- .long 0x4ea31c70 // mov v16.16b, v3.16b
- .long 0x4e21d43d // fadd v29.4s, v1.4s, v1.4s
- .long 0x4e22d45c // fadd v28.4s, v2.4s, v2.4s
- .long 0x6e20df60 // fmul v0.4s, v27.4s, v0.4s
- .long 0x6e21df61 // fmul v1.4s, v27.4s, v1.4s
- .long 0x6e22df62 // fmul v2.4s, v27.4s, v2.4s
- .long 0x4ea3d63b // fsub v27.4s, v17.4s, v3.4s
- .long 0x4eb6d656 // fsub v22.4s, v18.4s, v22.4s
- .long 0x4ea31c79 // mov v25.16b, v3.16b
- .long 0x4e3bced0 // fmla v16.4s, v22.4s, v27.4s
- .long 0x4ea3d7b6 // fsub v22.4s, v29.4s, v3.4s
- .long 0x4eb8d658 // fsub v24.4s, v18.4s, v24.4s
- .long 0x4ea31c73 // mov v19.16b, v3.16b
- .long 0x4e36cf19 // fmla v25.4s, v24.4s, v22.4s
- .long 0x4ea3d798 // fsub v24.4s, v28.4s, v3.4s
- .long 0x4eb5d655 // fsub v21.4s, v18.4s, v21.4s
- .long 0x4e38ceb3 // fmla v19.4s, v21.4s, v24.4s
- .long 0x6e27df7b // fmul v27.4s, v27.4s, v7.4s
- .long 0x6e27ded6 // fmul v22.4s, v22.4s, v7.4s
- .long 0x6e27df18 // fmul v24.4s, v24.4s, v7.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e37df77 // fmul v23.4s, v27.4s, v23.4s
- .long 0x6e3aded6 // fmul v22.4s, v22.4s, v26.4s
- .long 0x6e34df14 // fmul v20.4s, v24.4s, v20.4s
- .long 0x4ea3d652 // fsub v18.4s, v18.4s, v3.4s
- .long 0x6e31e471 // fcmge v17.4s, v3.4s, v17.4s
- .long 0x6e3de475 // fcmge v21.4s, v3.4s, v29.4s
- .long 0x6e3ce47c // fcmge v28.4s, v3.4s, v28.4s
- .long 0x6e24de10 // fmul v16.4s, v16.4s, v4.4s
- .long 0x6e25df39 // fmul v25.4s, v25.4s, v5.4s
- .long 0x6e26de73 // fmul v19.4s, v19.4s, v6.4s
- .long 0x4e23cc97 // fmla v23.4s, v4.4s, v3.4s
- .long 0x4e23ccb6 // fmla v22.4s, v5.4s, v3.4s
- .long 0x4e23ccd4 // fmla v20.4s, v6.4s, v3.4s
- .long 0x4e32cc80 // fmla v0.4s, v4.4s, v18.4s
- .long 0x4e32cca1 // fmla v1.4s, v5.4s, v18.4s
- .long 0x4e32ccc2 // fmla v2.4s, v6.4s, v18.4s
- .long 0x6e771e11 // bsl v17.16b, v16.16b, v23.16b
- .long 0x6e761f35 // bsl v21.16b, v25.16b, v22.16b
- .long 0x6e741e7c // bsl v28.16b, v19.16b, v20.16b
- .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s
- .long 0x4e35d421 // fadd v1.4s, v1.4s, v21.4s
- .long 0x4e3cd442 // fadd v2.4s, v2.4s, v28.4s
- .long 0x4e27ce43 // fmla v3.4s, v18.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_hue_aarch64
-.globl _sk_hue_aarch64
-FUNCTION(_sk_hue_aarch64)
-_sk_hue_aarch64:
- .long 0x6e23dc32 // fmul v18.4s, v1.4s, v3.4s
- .long 0x6e23dc53 // fmul v19.4s, v2.4s, v3.4s
- .long 0x4e26f4b5 // fmax v21.4s, v5.4s, v6.4s
- .long 0x4ea6f4b7 // fmin v23.4s, v5.4s, v6.4s
- .long 0x6e23dc11 // fmul v17.4s, v0.4s, v3.4s
- .long 0x4e35f495 // fmax v21.4s, v4.4s, v21.4s
- .long 0x4eb7f497 // fmin v23.4s, v4.4s, v23.4s
- .long 0x4eb3f65b // fmin v27.4s, v18.4s, v19.4s
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x4f03f619 // fmov v25.4s, #1.000000000000000000e+00
- .long 0x4e33f65c // fmax v28.4s, v18.4s, v19.4s
- .long 0x4eb7d6b5 // fsub v21.4s, v21.4s, v23.4s
- .long 0x4ebbf63b // fmin v27.4s, v17.4s, v27.4s
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4ea7d737 // fsub v23.4s, v25.4s, v7.4s
- .long 0x4e3cf63c // fmax v28.4s, v17.4s, v28.4s
- .long 0x4ebbd652 // fsub v18.4s, v18.4s, v27.4s
- .long 0x6e23deb5 // fmul v21.4s, v21.4s, v3.4s
- .long 0x4e040d16 // dup v22.4s, w8
- .long 0x52a7e2e8 // mov w8, #0x3f170000
- .long 0x6e20dee0 // fmul v0.4s, v23.4s, v0.4s
- .long 0x6e21dee1 // fmul v1.4s, v23.4s, v1.4s
- .long 0x6e22dee2 // fmul v2.4s, v23.4s, v2.4s
- .long 0x4ea3d739 // fsub v25.4s, v25.4s, v3.4s
- .long 0x4ebbd79c // fsub v28.4s, v28.4s, v27.4s
- .long 0x4ebbd631 // fsub v17.4s, v17.4s, v27.4s
- .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s
- .long 0x728147a8 // movk w8, #0xa3d
- .long 0x4ebbd673 // fsub v19.4s, v19.4s, v27.4s
- .long 0x4e39cc80 // fmla v0.4s, v4.4s, v25.4s
- .long 0x4e39cca1 // fmla v1.4s, v5.4s, v25.4s
- .long 0x4e39ccc2 // fmla v2.4s, v6.4s, v25.4s
- .long 0x4ea0db99 // fcmeq v25.4s, v28.4s, #0.0
- .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s
- .long 0x6e3cfe52 // fdiv v18.4s, v18.4s, v28.4s
- .long 0x4e040d18 // dup v24.4s, w8
- .long 0x52a7bc28 // mov w8, #0x3de10000
- .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s
- .long 0x6e3cfe31 // fdiv v17.4s, v17.4s, v28.4s
- .long 0x4e791e52 // bic v18.16b, v18.16b, v25.16b
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x6e3cfe73 // fdiv v19.4s, v19.4s, v28.4s
- .long 0x4e791e31 // bic v17.16b, v17.16b, v25.16b
- .long 0x6e38de55 // fmul v21.4s, v18.4s, v24.4s
- .long 0x4e040d17 // dup v23.4s, w8
- .long 0x6e38dcbb // fmul v27.4s, v5.4s, v24.4s
- .long 0x4e791e73 // bic v19.16b, v19.16b, v25.16b
- .long 0x4e31ced5 // fmla v21.4s, v22.4s, v17.4s
- .long 0x4e24cedb // fmla v27.4s, v22.4s, v4.4s
- .long 0x4e33cef5 // fmla v21.4s, v23.4s, v19.4s
- .long 0x4e26cefb // fmla v27.4s, v23.4s, v6.4s
- .long 0x6ea0fab5 // fneg v21.4s, v21.4s
- .long 0x4e3bcc75 // fmla v21.4s, v3.4s, v27.4s
- .long 0x6e27dc74 // fmul v20.4s, v3.4s, v7.4s
- .long 0x4e27d47a // fadd v26.4s, v3.4s, v7.4s
- .long 0x4e35d623 // fadd v3.4s, v17.4s, v21.4s
- .long 0x4e35d651 // fadd v17.4s, v18.4s, v21.4s
- .long 0x6e38de38 // fmul v24.4s, v17.4s, v24.4s
- .long 0x4e35d672 // fadd v18.4s, v19.4s, v21.4s
- .long 0x4e23ced8 // fmla v24.4s, v22.4s, v3.4s
- .long 0x4eb2f633 // fmin v19.4s, v17.4s, v18.4s
- .long 0x4e32cef8 // fmla v24.4s, v23.4s, v18.4s
- .long 0x4eb3f473 // fmin v19.4s, v3.4s, v19.4s
- .long 0x4eb8d479 // fsub v25.4s, v3.4s, v24.4s
- .long 0x6ea0ca76 // fcmge v22.4s, v19.4s, #0.0
- .long 0x4eb3d713 // fsub v19.4s, v24.4s, v19.4s
- .long 0x6e39df19 // fmul v25.4s, v24.4s, v25.4s
- .long 0x6e33ff39 // fdiv v25.4s, v25.4s, v19.4s
- .long 0x4e32f635 // fmax v21.4s, v17.4s, v18.4s
- .long 0x4eb61edb // mov v27.16b, v22.16b
- .long 0x4e39d719 // fadd v25.4s, v24.4s, v25.4s
- .long 0x4e35f475 // fmax v21.4s, v3.4s, v21.4s
- .long 0x6e791c7b // bsl v27.16b, v3.16b, v25.16b
- .long 0x4eb8d623 // fsub v3.4s, v17.4s, v24.4s
- .long 0x6e23df03 // fmul v3.4s, v24.4s, v3.4s
- .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s
- .long 0x4eb61ed9 // mov v25.16b, v22.16b
- .long 0x4e23d703 // fadd v3.4s, v24.4s, v3.4s
- .long 0x6e631e39 // bsl v25.16b, v17.16b, v3.16b
- .long 0x4eb8d651 // fsub v17.4s, v18.4s, v24.4s
- .long 0x6e31df11 // fmul v17.4s, v24.4s, v17.4s
- .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s
- .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s
- .long 0x6e711e56 // bsl v22.16b, v18.16b, v17.16b
- .long 0x4eb8d69c // fsub v28.4s, v20.4s, v24.4s
- .long 0x4eb8d771 // fsub v17.4s, v27.4s, v24.4s
- .long 0x4eb8d732 // fsub v18.4s, v25.4s, v24.4s
- .long 0x4eb8d6d3 // fsub v19.4s, v22.4s, v24.4s
- .long 0x6eb4e6b7 // fcmgt v23.4s, v21.4s, v20.4s
- .long 0x4eb8d6b5 // fsub v21.4s, v21.4s, v24.4s
- .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s
- .long 0x6e32df92 // fmul v18.4s, v28.4s, v18.4s
- .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s
- .long 0x6e35fe31 // fdiv v17.4s, v17.4s, v21.4s
- .long 0x6e35fe52 // fdiv v18.4s, v18.4s, v21.4s
- .long 0x6e35fe73 // fdiv v19.4s, v19.4s, v21.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb71ee3 // mov v3.16b, v23.16b
- .long 0x4eb71efc // mov v28.16b, v23.16b
- .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s
- .long 0x4e32d712 // fadd v18.4s, v24.4s, v18.4s
- .long 0x4e33d713 // fadd v19.4s, v24.4s, v19.4s
- .long 0x6f00e410 // movi v16.2d, #0x0
- .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b
- .long 0x6e791e5c // bsl v28.16b, v18.16b, v25.16b
- .long 0x6e761e77 // bsl v23.16b, v19.16b, v22.16b
- .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s
- .long 0x4e30f791 // fmax v17.4s, v28.4s, v16.4s
- .long 0x4e30f6f0 // fmax v16.4s, v23.4s, v16.4s
- .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s
- .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s
- .long 0x4e30d442 // fadd v2.4s, v2.4s, v16.4s
- .long 0x4eb4d743 // fsub v3.4s, v26.4s, v20.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_saturation_aarch64
-.globl _sk_saturation_aarch64
-FUNCTION(_sk_saturation_aarch64)
-_sk_saturation_aarch64:
- .long 0x6e25dc72 // fmul v18.4s, v3.4s, v5.4s
- .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s
- .long 0x4e22f435 // fmax v21.4s, v1.4s, v2.4s
- .long 0x4ea2f437 // fmin v23.4s, v1.4s, v2.4s
- .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s
- .long 0x4e35f415 // fmax v21.4s, v0.4s, v21.4s
- .long 0x4eb7f417 // fmin v23.4s, v0.4s, v23.4s
- .long 0x4eb3f65b // fmin v27.4s, v18.4s, v19.4s
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x4f03f619 // fmov v25.4s, #1.000000000000000000e+00
- .long 0x4e33f65c // fmax v28.4s, v18.4s, v19.4s
- .long 0x4eb7d6b5 // fsub v21.4s, v21.4s, v23.4s
- .long 0x4ebbf63b // fmin v27.4s, v17.4s, v27.4s
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4ea7d737 // fsub v23.4s, v25.4s, v7.4s
- .long 0x4e3cf63c // fmax v28.4s, v17.4s, v28.4s
- .long 0x4ebbd652 // fsub v18.4s, v18.4s, v27.4s
- .long 0x6e27deb5 // fmul v21.4s, v21.4s, v7.4s
- .long 0x4e040d16 // dup v22.4s, w8
- .long 0x52a7e2e8 // mov w8, #0x3f170000
- .long 0x6e20dee0 // fmul v0.4s, v23.4s, v0.4s
- .long 0x6e21dee1 // fmul v1.4s, v23.4s, v1.4s
- .long 0x6e22dee2 // fmul v2.4s, v23.4s, v2.4s
- .long 0x4ea3d739 // fsub v25.4s, v25.4s, v3.4s
- .long 0x4ebbd79c // fsub v28.4s, v28.4s, v27.4s
- .long 0x4ebbd631 // fsub v17.4s, v17.4s, v27.4s
- .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s
- .long 0x728147a8 // movk w8, #0xa3d
- .long 0x4ebbd673 // fsub v19.4s, v19.4s, v27.4s
- .long 0x4e39cc80 // fmla v0.4s, v4.4s, v25.4s
- .long 0x4e39cca1 // fmla v1.4s, v5.4s, v25.4s
- .long 0x4e39ccc2 // fmla v2.4s, v6.4s, v25.4s
- .long 0x4ea0db99 // fcmeq v25.4s, v28.4s, #0.0
- .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s
- .long 0x6e3cfe52 // fdiv v18.4s, v18.4s, v28.4s
- .long 0x4e040d18 // dup v24.4s, w8
- .long 0x52a7bc28 // mov w8, #0x3de10000
- .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s
- .long 0x6e3cfe31 // fdiv v17.4s, v17.4s, v28.4s
- .long 0x4e791e52 // bic v18.16b, v18.16b, v25.16b
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x6e3cfe73 // fdiv v19.4s, v19.4s, v28.4s
- .long 0x4e791e31 // bic v17.16b, v17.16b, v25.16b
- .long 0x6e38de55 // fmul v21.4s, v18.4s, v24.4s
- .long 0x4e040d17 // dup v23.4s, w8
- .long 0x6e38dcbb // fmul v27.4s, v5.4s, v24.4s
- .long 0x4e791e73 // bic v19.16b, v19.16b, v25.16b
- .long 0x4e31ced5 // fmla v21.4s, v22.4s, v17.4s
- .long 0x4e24cedb // fmla v27.4s, v22.4s, v4.4s
- .long 0x4e33cef5 // fmla v21.4s, v23.4s, v19.4s
- .long 0x4e26cefb // fmla v27.4s, v23.4s, v6.4s
- .long 0x6ea0fab5 // fneg v21.4s, v21.4s
- .long 0x4e3bcc75 // fmla v21.4s, v3.4s, v27.4s
- .long 0x6e27dc74 // fmul v20.4s, v3.4s, v7.4s
- .long 0x4e27d47a // fadd v26.4s, v3.4s, v7.4s
- .long 0x4e35d623 // fadd v3.4s, v17.4s, v21.4s
- .long 0x4e35d651 // fadd v17.4s, v18.4s, v21.4s
- .long 0x6e38de38 // fmul v24.4s, v17.4s, v24.4s
- .long 0x4e35d672 // fadd v18.4s, v19.4s, v21.4s
- .long 0x4e23ced8 // fmla v24.4s, v22.4s, v3.4s
- .long 0x4eb2f633 // fmin v19.4s, v17.4s, v18.4s
- .long 0x4e32cef8 // fmla v24.4s, v23.4s, v18.4s
- .long 0x4eb3f473 // fmin v19.4s, v3.4s, v19.4s
- .long 0x4eb8d479 // fsub v25.4s, v3.4s, v24.4s
- .long 0x6ea0ca76 // fcmge v22.4s, v19.4s, #0.0
- .long 0x4eb3d713 // fsub v19.4s, v24.4s, v19.4s
- .long 0x6e39df19 // fmul v25.4s, v24.4s, v25.4s
- .long 0x6e33ff39 // fdiv v25.4s, v25.4s, v19.4s
- .long 0x4e32f635 // fmax v21.4s, v17.4s, v18.4s
- .long 0x4eb61edb // mov v27.16b, v22.16b
- .long 0x4e39d719 // fadd v25.4s, v24.4s, v25.4s
- .long 0x4e35f475 // fmax v21.4s, v3.4s, v21.4s
- .long 0x6e791c7b // bsl v27.16b, v3.16b, v25.16b
- .long 0x4eb8d623 // fsub v3.4s, v17.4s, v24.4s
- .long 0x6e23df03 // fmul v3.4s, v24.4s, v3.4s
- .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s
- .long 0x4eb61ed9 // mov v25.16b, v22.16b
- .long 0x4e23d703 // fadd v3.4s, v24.4s, v3.4s
- .long 0x6e631e39 // bsl v25.16b, v17.16b, v3.16b
- .long 0x4eb8d651 // fsub v17.4s, v18.4s, v24.4s
- .long 0x6e31df11 // fmul v17.4s, v24.4s, v17.4s
- .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s
- .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s
- .long 0x6e711e56 // bsl v22.16b, v18.16b, v17.16b
- .long 0x4eb8d69c // fsub v28.4s, v20.4s, v24.4s
- .long 0x4eb8d771 // fsub v17.4s, v27.4s, v24.4s
- .long 0x4eb8d732 // fsub v18.4s, v25.4s, v24.4s
- .long 0x4eb8d6d3 // fsub v19.4s, v22.4s, v24.4s
- .long 0x6eb4e6b7 // fcmgt v23.4s, v21.4s, v20.4s
- .long 0x4eb8d6b5 // fsub v21.4s, v21.4s, v24.4s
- .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s
- .long 0x6e32df92 // fmul v18.4s, v28.4s, v18.4s
- .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s
- .long 0x6e35fe31 // fdiv v17.4s, v17.4s, v21.4s
- .long 0x6e35fe52 // fdiv v18.4s, v18.4s, v21.4s
- .long 0x6e35fe73 // fdiv v19.4s, v19.4s, v21.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb71ee3 // mov v3.16b, v23.16b
- .long 0x4eb71efc // mov v28.16b, v23.16b
- .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s
- .long 0x4e32d712 // fadd v18.4s, v24.4s, v18.4s
- .long 0x4e33d713 // fadd v19.4s, v24.4s, v19.4s
- .long 0x6f00e410 // movi v16.2d, #0x0
- .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b
- .long 0x6e791e5c // bsl v28.16b, v18.16b, v25.16b
- .long 0x6e761e77 // bsl v23.16b, v19.16b, v22.16b
- .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s
- .long 0x4e30f791 // fmax v17.4s, v28.4s, v16.4s
- .long 0x4e30f6f0 // fmax v16.4s, v23.4s, v16.4s
- .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s
- .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s
- .long 0x4e30d442 // fadd v2.4s, v2.4s, v16.4s
- .long 0x4eb4d743 // fsub v3.4s, v26.4s, v20.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_color_aarch64
-.globl _sk_color_aarch64
-FUNCTION(_sk_color_aarch64)
-_sk_color_aarch64:
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a7e2e8 // mov w8, #0x3f170000
- .long 0x728147a8 // movk w8, #0xa3d
- .long 0x6e27dc33 // fmul v19.4s, v1.4s, v7.4s
- .long 0x4e040d15 // dup v21.4s, w8
- .long 0x52a7bc28 // mov w8, #0x3de10000
- .long 0x6e27dc11 // fmul v17.4s, v0.4s, v7.4s
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x4f03f617 // fmov v23.4s, #1.000000000000000000e+00
- .long 0x6e35de7c // fmul v28.4s, v19.4s, v21.4s
- .long 0x6e27dc54 // fmul v20.4s, v2.4s, v7.4s
- .long 0x4e040d19 // dup v25.4s, w8
- .long 0x4ea7d6fa // fsub v26.4s, v23.4s, v7.4s
- .long 0x6e35dcbb // fmul v27.4s, v5.4s, v21.4s
- .long 0x4e31ce5c // fmla v28.4s, v18.4s, v17.4s
- .long 0x4ea3d6f7 // fsub v23.4s, v23.4s, v3.4s
- .long 0x6e20df40 // fmul v0.4s, v26.4s, v0.4s
- .long 0x6e21df41 // fmul v1.4s, v26.4s, v1.4s
- .long 0x6e22df42 // fmul v2.4s, v26.4s, v2.4s
- .long 0x4e24ce5b // fmla v27.4s, v18.4s, v4.4s
- .long 0x4e34cf3c // fmla v28.4s, v25.4s, v20.4s
- .long 0x4e37cc80 // fmla v0.4s, v4.4s, v23.4s
- .long 0x4e37cca1 // fmla v1.4s, v5.4s, v23.4s
- .long 0x4e37ccc2 // fmla v2.4s, v6.4s, v23.4s
- .long 0x4e26cf3b // fmla v27.4s, v25.4s, v6.4s
- .long 0x6ea0fb97 // fneg v23.4s, v28.4s
- .long 0x4e3bcc77 // fmla v23.4s, v3.4s, v27.4s
- .long 0x6e27dc70 // fmul v16.4s, v3.4s, v7.4s
- .long 0x4e27d478 // fadd v24.4s, v3.4s, v7.4s
- .long 0x4e37d623 // fadd v3.4s, v17.4s, v23.4s
- .long 0x4e37d671 // fadd v17.4s, v19.4s, v23.4s
- .long 0x6e35de35 // fmul v21.4s, v17.4s, v21.4s
- .long 0x4e37d693 // fadd v19.4s, v20.4s, v23.4s
- .long 0x4e23ce55 // fmla v21.4s, v18.4s, v3.4s
- .long 0x4eb3f634 // fmin v20.4s, v17.4s, v19.4s
- .long 0x4e33cf35 // fmla v21.4s, v25.4s, v19.4s
- .long 0x4eb4f474 // fmin v20.4s, v3.4s, v20.4s
- .long 0x4eb5d47a // fsub v26.4s, v3.4s, v21.4s
- .long 0x6ea0ca92 // fcmge v18.4s, v20.4s, #0.0
- .long 0x4eb4d6b4 // fsub v20.4s, v21.4s, v20.4s
- .long 0x6e3adeba // fmul v26.4s, v21.4s, v26.4s
- .long 0x6e34ff5a // fdiv v26.4s, v26.4s, v20.4s
- .long 0x4e33f637 // fmax v23.4s, v17.4s, v19.4s
- .long 0x4eb21e5b // mov v27.16b, v18.16b
- .long 0x4e3ad6ba // fadd v26.4s, v21.4s, v26.4s
- .long 0x4e37f477 // fmax v23.4s, v3.4s, v23.4s
- .long 0x6e7a1c7b // bsl v27.16b, v3.16b, v26.16b
- .long 0x4eb5d623 // fsub v3.4s, v17.4s, v21.4s
- .long 0x6e23dea3 // fmul v3.4s, v21.4s, v3.4s
- .long 0x6e34fc63 // fdiv v3.4s, v3.4s, v20.4s
- .long 0x4eb21e5a // mov v26.16b, v18.16b
- .long 0x4e23d6a3 // fadd v3.4s, v21.4s, v3.4s
- .long 0x6e631e3a // bsl v26.16b, v17.16b, v3.16b
- .long 0x4eb5d671 // fsub v17.4s, v19.4s, v21.4s
- .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s
- .long 0x6e34fe31 // fdiv v17.4s, v17.4s, v20.4s
- .long 0x4e31d6b1 // fadd v17.4s, v21.4s, v17.4s
- .long 0x6e711e72 // bsl v18.16b, v19.16b, v17.16b
- .long 0x4eb5d61c // fsub v28.4s, v16.4s, v21.4s
- .long 0x4eb5d771 // fsub v17.4s, v27.4s, v21.4s
- .long 0x4eb5d753 // fsub v19.4s, v26.4s, v21.4s
- .long 0x4eb5d654 // fsub v20.4s, v18.4s, v21.4s
- .long 0x6eb0e6f9 // fcmgt v25.4s, v23.4s, v16.4s
- .long 0x4eb5d6f7 // fsub v23.4s, v23.4s, v21.4s
- .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s
- .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s
- .long 0x6e34df94 // fmul v20.4s, v28.4s, v20.4s
- .long 0x6e37fe31 // fdiv v17.4s, v17.4s, v23.4s
- .long 0x6e37fe73 // fdiv v19.4s, v19.4s, v23.4s
- .long 0x6e37fe94 // fdiv v20.4s, v20.4s, v23.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb91f23 // mov v3.16b, v25.16b
- .long 0x4eb91f3c // mov v28.16b, v25.16b
- .long 0x4e31d6b1 // fadd v17.4s, v21.4s, v17.4s
- .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s
- .long 0x4e34d6b4 // fadd v20.4s, v21.4s, v20.4s
- .long 0x6f00e416 // movi v22.2d, #0x0
- .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b
- .long 0x6e7a1e7c // bsl v28.16b, v19.16b, v26.16b
- .long 0x6e721e99 // bsl v25.16b, v20.16b, v18.16b
- .long 0x4e36f463 // fmax v3.4s, v3.4s, v22.4s
- .long 0x4e36f791 // fmax v17.4s, v28.4s, v22.4s
- .long 0x4e36f732 // fmax v18.4s, v25.4s, v22.4s
- .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s
- .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s
- .long 0x4e32d442 // fadd v2.4s, v2.4s, v18.4s
- .long 0x4eb0d703 // fsub v3.4s, v24.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_luminosity_aarch64
-.globl _sk_luminosity_aarch64
-FUNCTION(_sk_luminosity_aarch64)
-_sk_luminosity_aarch64:
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a7e2e8 // mov w8, #0x3f170000
- .long 0x728147a8 // movk w8, #0xa3d
- .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s
- .long 0x4e040d15 // dup v21.4s, w8
- .long 0x52a7bc28 // mov w8, #0x3de10000
- .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x4f03f617 // fmov v23.4s, #1.000000000000000000e+00
- .long 0x6e35de7b // fmul v27.4s, v19.4s, v21.4s
- .long 0x6e26dc74 // fmul v20.4s, v3.4s, v6.4s
- .long 0x6e27dc70 // fmul v16.4s, v3.4s, v7.4s
- .long 0x4e27d478 // fadd v24.4s, v3.4s, v7.4s
- .long 0x4e040d19 // dup v25.4s, w8
- .long 0x4ea7d6fa // fsub v26.4s, v23.4s, v7.4s
- .long 0x4ea3d6e3 // fsub v3.4s, v23.4s, v3.4s
- .long 0x6e35dc37 // fmul v23.4s, v1.4s, v21.4s
- .long 0x4e31ce5b // fmla v27.4s, v18.4s, v17.4s
- .long 0x4e20ce57 // fmla v23.4s, v18.4s, v0.4s
- .long 0x4e34cf3b // fmla v27.4s, v25.4s, v20.4s
- .long 0x6e20df5c // fmul v28.4s, v26.4s, v0.4s
- .long 0x4e22cf37 // fmla v23.4s, v25.4s, v2.4s
- .long 0x6ea0fb60 // fneg v0.4s, v27.4s
- .long 0x6e21df41 // fmul v1.4s, v26.4s, v1.4s
- .long 0x6e22df5a // fmul v26.4s, v26.4s, v2.4s
- .long 0x4e37cce0 // fmla v0.4s, v7.4s, v23.4s
- .long 0x4e23cc9c // fmla v28.4s, v4.4s, v3.4s
- .long 0x4e23cca1 // fmla v1.4s, v5.4s, v3.4s
- .long 0x4e23ccda // fmla v26.4s, v6.4s, v3.4s
- .long 0x4e20d663 // fadd v3.4s, v19.4s, v0.4s
- .long 0x4e20d622 // fadd v2.4s, v17.4s, v0.4s
- .long 0x4e20d680 // fadd v0.4s, v20.4s, v0.4s
- .long 0x6e35dc74 // fmul v20.4s, v3.4s, v21.4s
- .long 0x4e22ce54 // fmla v20.4s, v18.4s, v2.4s
- .long 0x4ea0f471 // fmin v17.4s, v3.4s, v0.4s
- .long 0x4e20cf34 // fmla v20.4s, v25.4s, v0.4s
- .long 0x4eb1f451 // fmin v17.4s, v2.4s, v17.4s
- .long 0x4eb4d457 // fsub v23.4s, v2.4s, v20.4s
- .long 0x6ea0ca32 // fcmge v18.4s, v17.4s, #0.0
- .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s
- .long 0x6e37de97 // fmul v23.4s, v20.4s, v23.4s
- .long 0x6e31fef7 // fdiv v23.4s, v23.4s, v17.4s
- .long 0x4e20f473 // fmax v19.4s, v3.4s, v0.4s
- .long 0x4eb21e59 // mov v25.16b, v18.16b
- .long 0x4e37d697 // fadd v23.4s, v20.4s, v23.4s
- .long 0x4e33f453 // fmax v19.4s, v2.4s, v19.4s
- .long 0x6e771c59 // bsl v25.16b, v2.16b, v23.16b
- .long 0x4eb4d462 // fsub v2.4s, v3.4s, v20.4s
- .long 0x6e22de82 // fmul v2.4s, v20.4s, v2.4s
- .long 0x6e31fc42 // fdiv v2.4s, v2.4s, v17.4s
- .long 0x4eb21e57 // mov v23.16b, v18.16b
- .long 0x4e22d682 // fadd v2.4s, v20.4s, v2.4s
- .long 0x6e621c77 // bsl v23.16b, v3.16b, v2.16b
- .long 0x4eb4d403 // fsub v3.4s, v0.4s, v20.4s
- .long 0x6e23de83 // fmul v3.4s, v20.4s, v3.4s
- .long 0x6e31fc63 // fdiv v3.4s, v3.4s, v17.4s
- .long 0x4e23d683 // fadd v3.4s, v20.4s, v3.4s
- .long 0x6e631c12 // bsl v18.16b, v0.16b, v3.16b
- .long 0x4eb4d61b // fsub v27.4s, v16.4s, v20.4s
- .long 0x4eb4d720 // fsub v0.4s, v25.4s, v20.4s
- .long 0x4eb4d6e3 // fsub v3.4s, v23.4s, v20.4s
- .long 0x4eb4d651 // fsub v17.4s, v18.4s, v20.4s
- .long 0x6eb0e675 // fcmgt v21.4s, v19.4s, v16.4s
- .long 0x4eb4d673 // fsub v19.4s, v19.4s, v20.4s
- .long 0x6e20df60 // fmul v0.4s, v27.4s, v0.4s
- .long 0x6e23df63 // fmul v3.4s, v27.4s, v3.4s
- .long 0x6e31df71 // fmul v17.4s, v27.4s, v17.4s
- .long 0x6e33fc00 // fdiv v0.4s, v0.4s, v19.4s
- .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s
- .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb51ea2 // mov v2.16b, v21.16b
- .long 0x4eb51ebb // mov v27.16b, v21.16b
- .long 0x4e20d680 // fadd v0.4s, v20.4s, v0.4s
- .long 0x4e23d683 // fadd v3.4s, v20.4s, v3.4s
- .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s
- .long 0x6f00e416 // movi v22.2d, #0x0
- .long 0x6e791c02 // bsl v2.16b, v0.16b, v25.16b
- .long 0x6e771c7b // bsl v27.16b, v3.16b, v23.16b
- .long 0x6e721e35 // bsl v21.16b, v17.16b, v18.16b
- .long 0x4e36f440 // fmax v0.4s, v2.4s, v22.4s
- .long 0x4e36f762 // fmax v2.4s, v27.4s, v22.4s
- .long 0x4e36f6a3 // fmax v3.4s, v21.4s, v22.4s
- .long 0x4e20d780 // fadd v0.4s, v28.4s, v0.4s
- .long 0x4e22d421 // fadd v1.4s, v1.4s, v2.4s
- .long 0x4e23d742 // fadd v2.4s, v26.4s, v3.4s
- .long 0x4eb0d703 // fsub v3.4s, v24.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_srcover_rgba_8888_aarch64
-.globl _sk_srcover_rgba_8888_aarch64
-FUNCTION(_sk_srcover_rgba_8888_aarch64)
-_sk_srcover_rgba_8888_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0xb5000504 // cbnz x4, 11d8 <_sk_srcover_rgba_8888_aarch64+0xbc>
- .long 0x3dc00104 // ldr q4, [x8]
- .long 0x6f00e625 // movi v5.2d, #0xff000000ff
- .long 0x6f380486 // ushr v6.4s, v4.4s, #8
- .long 0x6f300487 // ushr v7.4s, v4.4s, #16
- .long 0x6f280490 // ushr v16.4s, v4.4s, #24
- .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00
- .long 0x52a86fe9 // mov w9, #0x437f0000
- .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b
- .long 0x4e251cf2 // and v18.16b, v7.16b, v5.16b
- .long 0x4e21da07 // scvtf v7.4s, v16.4s
- .long 0x4ea3d630 // fsub v16.4s, v17.4s, v3.4s
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b
- .long 0x4e21d8c5 // scvtf v5.4s, v6.4s
- .long 0x6e31dc21 // fmul v1.4s, v1.4s, v17.4s
- .long 0x4e21d884 // scvtf v4.4s, v4.4s
- .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s
- .long 0x4e25ce01 // fmla v1.4s, v16.4s, v5.4s
- .long 0x4e21da46 // scvtf v6.4s, v18.4s
- .long 0x6e31dc42 // fmul v2.4s, v2.4s, v17.4s
- .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s
- .long 0x4e24ce00 // fmla v0.4s, v16.4s, v4.4s
- .long 0x6e21a831 // fcvtnu v17.4s, v1.4s
- .long 0x4e26ce02 // fmla v2.4s, v16.4s, v6.4s
- .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s
- .long 0x6e21a810 // fcvtnu v16.4s, v0.4s
- .long 0x4f285631 // shl v17.4s, v17.4s, #8
- .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b
- .long 0x6e21a851 // fcvtnu v17.4s, v2.4s
- .long 0x4f305631 // shl v17.4s, v17.4s, #16
- .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b
- .long 0x6e21a871 // fcvtnu v17.4s, v3.4s
- .long 0x4f385631 // shl v17.4s, v17.4s, #24
- .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b
- .long 0xb5000284 // cbnz x4, 1214 <_sk_srcover_rgba_8888_aarch64+0xf8>
- .long 0x3d800110 // str q16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000300 // b.eq 1240 <_sk_srcover_rgba_8888_aarch64+0x124> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x6f00e404 // movi v4.2d, #0x0
- .long 0x540000c0 // b.eq 1204 <_sk_srcover_rgba_8888_aarch64+0xe8> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffa61 // b.ne 1140 <_sk_srcover_rgba_8888_aarch64+0x24> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x4d408124 // ld1 {v4.s}[2], [x9]
- .long 0xfd400105 // ldr d5, [x8]
- .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8
- .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8
- .long 0x17ffffcc // b 1140 <_sk_srcover_rgba_8888_aarch64+0x24>
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000180 // b.eq 124c <_sk_srcover_rgba_8888_aarch64+0x130> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 1238 <_sk_srcover_rgba_8888_aarch64+0x11c> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd01 // b.ne 11cc <_sk_srcover_rgba_8888_aarch64+0xb0> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d008130 // st1 {v16.s}[2], [x9]
- .long 0xfd000110 // str d16, [x8]
- .long 0x17ffffe4 // b 11cc <_sk_srcover_rgba_8888_aarch64+0xb0>
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x0d408104 // ld1 {v4.s}[0], [x8]
- .long 0x17ffffbe // b 1140 <_sk_srcover_rgba_8888_aarch64+0x24>
- .long 0x0d008110 // st1 {v16.s}[0], [x8]
- .long 0x17ffffdf // b 11cc <_sk_srcover_rgba_8888_aarch64+0xb0>
-
-HIDDEN _sk_clamp_0_aarch64
-.globl _sk_clamp_0_aarch64
-FUNCTION(_sk_clamp_0_aarch64)
-_sk_clamp_0_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6f00e410 // movi v16.2d, #0x0
- .long 0x4e30f400 // fmax v0.4s, v0.4s, v16.4s
- .long 0x4e30f421 // fmax v1.4s, v1.4s, v16.4s
- .long 0x4e30f442 // fmax v2.4s, v2.4s, v16.4s
- .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clamp_1_aarch64
-.globl _sk_clamp_1_aarch64
-FUNCTION(_sk_clamp_1_aarch64)
-_sk_clamp_1_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s
- .long 0x4eb0f442 // fmin v2.4s, v2.4s, v16.4s
- .long 0x4eb0f463 // fmin v3.4s, v3.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clamp_a_aarch64
-.globl _sk_clamp_a_aarch64
-FUNCTION(_sk_clamp_a_aarch64)
-_sk_clamp_a_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4eb0f463 // fmin v3.4s, v3.4s, v16.4s
- .long 0x4ea3f400 // fmin v0.4s, v0.4s, v3.4s
- .long 0x4ea3f421 // fmin v1.4s, v1.4s, v3.4s
- .long 0x4ea3f442 // fmin v2.4s, v2.4s, v3.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clamp_a_dst_aarch64
-.globl _sk_clamp_a_dst_aarch64
-FUNCTION(_sk_clamp_a_dst_aarch64)
-_sk_clamp_a_dst_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4eb0f4e7 // fmin v7.4s, v7.4s, v16.4s
- .long 0x4ea7f484 // fmin v4.4s, v4.4s, v7.4s
- .long 0x4ea7f4a5 // fmin v5.4s, v5.4s, v7.4s
- .long 0x4ea7f4c6 // fmin v6.4s, v6.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_set_rgb_aarch64
-.globl _sk_set_rgb_aarch64
-FUNCTION(_sk_set_rgb_aarch64)
-_sk_set_rgb_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x4ddfc920 // ld1r {v0.4s}, [x9], #4
- .long 0x91002108 // add x8, x8, #0x8
- .long 0x4d40c902 // ld1r {v2.4s}, [x8]
- .long 0x4d40c921 // ld1r {v1.4s}, [x9]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_swap_rb_aarch64
-.globl _sk_swap_rb_aarch64
-FUNCTION(_sk_swap_rb_aarch64)
-_sk_swap_rb_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea01c10 // mov v16.16b, v0.16b
- .long 0x4ea21c40 // mov v0.16b, v2.16b
- .long 0x4eb01e02 // mov v2.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_invert_aarch64
-.globl _sk_invert_aarch64
-FUNCTION(_sk_invert_aarch64)
-_sk_invert_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s
- .long 0x4ea1d601 // fsub v1.4s, v16.4s, v1.4s
- .long 0x4ea2d602 // fsub v2.4s, v16.4s, v2.4s
- .long 0x4ea3d603 // fsub v3.4s, v16.4s, v3.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_move_src_dst_aarch64
-.globl _sk_move_src_dst_aarch64
-FUNCTION(_sk_move_src_dst_aarch64)
-_sk_move_src_dst_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea01c04 // mov v4.16b, v0.16b
- .long 0x4ea11c25 // mov v5.16b, v1.16b
- .long 0x4ea21c46 // mov v6.16b, v2.16b
- .long 0x4ea31c67 // mov v7.16b, v3.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_move_dst_src_aarch64
-.globl _sk_move_dst_src_aarch64
-FUNCTION(_sk_move_dst_src_aarch64)
-_sk_move_dst_src_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea41c80 // mov v0.16b, v4.16b
- .long 0x4ea51ca1 // mov v1.16b, v5.16b
- .long 0x4ea61cc2 // mov v2.16b, v6.16b
- .long 0x4ea71ce3 // mov v3.16b, v7.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_premul_aarch64
-.globl _sk_premul_aarch64
-FUNCTION(_sk_premul_aarch64)
-_sk_premul_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e23dc00 // fmul v0.4s, v0.4s, v3.4s
- .long 0x6e23dc21 // fmul v1.4s, v1.4s, v3.4s
- .long 0x6e23dc42 // fmul v2.4s, v2.4s, v3.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_premul_dst_aarch64
-.globl _sk_premul_dst_aarch64
-FUNCTION(_sk_premul_dst_aarch64)
-_sk_premul_dst_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e27dc84 // fmul v4.4s, v4.4s, v7.4s
- .long 0x6e27dca5 // fmul v5.4s, v5.4s, v7.4s
- .long 0x6e27dcc6 // fmul v6.4s, v6.4s, v7.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_unpremul_aarch64
-.globl _sk_unpremul_aarch64
-FUNCTION(_sk_unpremul_aarch64)
-_sk_unpremul_aarch64:
- .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4ea0d870 // fcmeq v16.4s, v3.4s, #0.0
- .long 0x6e23fe31 // fdiv v17.4s, v17.4s, v3.4s
- .long 0x4e701e30 // bic v16.16b, v17.16b, v16.16b
- .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_from_srgb_aarch64
-.globl _sk_from_srgb_aarch64
-FUNCTION(_sk_from_srgb_aarch64)
-_sk_from_srgb_aarch64:
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x52a7e648 // mov w8, #0x3f320000
- .long 0x7291eb88 // movk w8, #0x8f5c
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a76468 // mov w8, #0x3b230000
- .long 0x729ae148 // movk w8, #0xd70a
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a7b3c8 // mov w8, #0x3d9e0000
- .long 0x72907228 // movk w8, #0x8391
- .long 0x6e22dc54 // fmul v20.4s, v2.4s, v2.4s
- .long 0x4eb11e35 // mov v21.16b, v17.16b
- .long 0x4eb11e37 // mov v23.16b, v17.16b
- .long 0x4e22ce11 // fmla v17.4s, v16.4s, v2.4s
- .long 0x4eb21e56 // mov v22.16b, v18.16b
- .long 0x4eb21e58 // mov v24.16b, v18.16b
- .long 0x4e34ce32 // fmla v18.4s, v17.4s, v20.4s
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a7ac28 // mov w8, #0x3d610000
- .long 0x6e20dc13 // fmul v19.4s, v0.4s, v0.4s
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x4e20ce15 // fmla v21.4s, v16.4s, v0.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s
- .long 0x4e33ceb6 // fmla v22.4s, v21.4s, v19.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x4e21ce17 // fmla v23.4s, v16.4s, v1.4s
- .long 0x6e31dc15 // fmul v21.4s, v0.4s, v17.4s
- .long 0x6ea0e660 // fcmgt v0.4s, v19.4s, v0.4s
- .long 0x6e31dc30 // fmul v16.4s, v1.4s, v17.4s
- .long 0x6ea1e661 // fcmgt v1.4s, v19.4s, v1.4s
- .long 0x6e31dc51 // fmul v17.4s, v2.4s, v17.4s
- .long 0x6ea2e662 // fcmgt v2.4s, v19.4s, v2.4s
- .long 0x4e34cef8 // fmla v24.4s, v23.4s, v20.4s
- .long 0x6e761ea0 // bsl v0.16b, v21.16b, v22.16b
- .long 0x6e781e01 // bsl v1.16b, v16.16b, v24.16b
- .long 0x6e721e22 // bsl v2.16b, v17.16b, v18.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_from_srgb_dst_aarch64
-.globl _sk_from_srgb_dst_aarch64
-FUNCTION(_sk_from_srgb_dst_aarch64)
-_sk_from_srgb_dst_aarch64:
- .long 0x52a7d328 // mov w8, #0x3e990000
- .long 0x72933348 // movk w8, #0x999a
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x52a7e648 // mov w8, #0x3f320000
- .long 0x7291eb88 // movk w8, #0x8f5c
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a76468 // mov w8, #0x3b230000
- .long 0x729ae148 // movk w8, #0xd70a
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a7b3c8 // mov w8, #0x3d9e0000
- .long 0x72907228 // movk w8, #0x8391
- .long 0x6e26dcd4 // fmul v20.4s, v6.4s, v6.4s
- .long 0x4eb11e35 // mov v21.16b, v17.16b
- .long 0x4eb11e37 // mov v23.16b, v17.16b
- .long 0x4e26ce11 // fmla v17.4s, v16.4s, v6.4s
- .long 0x4eb21e56 // mov v22.16b, v18.16b
- .long 0x4eb21e58 // mov v24.16b, v18.16b
- .long 0x4e34ce32 // fmla v18.4s, v17.4s, v20.4s
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a7ac28 // mov w8, #0x3d610000
- .long 0x6e24dc93 // fmul v19.4s, v4.4s, v4.4s
- .long 0x7288f5c8 // movk w8, #0x47ae
- .long 0x4e24ce15 // fmla v21.4s, v16.4s, v4.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e25dcb4 // fmul v20.4s, v5.4s, v5.4s
- .long 0x4e33ceb6 // fmla v22.4s, v21.4s, v19.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x4e25ce17 // fmla v23.4s, v16.4s, v5.4s
- .long 0x6e31dc95 // fmul v21.4s, v4.4s, v17.4s
- .long 0x6ea4e664 // fcmgt v4.4s, v19.4s, v4.4s
- .long 0x6e31dcb0 // fmul v16.4s, v5.4s, v17.4s
- .long 0x6ea5e665 // fcmgt v5.4s, v19.4s, v5.4s
- .long 0x6e31dcd1 // fmul v17.4s, v6.4s, v17.4s
- .long 0x6ea6e666 // fcmgt v6.4s, v19.4s, v6.4s
- .long 0x4e34cef8 // fmla v24.4s, v23.4s, v20.4s
- .long 0x6e761ea4 // bsl v4.16b, v21.16b, v22.16b
- .long 0x6e781e05 // bsl v5.16b, v16.16b, v24.16b
- .long 0x6e721e26 // bsl v6.16b, v17.16b, v18.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_to_srgb_aarch64
-.globl _sk_to_srgb_aarch64
-FUNCTION(_sk_to_srgb_aarch64)
-_sk_to_srgb_aarch64:
- .long 0x52a829c8 // mov w8, #0x414e0000
- .long 0x72970a48 // movk w8, #0xb852
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52b76408 // mov w8, #0xbb200000
- .long 0x729ae728 // movk w8, #0xd739
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a77308 // mov w8, #0x3b980000
- .long 0x72963508 // movk w8, #0xb1a8
- .long 0x6ea1d810 // frsqrte v16.4s, v0.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a78c48 // mov w8, #0x3c620000
- .long 0x6ea1d834 // frsqrte v20.4s, v1.4s
- .long 0x6ea1d855 // frsqrte v21.4s, v2.4s
- .long 0x7293f748 // movk w8, #0x9fba
- .long 0x6e30de16 // fmul v22.4s, v16.4s, v16.4s
- .long 0x6e34de97 // fmul v23.4s, v20.4s, v20.4s
- .long 0x6e35deb8 // fmul v24.4s, v21.4s, v21.4s
- .long 0x4eb6fc16 // frsqrts v22.4s, v0.4s, v22.4s
- .long 0x6e31dc19 // fmul v25.4s, v0.4s, v17.4s
- .long 0x6ea0e660 // fcmgt v0.4s, v19.4s, v0.4s
- .long 0x4eb7fc37 // frsqrts v23.4s, v1.4s, v23.4s
- .long 0x6e31dc3a // fmul v26.4s, v1.4s, v17.4s
- .long 0x6ea1e661 // fcmgt v1.4s, v19.4s, v1.4s
- .long 0x4eb8fc58 // frsqrts v24.4s, v2.4s, v24.4s
- .long 0x6e31dc51 // fmul v17.4s, v2.4s, v17.4s
- .long 0x6ea2e662 // fcmgt v2.4s, v19.4s, v2.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a7f208 // mov w8, #0x3f900000
- .long 0x72947ae8 // movk w8, #0xa3d7
- .long 0x6e36de10 // fmul v16.4s, v16.4s, v22.4s
- .long 0x4e040d16 // dup v22.4s, w8
- .long 0x6e37de94 // fmul v20.4s, v20.4s, v23.4s
- .long 0x4eb31e77 // mov v23.16b, v19.16b
- .long 0x6e38deb5 // fmul v21.4s, v21.4s, v24.4s
- .long 0x4eb31e78 // mov v24.16b, v19.16b
- .long 0x52a7c208 // mov w8, #0x3e100000
- .long 0x4e30ce57 // fmla v23.4s, v18.4s, v16.4s
- .long 0x4e34ce58 // fmla v24.4s, v18.4s, v20.4s
- .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s
- .long 0x4eb61ed2 // mov v18.16b, v22.16b
- .long 0x7298c988 // movk w8, #0xc64c
- .long 0x4e30cef2 // fmla v18.4s, v23.4s, v16.4s
- .long 0x4eb61ed7 // mov v23.16b, v22.16b
- .long 0x4e35ce76 // fmla v22.4s, v19.4s, v21.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x4e33d610 // fadd v16.4s, v16.4s, v19.4s
- .long 0x4e34cf17 // fmla v23.4s, v24.4s, v20.4s
- .long 0x4e33d694 // fadd v20.4s, v20.4s, v19.4s
- .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s
- .long 0x4ea1da15 // frecpe v21.4s, v16.4s
- .long 0x4e35fe10 // frecps v16.4s, v16.4s, v21.4s
- .long 0x6e30deb0 // fmul v16.4s, v21.4s, v16.4s
- .long 0x4ea1da95 // frecpe v21.4s, v20.4s
- .long 0x4e35fe94 // frecps v20.4s, v20.4s, v21.4s
- .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s
- .long 0x4ea1da75 // frecpe v21.4s, v19.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e35fe73 // frecps v19.4s, v19.4s, v21.4s
- .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s
- .long 0x6e30de50 // fmul v16.4s, v18.4s, v16.4s
- .long 0x6e34def2 // fmul v18.4s, v23.4s, v20.4s
- .long 0x6e33ded3 // fmul v19.4s, v22.4s, v19.4s
- .long 0x6e701f20 // bsl v0.16b, v25.16b, v16.16b
- .long 0x6e721f41 // bsl v1.16b, v26.16b, v18.16b
- .long 0x6e731e22 // bsl v2.16b, v17.16b, v19.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_rgb_to_hsl_aarch64
-.globl _sk_rgb_to_hsl_aarch64
-FUNCTION(_sk_rgb_to_hsl_aarch64)
-_sk_rgb_to_hsl_aarch64:
- .long 0x4e22f430 // fmax v16.4s, v1.4s, v2.4s
- .long 0x4ea2f431 // fmin v17.4s, v1.4s, v2.4s
- .long 0x6ea1e454 // fcmgt v20.4s, v2.4s, v1.4s
- .long 0x4f00f715 // fmov v21.4s, #6.000000000000000000e+00
- .long 0x4e30f410 // fmax v16.4s, v0.4s, v16.4s
- .long 0x4eb1f411 // fmin v17.4s, v0.4s, v17.4s
- .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00
- .long 0x4e341eb4 // and v20.16b, v21.16b, v20.16b
- .long 0x4eb1d615 // fsub v21.4s, v16.4s, v17.4s
- .long 0x4ea2d433 // fsub v19.4s, v1.4s, v2.4s
- .long 0x4ea0d442 // fsub v2.4s, v2.4s, v0.4s
- .long 0x4f026416 // movi v22.4s, #0x40, lsl #24
- .long 0x4ea1d417 // fsub v23.4s, v0.4s, v1.4s
- .long 0x4f00f618 // fmov v24.4s, #4.000000000000000000e+00
- .long 0x6e35fe52 // fdiv v18.4s, v18.4s, v21.4s
- .long 0x4f0167f9 // movi v25.4s, #0x3f, lsl #24
- .long 0x4e33ce54 // fmla v20.4s, v18.4s, v19.4s
- .long 0x4eb0d6d3 // fsub v19.4s, v22.4s, v16.4s
- .long 0x4e22ce56 // fmla v22.4s, v18.4s, v2.4s
- .long 0x4e37ce58 // fmla v24.4s, v18.4s, v23.4s
- .long 0x4e31e612 // fcmeq v18.4s, v16.4s, v17.4s
- .long 0x4e20e600 // fcmeq v0.4s, v16.4s, v0.4s
- .long 0x4e21e601 // fcmeq v1.4s, v16.4s, v1.4s
- .long 0x4e31d610 // fadd v16.4s, v16.4s, v17.4s
- .long 0x52a7c548 // mov w8, #0x3e2a0000
- .long 0x6e39de02 // fmul v2.4s, v16.4s, v25.4s
- .long 0x72955568 // movk w8, #0xaaab
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb1d671 // fsub v17.4s, v19.4s, v17.4s
- .long 0x6eb9e453 // fcmgt v19.4s, v2.4s, v25.4s
- .long 0x6e781ec1 // bsl v1.16b, v22.16b, v24.16b
- .long 0x4e040d1a // dup v26.4s, w8
- .long 0x6e701e33 // bsl v19.16b, v17.16b, v16.16b
- .long 0x6e611e80 // bsl v0.16b, v20.16b, v1.16b
- .long 0x6e33fea1 // fdiv v1.4s, v21.4s, v19.4s
- .long 0x6e3adc00 // fmul v0.4s, v0.4s, v26.4s
- .long 0x4e721c00 // bic v0.16b, v0.16b, v18.16b
- .long 0x4e721c21 // bic v1.16b, v1.16b, v18.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_hsl_to_rgb_aarch64
-.globl _sk_hsl_to_rgb_aarch64
-FUNCTION(_sk_hsl_to_rgb_aarch64)
-_sk_hsl_to_rgb_aarch64:
- .long 0x52a7d548 // mov w8, #0x3eaa0000
- .long 0x72955568 // movk w8, #0xaaab
- .long 0x4e040d14 // dup v20.4s, w8
- .long 0x52a7e548 // mov w8, #0x3f2a0000
- .long 0x72955568 // movk w8, #0xaaab
- .long 0x4f0167f1 // movi v17.4s, #0x3f, lsl #24
- .long 0x6e22dc32 // fmul v18.4s, v1.4s, v2.4s
- .long 0x4e040d17 // dup v23.4s, w8
- .long 0x52b7d548 // mov w8, #0xbeaa0000
- .long 0x4ea0d830 // fcmeq v16.4s, v1.4s, #0.0
- .long 0x72955568 // movk w8, #0xaaab
- .long 0x6e31e45a // fcmge v26.4s, v2.4s, v17.4s
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x4e040d18 // dup v24.4s, w8
- .long 0x4e219819 // frintm v25.4s, v0.4s
- .long 0x6e721c3a // bsl v26.16b, v1.16b, v18.16b
- .long 0x4e34d401 // fadd v1.4s, v0.4s, v20.4s
- .long 0x4eb9d419 // fsub v25.4s, v0.4s, v25.4s
- .long 0x4e38d400 // fadd v0.4s, v0.4s, v24.4s
- .long 0x4e22d754 // fadd v20.4s, v26.4s, v2.4s
- .long 0x4e219838 // frintm v24.4s, v1.4s
- .long 0x4f026413 // movi v19.4s, #0x40, lsl #24
- .long 0x4f00f715 // fmov v21.4s, #6.000000000000000000e+00
- .long 0x4e21981b // frintm v27.4s, v0.4s
- .long 0x6ea0fa9c // fneg v28.4s, v20.4s
- .long 0x4eb8d421 // fsub v1.4s, v1.4s, v24.4s
- .long 0x4f00f616 // fmov v22.4s, #4.000000000000000000e+00
- .long 0x4ebbd418 // fsub v24.4s, v0.4s, v27.4s
- .long 0x4e22ce7c // fmla v28.4s, v19.4s, v2.4s
- .long 0x6e35dc20 // fmul v0.4s, v1.4s, v21.4s
- .long 0x6e35df32 // fmul v18.4s, v25.4s, v21.4s
- .long 0x6e35df13 // fmul v19.4s, v24.4s, v21.4s
- .long 0x4ebcd695 // fsub v21.4s, v20.4s, v28.4s
- .long 0x4ea0d6db // fsub v27.4s, v22.4s, v0.4s
- .long 0x4ebc1f9d // mov v29.16b, v28.16b
- .long 0x4e3bcebd // fmla v29.4s, v21.4s, v27.4s
- .long 0x4ebc1f9b // mov v27.16b, v28.16b
- .long 0x4eb2d6da // fsub v26.4s, v22.4s, v18.4s
- .long 0x4e20cebb // fmla v27.4s, v21.4s, v0.4s
- .long 0x4ebc1f80 // mov v0.16b, v28.16b
- .long 0x4e3acea0 // fmla v0.4s, v21.4s, v26.4s
- .long 0x4ebc1f9a // mov v26.16b, v28.16b
- .long 0x4eb3d6d6 // fsub v22.4s, v22.4s, v19.4s
- .long 0x4e32ceba // fmla v26.4s, v21.4s, v18.4s
- .long 0x4ebc1f92 // mov v18.16b, v28.16b
- .long 0x52a7c548 // mov w8, #0x3e2a0000
- .long 0x4e36ceb2 // fmla v18.4s, v21.4s, v22.4s
- .long 0x6e37e436 // fcmge v22.4s, v1.4s, v23.4s
- .long 0x72955568 // movk w8, #0xaaab
- .long 0x6e7d1f96 // bsl v22.16b, v28.16b, v29.16b
- .long 0x6e37e73d // fcmge v29.4s, v25.4s, v23.4s
- .long 0x6e37e717 // fcmge v23.4s, v24.4s, v23.4s
- .long 0x6e601f9d // bsl v29.16b, v28.16b, v0.16b
- .long 0x4e040d1e // dup v30.4s, w8
- .long 0x6e721f97 // bsl v23.16b, v28.16b, v18.16b
- .long 0x4e33cebc // fmla v28.4s, v21.4s, v19.4s
- .long 0x6e31e732 // fcmge v18.4s, v25.4s, v17.4s
- .long 0x6e31e435 // fcmge v21.4s, v1.4s, v17.4s
- .long 0x6e31e711 // fcmge v17.4s, v24.4s, v17.4s
- .long 0x6e3ee718 // fcmge v24.4s, v24.4s, v30.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e741ef1 // bsl v17.16b, v23.16b, v20.16b
- .long 0x6e3ee733 // fcmge v19.4s, v25.4s, v30.4s
- .long 0x6e3ee439 // fcmge v25.4s, v1.4s, v30.4s
- .long 0x6e741ed5 // bsl v21.16b, v22.16b, v20.16b
- .long 0x6e741fb2 // bsl v18.16b, v29.16b, v20.16b
- .long 0x6e7c1e38 // bsl v24.16b, v17.16b, v28.16b
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb01e01 // mov v1.16b, v16.16b
- .long 0x6e7b1eb9 // bsl v25.16b, v21.16b, v27.16b
- .long 0x6e7a1e53 // bsl v19.16b, v18.16b, v26.16b
- .long 0x6e781c50 // bsl v16.16b, v2.16b, v24.16b
- .long 0x6e791c40 // bsl v0.16b, v2.16b, v25.16b
- .long 0x6e731c41 // bsl v1.16b, v2.16b, v19.16b
- .long 0x4eb01e02 // mov v2.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_scale_1_float_aarch64
-.globl _sk_scale_1_float_aarch64
-FUNCTION(_sk_scale_1_float_aarch64)
-_sk_scale_1_float_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xbd400110 // ldr s16, [x8]
- .long 0x4f909000 // fmul v0.4s, v0.4s, v16.s[0]
- .long 0x4f909021 // fmul v1.4s, v1.4s, v16.s[0]
- .long 0x4f909042 // fmul v2.4s, v2.4s, v16.s[0]
- .long 0x4f909063 // fmul v3.4s, v3.4s, v16.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_scale_u8_aarch64
-.globl _sk_scale_u8_aarch64
-FUNCTION(_sk_scale_u8_aarch64)
-_sk_scale_u8_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50002e4 // cbnz x4, 1828 <_sk_scale_u8_aarch64+0x74>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d30 // mov v16.h[0], w9
- .long 0x4e061d50 // mov v16.h[1], w10
- .long 0x4e0a1d70 // mov v16.h[2], w11
- .long 0x4e0e1d10 // mov v16.h[3], w8
- .long 0x2f07b7f0 // bic v16.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x72901028 // movk w8, #0x8081
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x2f10a610 // uxtl v16.4s, v16.4h
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x6e21da10 // ucvtf v16.4s, v16.4s
- .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s
- .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 1874 <_sk_scale_u8_aarch64+0xc0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e410 // movi d16, #0x0
- .long 0x540000c0 // b.eq 1854 <_sk_scale_u8_aarch64+0xa0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd61 // b.ne 17f0 <_sk_scale_u8_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x4e0a1d30 // mov v16.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d31 // mov v17.s[0], w9
- .long 0x4e0c1d11 // mov v17.s[1], w8
- .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h
- .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4
- .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4
- .long 0x17ffffe0 // b 17f0 <_sk_scale_u8_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x4e021d10 // mov v16.h[0], w8
- .long 0x17ffffdc // b 17f0 <_sk_scale_u8_aarch64+0x3c>
-
-HIDDEN _sk_scale_565_aarch64
-.globl _sk_scale_565_aarch64
-FUNCTION(_sk_scale_565_aarch64)
-_sk_scale_565_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb50004c4 // cbnz x4, 1938 <_sk_scale_565_aarch64+0xb4>
- .long 0xfd400110 // ldr d16, [x8]
- .long 0x52a6f088 // mov w8, #0x37840000
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x321b17e8 // orr w8, wzr, #0x7e0
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a74048 // mov w8, #0x3a020000
- .long 0x2f10a610 // uxtl v16.4s, v16.4h
- .long 0x4f072711 // movi v17.4s, #0xf8, lsl #8
- .long 0x72810428 // movk w8, #0x821
- .long 0x4f0007f4 // movi v20.4s, #0x1f
- .long 0x4e040d15 // dup v21.4s, w8
- .long 0x52a7a088 // mov w8, #0x3d040000
- .long 0x4e311e11 // and v17.16b, v16.16b, v17.16b
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4e341e14 // and v20.16b, v16.16b, v20.16b
- .long 0x4e331e10 // and v16.16b, v16.16b, v19.16b
- .long 0x4e21da31 // scvtf v17.4s, v17.4s
- .long 0x6e32de31 // fmul v17.4s, v17.4s, v18.4s
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x4e21da94 // scvtf v20.4s, v20.4s
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e32de92 // fmul v18.4s, v20.4s, v18.4s
- .long 0x6e35de10 // fmul v16.4s, v16.4s, v21.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x6e22de42 // fmul v2.4s, v18.4s, v2.4s
- .long 0x4eb2f614 // fmin v20.4s, v16.4s, v18.4s
- .long 0x4e32f612 // fmax v18.4s, v16.4s, v18.4s
- .long 0x6ea3e4f3 // fcmgt v19.4s, v7.4s, v3.4s
- .long 0x6e20de20 // fmul v0.4s, v17.4s, v0.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x4eb4f630 // fmin v16.4s, v17.4s, v20.4s
- .long 0x4e32f631 // fmax v17.4s, v17.4s, v18.4s
- .long 0x6e711e13 // bsl v19.16b, v16.16b, v17.16b
- .long 0x6e23de63 // fmul v3.4s, v19.4s, v3.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 1984 <_sk_scale_565_aarch64+0x100> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e410 // movi d16, #0x0
- .long 0x540000c0 // b.eq 1964 <_sk_scale_565_aarch64+0xe0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffaa1 // b.ne 18a8 <_sk_scale_565_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x0d405130 // ld1 {v16.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d31 // mov v17.s[0], w9
- .long 0x4e0c1d11 // mov v17.s[1], w8
- .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h
- .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4
- .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4
- .long 0x17ffffca // b 18a8 <_sk_scale_565_aarch64+0x24>
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x0d404110 // ld1 {v16.h}[0], [x8]
- .long 0x17ffffc7 // b 18a8 <_sk_scale_565_aarch64+0x24>
-
-HIDDEN _sk_lerp_1_float_aarch64
-.globl _sk_lerp_1_float_aarch64
-FUNCTION(_sk_lerp_1_float_aarch64)
-_sk_lerp_1_float_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea4d411 // fsub v17.4s, v0.4s, v4.4s
- .long 0x4ea41c80 // mov v0.16b, v4.16b
- .long 0x4ea5d432 // fsub v18.4s, v1.4s, v5.4s
- .long 0xbd400110 // ldr s16, [x8]
- .long 0x4ea51ca1 // mov v1.16b, v5.16b
- .long 0x4f901220 // fmla v0.4s, v17.4s, v16.s[0]
- .long 0x4ea6d451 // fsub v17.4s, v2.4s, v6.4s
- .long 0x4f901241 // fmla v1.4s, v18.4s, v16.s[0]
- .long 0x4ea61cc2 // mov v2.16b, v6.16b
- .long 0x4ea7d472 // fsub v18.4s, v3.4s, v7.4s
- .long 0x4ea71ce3 // mov v3.16b, v7.16b
- .long 0x4f901222 // fmla v2.4s, v17.4s, v16.s[0]
- .long 0x4f901243 // fmla v3.4s, v18.4s, v16.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_lerp_u8_aarch64
-.globl _sk_lerp_u8_aarch64
-FUNCTION(_sk_lerp_u8_aarch64)
-_sk_lerp_u8_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50003e4 // cbnz x4, 1a60 <_sk_lerp_u8_aarch64+0x94>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d30 // mov v16.h[0], w9
- .long 0x4e061d50 // mov v16.h[1], w10
- .long 0x4e0a1d70 // mov v16.h[2], w11
- .long 0x4e0e1d10 // mov v16.h[3], w8
- .long 0x2f07b7f0 // bic v16.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x72901028 // movk w8, #0x8081
- .long 0x4ea4d411 // fsub v17.4s, v0.4s, v4.4s
- .long 0x2f10a600 // uxtl v0.4s, v16.4h
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x6e21d800 // ucvtf v0.4s, v0.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x6e30dc10 // fmul v16.4s, v0.4s, v16.4s
- .long 0x4ea41c80 // mov v0.16b, v4.16b
- .long 0x4ea5d432 // fsub v18.4s, v1.4s, v5.4s
- .long 0x4ea51ca1 // mov v1.16b, v5.16b
- .long 0x4e31ce00 // fmla v0.4s, v16.4s, v17.4s
- .long 0x4ea6d451 // fsub v17.4s, v2.4s, v6.4s
- .long 0x4e32ce01 // fmla v1.4s, v16.4s, v18.4s
- .long 0x4ea61cc2 // mov v2.16b, v6.16b
- .long 0x4ea7d472 // fsub v18.4s, v3.4s, v7.4s
- .long 0x4ea71ce3 // mov v3.16b, v7.16b
- .long 0x4e31ce02 // fmla v2.4s, v16.4s, v17.4s
- .long 0x4e32ce03 // fmla v3.4s, v16.4s, v18.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 1aac <_sk_lerp_u8_aarch64+0xe0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e410 // movi d16, #0x0
- .long 0x540000c0 // b.eq 1a8c <_sk_lerp_u8_aarch64+0xc0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffc61 // b.ne 1a08 <_sk_lerp_u8_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x4e0a1d30 // mov v16.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d31 // mov v17.s[0], w9
- .long 0x4e0c1d11 // mov v17.s[1], w8
- .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h
- .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4
- .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4
- .long 0x17ffffd8 // b 1a08 <_sk_lerp_u8_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x4e021d10 // mov v16.h[0], w8
- .long 0x17ffffd4 // b 1a08 <_sk_lerp_u8_aarch64+0x3c>
-
-HIDDEN _sk_lerp_565_aarch64
-.globl _sk_lerp_565_aarch64
-FUNCTION(_sk_lerp_565_aarch64)
-_sk_lerp_565_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb50005c4 // cbnz x4, 1b90 <_sk_lerp_565_aarch64+0xd4>
- .long 0xfd400110 // ldr d16, [x8]
- .long 0x52a6f088 // mov w8, #0x37840000
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x321b17e8 // orr w8, wzr, #0x7e0
- .long 0x2f10a610 // uxtl v16.4s, v16.4h
- .long 0x4f072711 // movi v17.4s, #0xf8, lsl #8
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a7a088 // mov w8, #0x3d040000
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4f0007f5 // movi v21.4s, #0x1f
- .long 0x4e311e11 // and v17.16b, v16.16b, v17.16b
- .long 0x4e040d14 // dup v20.4s, w8
- .long 0x52a74048 // mov w8, #0x3a020000
- .long 0x4e351e15 // and v21.16b, v16.16b, v21.16b
- .long 0x4ea4d416 // fsub v22.4s, v0.4s, v4.4s
- .long 0x4e21da20 // scvtf v0.4s, v17.4s
- .long 0x72810428 // movk w8, #0x821
- .long 0x4e331e10 // and v16.16b, v16.16b, v19.16b
- .long 0x6e32dc11 // fmul v17.4s, v0.4s, v18.4s
- .long 0x4ea5d432 // fsub v18.4s, v1.4s, v5.4s
- .long 0x4e21daa1 // scvtf v1.4s, v21.4s
- .long 0x6e34dc34 // fmul v20.4s, v1.4s, v20.4s
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e21de10 // fmul v16.4s, v16.4s, v1.4s
- .long 0x4ea51ca1 // mov v1.16b, v5.16b
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4e32ce01 // fmla v1.4s, v16.4s, v18.4s
- .long 0x4eb4f612 // fmin v18.4s, v16.4s, v20.4s
- .long 0x4e34f610 // fmax v16.4s, v16.4s, v20.4s
- .long 0x6ea3e4f3 // fcmgt v19.4s, v7.4s, v3.4s
- .long 0x4ea41c80 // mov v0.16b, v4.16b
- .long 0x4eb2f632 // fmin v18.4s, v17.4s, v18.4s
- .long 0x4e30f630 // fmax v16.4s, v17.4s, v16.4s
- .long 0x4ea6d455 // fsub v21.4s, v2.4s, v6.4s
- .long 0x4e36ce20 // fmla v0.4s, v17.4s, v22.4s
- .long 0x4ea61cc2 // mov v2.16b, v6.16b
- .long 0x4ea7d476 // fsub v22.4s, v3.4s, v7.4s
- .long 0x4ea71ce3 // mov v3.16b, v7.16b
- .long 0x6e701e53 // bsl v19.16b, v18.16b, v16.16b
- .long 0x4e35ce82 // fmla v2.4s, v20.4s, v21.4s
- .long 0x4e36ce63 // fmla v3.4s, v19.4s, v22.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 1bdc <_sk_lerp_565_aarch64+0x120> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e410 // movi d16, #0x0
- .long 0x540000c0 // b.eq 1bbc <_sk_lerp_565_aarch64+0x100> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fff9a1 // b.ne 1ae0 <_sk_lerp_565_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x0d405130 // ld1 {v16.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d31 // mov v17.s[0], w9
- .long 0x4e0c1d11 // mov v17.s[1], w8
- .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h
- .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4
- .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4
- .long 0x17ffffc2 // b 1ae0 <_sk_lerp_565_aarch64+0x24>
- .long 0x0e020ff0 // dup v16.4h, wzr
- .long 0x0d404110 // ld1 {v16.h}[0], [x8]
- .long 0x17ffffbf // b 1ae0 <_sk_lerp_565_aarch64+0x24>
-
-HIDDEN _sk_load_tables_aarch64
-.globl _sk_load_tables_aarch64
-FUNCTION(_sk_load_tables_aarch64)
-_sk_load_tables_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xf9400109 // ldr x9, [x8]
- .long 0x8b020929 // add x9, x9, x2, lsl #2
- .long 0xb50006e4 // cbnz x4, 1cd0 <_sk_load_tables_aarch64+0xe8>
- .long 0x3dc00122 // ldr q2, [x9]
- .long 0xa940a909 // ldp x9, x10, [x8, #8]
- .long 0x6f00e620 // movi v0.2d, #0xff000000ff
- .long 0x6f380441 // ushr v1.4s, v2.4s, #8
- .long 0x4e201c50 // and v16.16b, v2.16b, v0.16b
- .long 0x4e201c21 // and v1.16b, v1.16b, v0.16b
- .long 0x1e26020e // fmov w14, s16
- .long 0xf9400d08 // ldr x8, [x8, #24]
- .long 0x6f300443 // ushr v3.4s, v2.4s, #16
- .long 0x1e260025 // fmov w5, s1
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x52a7700b // mov w11, #0x3b800000
- .long 0x4e201c63 // and v3.16b, v3.16b, v0.16b
- .long 0x0d4081c0 // ld1 {v0.s}[0], [x14]
- .long 0x8b254945 // add x5, x10, w5, uxtw #2
- .long 0x7290102b // movk w11, #0x8081
- .long 0x0e0c3c2f // mov w15, v1.s[1]
- .long 0x0e143c30 // mov w16, v1.s[2]
- .long 0x0e1c3c31 // mov w17, v1.s[3]
- .long 0x0d4080a1 // ld1 {v1.s}[0], [x5]
- .long 0x4e040d71 // dup v17.4s, w11
- .long 0x0e0c3e0b // mov w11, v16.s[1]
- .long 0x1e26006e // fmov w14, s3
- .long 0x6f280442 // ushr v2.4s, v2.4s, #24
- .long 0x0e143e0c // mov w12, v16.s[2]
- .long 0xbc705952 // ldr s18, [x10, w16, uxtw #2]
- .long 0x0e143c70 // mov w16, v3.s[2]
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x8b2e490e // add x14, x8, w14, uxtw #2
- .long 0x8b2b492b // add x11, x9, w11, uxtw #2
- .long 0x0e1c3e0d // mov w13, v16.s[3]
- .long 0xbc6c5930 // ldr s16, [x9, w12, uxtw #2]
- .long 0x0e0c3c6c // mov w12, v3.s[1]
- .long 0xbc705913 // ldr s19, [x8, w16, uxtw #2]
- .long 0x0e1c3c70 // mov w16, v3.s[3]
- .long 0x6e31dc43 // fmul v3.4s, v2.4s, v17.4s
- .long 0x0d4081c2 // ld1 {v2.s}[0], [x14]
- .long 0x0d409160 // ld1 {v0.s}[1], [x11]
- .long 0x8b2f494b // add x11, x10, w15, uxtw #2
- .long 0x0d409161 // ld1 {v1.s}[1], [x11]
- .long 0x8b2c490b // add x11, x8, w12, uxtw #2
- .long 0x0d409162 // ld1 {v2.s}[1], [x11]
- .long 0x6e140600 // mov v0.s[2], v16.s[0]
- .long 0xbc6d5930 // ldr s16, [x9, w13, uxtw #2]
- .long 0x6e140641 // mov v1.s[2], v18.s[0]
- .long 0xbc715951 // ldr s17, [x10, w17, uxtw #2]
- .long 0xbc705912 // ldr s18, [x8, w16, uxtw #2]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x6e140662 // mov v2.s[2], v19.s[0]
- .long 0x6e1c0600 // mov v0.s[3], v16.s[0]
- .long 0x6e1c0621 // mov v1.s[3], v17.s[0]
- .long 0x6e1c0642 // mov v2.s[3], v18.s[0]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x1200048a // and w10, w4, #0x3
- .long 0x7100055f // cmp w10, #0x1
- .long 0x540001a0 // b.eq 1d0c <_sk_load_tables_aarch64+0x124> // b.none
- .long 0x7100095f // cmp w10, #0x2
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0x540000c0 // b.eq 1cfc <_sk_load_tables_aarch64+0x114> // b.none
- .long 0x71000d5f // cmp w10, #0x3
- .long 0x54fff881 // b.ne 1bfc <_sk_load_tables_aarch64+0x14> // b.any
- .long 0x9100212a // add x10, x9, #0x8
- .long 0x4e040fe2 // dup v2.4s, wzr
- .long 0x4d408142 // ld1 {v2.s}[2], [x10]
- .long 0xfd400120 // ldr d0, [x9]
- .long 0x6e004040 // ext v0.16b, v2.16b, v0.16b, #8
- .long 0x6e004002 // ext v2.16b, v0.16b, v0.16b, #8
- .long 0x17ffffbd // b 1bfc <_sk_load_tables_aarch64+0x14>
- .long 0x4e040fe2 // dup v2.4s, wzr
- .long 0x0d408122 // ld1 {v2.s}[0], [x9]
- .long 0x17ffffba // b 1bfc <_sk_load_tables_aarch64+0x14>
-
-HIDDEN _sk_load_tables_u16_be_aarch64
-.globl _sk_load_tables_u16_be_aarch64
-FUNCTION(_sk_load_tables_u16_be_aarch64)
-_sk_load_tables_u16_be_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xf9400109 // ldr x9, [x8]
- .long 0x8b020d29 // add x9, x9, x2, lsl #3
- .long 0xb5000744 // cbnz x4, 1e0c <_sk_load_tables_u16_be_aarch64+0xf4>
- .long 0x0c400520 // ld4 {v0.4h-v3.4h}, [x9]
- .long 0xa940a909 // ldp x9, x10, [x8, #8]
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x52a6f00b // mov w11, #0x37800000
- .long 0x7280100b // movk w11, #0x80
- .long 0x2f10a410 // uxtl v16.4s, v0.4h
- .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8
- .long 0xf9400d08 // ldr x8, [x8, #24]
- .long 0x4e040d71 // dup v17.4s, w11
- .long 0x0e0c3e0b // mov w11, v16.s[1]
- .long 0x0e143e0c // mov w12, v16.s[2]
- .long 0x0e1c3e0d // mov w13, v16.s[3]
- .long 0x1e26020e // fmov w14, s16
- .long 0x2f10a430 // uxtl v16.4s, v1.4h
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0x0e0c3e0f // mov w15, v16.s[1]
- .long 0xbc6c5932 // ldr s18, [x9, w12, uxtw #2]
- .long 0x0e143e0c // mov w12, v16.s[2]
- .long 0xbc6d5933 // ldr s19, [x9, w13, uxtw #2]
- .long 0x0e1c3e0d // mov w13, v16.s[3]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x8b2b4929 // add x9, x9, w11, uxtw #2
- .long 0x1e26020b // fmov w11, s16
- .long 0x2f10a450 // uxtl v16.4s, v2.4h
- .long 0x0f185474 // shl v20.4h, v3.4h, #8
- .long 0x2f180462 // ushr v2.4h, v3.4h, #8
- .long 0x0ea21e82 // orr v2.8b, v20.8b, v2.8b
- .long 0x8b2b494b // add x11, x10, w11, uxtw #2
- .long 0x0d4081c0 // ld1 {v0.s}[0], [x14]
- .long 0x1e26020e // fmov w14, s16
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x0d408161 // ld1 {v1.s}[0], [x11]
- .long 0x8b2e490b // add x11, x8, w14, uxtw #2
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6e31dc43 // fmul v3.4s, v2.4s, v17.4s
- .long 0x0d408162 // ld1 {v2.s}[0], [x11]
- .long 0x8b2f494f // add x15, x10, w15, uxtw #2
- .long 0xbc6c5955 // ldr s21, [x10, w12, uxtw #2]
- .long 0xbc6d5956 // ldr s22, [x10, w13, uxtw #2]
- .long 0x0e0c3e0a // mov w10, v16.s[1]
- .long 0x0e143e0c // mov w12, v16.s[2]
- .long 0x0d409120 // ld1 {v0.s}[1], [x9]
- .long 0x8b2a4909 // add x9, x8, w10, uxtw #2
- .long 0x0e1c3e0d // mov w13, v16.s[3]
- .long 0xbc6c5910 // ldr s16, [x8, w12, uxtw #2]
- .long 0x0d4091e1 // ld1 {v1.s}[1], [x15]
- .long 0x0d409122 // ld1 {v2.s}[1], [x9]
- .long 0xbc6d5911 // ldr s17, [x8, w13, uxtw #2]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x6e140640 // mov v0.s[2], v18.s[0]
- .long 0x6e1406a1 // mov v1.s[2], v21.s[0]
- .long 0x6e140602 // mov v2.s[2], v16.s[0]
- .long 0x6e1c0660 // mov v0.s[3], v19.s[0]
- .long 0x6e1c06c1 // mov v1.s[3], v22.s[0]
- .long 0x6e1c0622 // mov v2.s[3], v17.s[0]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d606120 // ld4 {v0.h-v3.h}[0], [x9]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fff8c0 // b.eq 1d2c <_sk_load_tables_u16_be_aarch64+0x14> // b.none
- .long 0x9100212a // add x10, x9, #0x8
- .long 0x0d606940 // ld4 {v0.h-v3.h}[1], [x10]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fff843 // b.cc 1d2c <_sk_load_tables_u16_be_aarch64+0x14> // b.lo, b.ul, b.last
- .long 0x91004129 // add x9, x9, #0x10
- .long 0x0d607120 // ld4 {v0.h-v3.h}[2], [x9]
- .long 0x17ffffbf // b 1d2c <_sk_load_tables_u16_be_aarch64+0x14>
-
-HIDDEN _sk_load_tables_rgb_u16_be_aarch64
-.globl _sk_load_tables_rgb_u16_be_aarch64
-FUNCTION(_sk_load_tables_rgb_u16_be_aarch64)
-_sk_load_tables_rgb_u16_be_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x321f07ea // orr w10, wzr, #0x6
- .long 0xf9400109 // ldr x9, [x8]
- .long 0x9b0a2449 // madd x9, x2, x10, x9
- .long 0xb5000664 // cbnz x4, 1f10 <_sk_load_tables_rgb_u16_be_aarch64+0xdc>
- .long 0x0c404520 // ld3 {v0.4h-v2.4h}, [x9]
- .long 0xa940a909 // ldp x9, x10, [x8, #8]
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x2f10a403 // uxtl v3.4s, v0.4h
- .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8
- .long 0xf9400d0b // ldr x11, [x8, #24]
- .long 0x0e0c3c68 // mov w8, v3.s[1]
- .long 0x0e143c6c // mov w12, v3.s[2]
- .long 0x0e1c3c6d // mov w13, v3.s[3]
- .long 0x1e26006e // fmov w14, s3
- .long 0x2f10a423 // uxtl v3.4s, v1.4h
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0xbc6c5930 // ldr s16, [x9, w12, uxtw #2]
- .long 0xbc6d5931 // ldr s17, [x9, w13, uxtw #2]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x1e260069 // fmov w9, s3
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x8b294949 // add x9, x10, w9, uxtw #2
- .long 0x0d4081c0 // ld1 {v0.s}[0], [x14]
- .long 0x0e143c4e // mov w14, v2.s[2]
- .long 0x0d408121 // ld1 {v1.s}[0], [x9]
- .long 0xbc6e5972 // ldr s18, [x11, w14, uxtw #2]
- .long 0x1e26004e // fmov w14, s2
- .long 0x0e0c3c6f // mov w15, v3.s[1]
- .long 0x0e143c6c // mov w12, v3.s[2]
- .long 0x8b2e496e // add x14, x11, w14, uxtw #2
- .long 0x0e1c3c6d // mov w13, v3.s[3]
- .long 0xbc6c5943 // ldr s3, [x10, w12, uxtw #2]
- .long 0x0e0c3c4c // mov w12, v2.s[1]
- .long 0x0e1c3c49 // mov w9, v2.s[3]
- .long 0x0d4081c2 // ld1 {v2.s}[0], [x14]
- .long 0x0d409100 // ld1 {v0.s}[1], [x8]
- .long 0x8b2f4948 // add x8, x10, w15, uxtw #2
- .long 0x0d409101 // ld1 {v1.s}[1], [x8]
- .long 0x8b2c4968 // add x8, x11, w12, uxtw #2
- .long 0x0d409102 // ld1 {v2.s}[1], [x8]
- .long 0x6e140600 // mov v0.s[2], v16.s[0]
- .long 0xbc6d5950 // ldr s16, [x10, w13, uxtw #2]
- .long 0x6e140461 // mov v1.s[2], v3.s[0]
- .long 0xbc695963 // ldr s3, [x11, w9, uxtw #2]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e140642 // mov v2.s[2], v18.s[0]
- .long 0x6e1c0620 // mov v0.s[3], v17.s[0]
- .long 0x6e1c0601 // mov v1.s[3], v16.s[0]
- .long 0x6e1c0462 // mov v2.s[3], v3.s[0]
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x0d406120 // ld3 {v0.h-v2.h}[0], [x9]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fff9a0 // b.eq 1e4c <_sk_load_tables_rgb_u16_be_aarch64+0x18> // b.none
- .long 0x9100192a // add x10, x9, #0x6
- .long 0x0d406940 // ld3 {v0.h-v2.h}[1], [x10]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fff923 // b.cc 1e4c <_sk_load_tables_rgb_u16_be_aarch64+0x18> // b.lo, b.ul, b.last
- .long 0x91003129 // add x9, x9, #0xc
- .long 0x0d407120 // ld3 {v0.h-v2.h}[2], [x9]
- .long 0x17ffffc6 // b 1e4c <_sk_load_tables_rgb_u16_be_aarch64+0x18>
-
-HIDDEN _sk_byte_tables_aarch64
-.globl _sk_byte_tables_aarch64
-FUNCTION(_sk_byte_tables_aarch64)
-_sk_byte_tables_aarch64:
- .long 0xd10103ff // sub sp, sp, #0x40
- .long 0xaa0103e8 // mov x8, x1
- .long 0x91002109 // add x9, x8, #0x8
- .long 0xa9015ff8 // stp x24, x23, [sp, #16]
- .long 0xa90257f6 // stp x22, x21, [sp, #32]
- .long 0xa9034ff4 // stp x20, x19, [sp, #48]
- .long 0xf90007e9 // str x9, [sp, #8]
- .long 0xf8410429 // ldr x9, [x1], #16
- .long 0x52a86fea // mov w10, #0x437f0000
- .long 0x4e040d51 // dup v17.4s, w10
- .long 0x52a7700b // mov w11, #0x3b800000
- .long 0xa9405d34 // ldp x20, x23, [x9]
- .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s
- .long 0x7290102b // movk w11, #0x8081
- .long 0x6e21a800 // fcvtnu v0.4s, v0.4s
- .long 0x4e040d70 // dup v16.4s, w11
- .long 0x0e0c3c0a // mov w10, v0.s[1]
- .long 0x0e143c0b // mov w11, v0.s[2]
- .long 0x0e1c3c0c // mov w12, v0.s[3]
- .long 0x1e26000d // fmov w13, s0
- .long 0x386d4a8d // ldrb w13, [x20, w13, uxtw]
- .long 0x386a4a8a // ldrb w10, [x20, w10, uxtw]
- .long 0x386b4a8b // ldrb w11, [x20, w11, uxtw]
- .long 0x386c4a8c // ldrb w12, [x20, w12, uxtw]
- .long 0xa9412534 // ldp x20, x9, [x9, #16]
- .long 0x6e31dc42 // fmul v2.4s, v2.4s, v17.4s
- .long 0x6e31dc21 // fmul v1.4s, v1.4s, v17.4s
- .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s
- .long 0x6e21a842 // fcvtnu v2.4s, v2.4s
- .long 0x6e21a821 // fcvtnu v1.4s, v1.4s
- .long 0x6e21a863 // fcvtnu v3.4s, v3.4s
- .long 0x0e0c3c45 // mov w5, v2.s[1]
- .long 0x0e143c46 // mov w6, v2.s[2]
- .long 0x0e1c3c47 // mov w7, v2.s[3]
- .long 0x1e260053 // fmov w19, s2
- .long 0x1e260031 // fmov w17, s1
- .long 0x38734a93 // ldrb w19, [x20, w19, uxtw]
- .long 0x38654a85 // ldrb w5, [x20, w5, uxtw]
- .long 0x38664a86 // ldrb w6, [x20, w6, uxtw]
- .long 0x38674a87 // ldrb w7, [x20, w7, uxtw]
- .long 0x1e260074 // fmov w20, s3
- .long 0x0e0c3c2e // mov w14, v1.s[1]
- .long 0x0e0c3c75 // mov w21, v3.s[1]
- .long 0x38714af1 // ldrb w17, [x23, w17, uxtw]
- .long 0x38744934 // ldrb w20, [x9, w20, uxtw]
- .long 0x0e143c2f // mov w15, v1.s[2]
- .long 0x0e1c3c30 // mov w16, v1.s[3]
- .long 0x0e143c76 // mov w22, v3.s[2]
- .long 0x386e4aee // ldrb w14, [x23, w14, uxtw]
- .long 0x38754935 // ldrb w21, [x9, w21, uxtw]
- .long 0x386f4aef // ldrb w15, [x23, w15, uxtw]
- .long 0x38704af0 // ldrb w16, [x23, w16, uxtw]
- .long 0x0e1c3c77 // mov w23, v3.s[3]
- .long 0x38764936 // ldrb w22, [x9, w22, uxtw]
- .long 0x38774929 // ldrb w9, [x9, w23, uxtw]
- .long 0x4e021da0 // mov v0.h[0], w13
- .long 0x4e021e21 // mov v1.h[0], w17
- .long 0x4e021e62 // mov v2.h[0], w19
- .long 0x4e021e83 // mov v3.h[0], w20
- .long 0x4e061d40 // mov v0.h[1], w10
- .long 0x4e061dc1 // mov v1.h[1], w14
- .long 0x4e061ca2 // mov v2.h[1], w5
- .long 0x4e061ea3 // mov v3.h[1], w21
- .long 0x4e0a1d60 // mov v0.h[2], w11
- .long 0x4e0a1de1 // mov v1.h[2], w15
- .long 0x4e0a1cc2 // mov v2.h[2], w6
- .long 0x4e0a1ec3 // mov v3.h[2], w22
- .long 0x4e0e1d80 // mov v0.h[3], w12
- .long 0x4e0e1e01 // mov v1.h[3], w16
- .long 0x4e0e1ce2 // mov v2.h[3], w7
- .long 0x4e0e1d23 // mov v3.h[3], w9
- .long 0xf9400505 // ldr x5, [x8, #8]
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0x2f07b7e3 // bic v3.4h, #0xff, lsl #8
- .long 0xa9434ff4 // ldp x20, x19, [sp, #48]
- .long 0xa94257f6 // ldp x22, x21, [sp, #32]
- .long 0xa9415ff8 // ldp x24, x23, [sp, #16]
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x2f10a421 // uxtl v1.4s, v1.4h
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x2f10a463 // uxtl v3.4s, v3.4h
- .long 0x6e21d800 // ucvtf v0.4s, v0.4s
- .long 0x6e21d821 // ucvtf v1.4s, v1.4s
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6e21d863 // ucvtf v3.4s, v3.4s
- .long 0x6e30dc00 // fmul v0.4s, v0.4s, v16.4s
- .long 0x6e30dc21 // fmul v1.4s, v1.4s, v16.4s
- .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s
- .long 0x6e30dc63 // fmul v3.4s, v3.4s, v16.4s
- .long 0x910103ff // add sp, sp, #0x40
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_byte_tables_rgb_aarch64
-.globl _sk_byte_tables_rgb_aarch64
-FUNCTION(_sk_byte_tables_rgb_aarch64)
-_sk_byte_tables_rgb_aarch64:
- .long 0xa9bf4ff4 // stp x20, x19, [sp, #-16]!
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x52a77009 // mov w9, #0x3b800000
- .long 0x72901029 // movk w9, #0x8081
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0xb9401909 // ldr w9, [x8, #24]
- .long 0xa9402d0a // ldp x10, x11, [x8]
- .long 0xf9400908 // ldr x8, [x8, #16]
- .long 0x51000529 // sub w9, w9, #0x1
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e21da31 // scvtf v17.4s, v17.4s
- .long 0x6e21de21 // fmul v1.4s, v17.4s, v1.4s
- .long 0x6e20de20 // fmul v0.4s, v17.4s, v0.4s
- .long 0x6e22de22 // fmul v2.4s, v17.4s, v2.4s
- .long 0x6e21a821 // fcvtnu v1.4s, v1.4s
- .long 0x6e21a800 // fcvtnu v0.4s, v0.4s
- .long 0x6e21a842 // fcvtnu v2.4s, v2.4s
- .long 0x0e0c3c2f // mov w15, v1.s[1]
- .long 0x0e143c30 // mov w16, v1.s[2]
- .long 0x0e1c3c31 // mov w17, v1.s[3]
- .long 0x1e260026 // fmov w6, s1
- .long 0x1e26000e // fmov w14, s0
- .long 0x38664966 // ldrb w6, [x11, w6, uxtw]
- .long 0x386f496f // ldrb w15, [x11, w15, uxtw]
- .long 0x38704970 // ldrb w16, [x11, w16, uxtw]
- .long 0x3871496b // ldrb w11, [x11, w17, uxtw]
- .long 0x1e260051 // fmov w17, s2
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x386e494e // ldrb w14, [x10, w14, uxtw]
- .long 0x0e0c3c47 // mov w7, v2.s[1]
- .long 0x38714911 // ldrb w17, [x8, w17, uxtw]
- .long 0x0e143c0c // mov w12, v0.s[2]
- .long 0x0e1c3c0d // mov w13, v0.s[3]
- .long 0x0e143c53 // mov w19, v2.s[2]
- .long 0x38694949 // ldrb w9, [x10, w9, uxtw]
- .long 0x38674907 // ldrb w7, [x8, w7, uxtw]
- .long 0x386c494c // ldrb w12, [x10, w12, uxtw]
- .long 0x386d494a // ldrb w10, [x10, w13, uxtw]
- .long 0x0e1c3c4d // mov w13, v2.s[3]
- .long 0x38734913 // ldrb w19, [x8, w19, uxtw]
- .long 0x386d4908 // ldrb w8, [x8, w13, uxtw]
- .long 0x4e021dc0 // mov v0.h[0], w14
- .long 0x4e021cc1 // mov v1.h[0], w6
- .long 0x4e021e22 // mov v2.h[0], w17
- .long 0x4e061d20 // mov v0.h[1], w9
- .long 0x4e061de1 // mov v1.h[1], w15
- .long 0x4e061ce2 // mov v2.h[1], w7
- .long 0x4e0a1d80 // mov v0.h[2], w12
- .long 0x4e0a1e01 // mov v1.h[2], w16
- .long 0x4e0a1e62 // mov v2.h[2], w19
- .long 0x4e0e1d40 // mov v0.h[3], w10
- .long 0x4e0e1d61 // mov v1.h[3], w11
- .long 0x4e0e1d02 // mov v2.h[3], w8
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x2f10a421 // uxtl v1.4s, v1.4h
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x6e21d800 // ucvtf v0.4s, v0.4s
- .long 0x6e21d821 // ucvtf v1.4s, v1.4s
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6e30dc00 // fmul v0.4s, v0.4s, v16.4s
- .long 0x6e30dc21 // fmul v1.4s, v1.4s, v16.4s
- .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s
- .long 0xa8c14ff4 // ldp x20, x19, [sp], #16
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_table_r_aarch64
-.globl _sk_table_r_aarch64
-FUNCTION(_sk_table_r_aarch64)
-_sk_table_r_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x51000529 // sub w9, w9, #0x1
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s
- .long 0x6e21a810 // fcvtnu v16.4s, v0.4s
- .long 0x1e26020b // fmov w11, s16
- .long 0x8b2b490b // add x11, x8, w11, uxtw #2
- .long 0x0d408160 // ld1 {v0.s}[0], [x11]
- .long 0x0e0c3e09 // mov w9, v16.s[1]
- .long 0x0e143e0a // mov w10, v16.s[2]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0x0e1c3e0b // mov w11, v16.s[3]
- .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2]
- .long 0x0d409120 // ld1 {v0.s}[1], [x9]
- .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2]
- .long 0x6e140600 // mov v0.s[2], v16.s[0]
- .long 0x6e1c0620 // mov v0.s[3], v17.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_table_g_aarch64
-.globl _sk_table_g_aarch64
-FUNCTION(_sk_table_g_aarch64)
-_sk_table_g_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x51000529 // sub w9, w9, #0x1
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s
- .long 0x6e21a830 // fcvtnu v16.4s, v1.4s
- .long 0x1e26020b // fmov w11, s16
- .long 0x8b2b490b // add x11, x8, w11, uxtw #2
- .long 0x0d408161 // ld1 {v1.s}[0], [x11]
- .long 0x0e0c3e09 // mov w9, v16.s[1]
- .long 0x0e143e0a // mov w10, v16.s[2]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0x0e1c3e0b // mov w11, v16.s[3]
- .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2]
- .long 0x0d409121 // ld1 {v1.s}[1], [x9]
- .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2]
- .long 0x6e140601 // mov v1.s[2], v16.s[0]
- .long 0x6e1c0621 // mov v1.s[3], v17.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_table_b_aarch64
-.globl _sk_table_b_aarch64
-FUNCTION(_sk_table_b_aarch64)
-_sk_table_b_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x51000529 // sub w9, w9, #0x1
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x6e21a850 // fcvtnu v16.4s, v2.4s
- .long 0x1e26020b // fmov w11, s16
- .long 0x8b2b490b // add x11, x8, w11, uxtw #2
- .long 0x0d408162 // ld1 {v2.s}[0], [x11]
- .long 0x0e0c3e09 // mov w9, v16.s[1]
- .long 0x0e143e0a // mov w10, v16.s[2]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0x0e1c3e0b // mov w11, v16.s[3]
- .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2]
- .long 0x0d409122 // ld1 {v2.s}[1], [x9]
- .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2]
- .long 0x6e140602 // mov v2.s[2], v16.s[0]
- .long 0x6e1c0622 // mov v2.s[3], v17.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_table_a_aarch64
-.globl _sk_table_a_aarch64
-FUNCTION(_sk_table_a_aarch64)
-_sk_table_a_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x51000529 // sub w9, w9, #0x1
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s
- .long 0x6e21a870 // fcvtnu v16.4s, v3.4s
- .long 0x1e26020b // fmov w11, s16
- .long 0x8b2b490b // add x11, x8, w11, uxtw #2
- .long 0x0d408163 // ld1 {v3.s}[0], [x11]
- .long 0x0e0c3e09 // mov w9, v16.s[1]
- .long 0x0e143e0a // mov w10, v16.s[2]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0x0e1c3e0b // mov w11, v16.s[3]
- .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2]
- .long 0x0d409123 // ld1 {v3.s}[1], [x9]
- .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2]
- .long 0x6e140603 // mov v3.s[2], v16.s[0]
- .long 0x6e1c0623 // mov v3.s[3], v17.s[0]
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_parametric_r_aarch64
-.globl _sk_parametric_r_aarch64
-FUNCTION(_sk_parametric_r_aarch64)
-_sk_parametric_r_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f016696 // movi v22.4s, #0x34, lsl #24
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x9100610a // add x10, x8, #0x18
- .long 0x4d40c932 // ld1r {v18.4s}, [x9]
- .long 0xaa0803e9 // mov x9, x8
- .long 0xbd400d11 // ldr s17, [x8, #12]
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4
- .long 0x9100210a // add x10, x8, #0x8
- .long 0x4d40c954 // ld1r {v20.4s}, [x10]
- .long 0x4f911010 // fmla v16.4s, v0.4s, v17.s[0]
- .long 0xbd400135 // ldr s21, [x9]
- .long 0x52b85f09 // mov w9, #0xc2f80000
- .long 0x728e6ee9 // movk w9, #0x7377
- .long 0x4e040d37 // dup v23.4s, w9
- .long 0x52a7f7e9 // mov w9, #0x3fbf0000
- .long 0x7297eea9 // movk w9, #0xbf75
- .long 0x4f951014 // fmla v20.4s, v0.4s, v21.s[0]
- .long 0x6e20e640 // fcmge v0.4s, v18.4s, v0.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a7d689 // mov w9, #0x3eb40000
- .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16
- .long 0x72889f29 // movk w9, #0x44f9
- .long 0x4e21da95 // scvtf v21.4s, v20.4s
- .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7fb89 // mov w9, #0x3fdc0000
- .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s
- .long 0x729d3469 // movk w9, #0xe9a3
- .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24
- .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a85e49 // mov w9, #0x42f20000
- .long 0x72918a29 // movk w9, #0x8c51
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7f7c9 // mov w9, #0x3fbe0000
- .long 0x729791a9 // movk w9, #0xbc8d
- .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a81349 // mov w9, #0x409a0000
- .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s
- .long 0x729ebf09 // movk w9, #0xf5f8
- .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x52a83ba9 // mov w9, #0x41dd0000
- .long 0x4e219a33 // frintm v19.4s, v17.4s
- .long 0x729a5fc9 // movk w9, #0xd2fe
- .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s
- .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s
- .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s
- .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x91005108 // add x8, x8, #0x14
- .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s
- .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s
- .long 0x4d40c914 // ld1r {v20.4s}, [x8]
- .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24
- .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x6f00e412 // movi v18.2d, #0x0
- .long 0x6e711e00 // bsl v0.16b, v16.16b, v17.16b
- .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00
- .long 0x4e32f400 // fmax v0.4s, v0.4s, v18.4s
- .long 0x4eb5f400 // fmin v0.4s, v0.4s, v21.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_parametric_g_aarch64
-.globl _sk_parametric_g_aarch64
-FUNCTION(_sk_parametric_g_aarch64)
-_sk_parametric_g_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f016696 // movi v22.4s, #0x34, lsl #24
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x9100610a // add x10, x8, #0x18
- .long 0x4d40c932 // ld1r {v18.4s}, [x9]
- .long 0xaa0803e9 // mov x9, x8
- .long 0xbd400d11 // ldr s17, [x8, #12]
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4
- .long 0x9100210a // add x10, x8, #0x8
- .long 0x4d40c954 // ld1r {v20.4s}, [x10]
- .long 0x4f911030 // fmla v16.4s, v1.4s, v17.s[0]
- .long 0xbd400135 // ldr s21, [x9]
- .long 0x52b85f09 // mov w9, #0xc2f80000
- .long 0x728e6ee9 // movk w9, #0x7377
- .long 0x4e040d37 // dup v23.4s, w9
- .long 0x52a7f7e9 // mov w9, #0x3fbf0000
- .long 0x7297eea9 // movk w9, #0xbf75
- .long 0x4f951034 // fmla v20.4s, v1.4s, v21.s[0]
- .long 0x6e21e641 // fcmge v1.4s, v18.4s, v1.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a7d689 // mov w9, #0x3eb40000
- .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16
- .long 0x72889f29 // movk w9, #0x44f9
- .long 0x4e21da95 // scvtf v21.4s, v20.4s
- .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7fb89 // mov w9, #0x3fdc0000
- .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s
- .long 0x729d3469 // movk w9, #0xe9a3
- .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24
- .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a85e49 // mov w9, #0x42f20000
- .long 0x72918a29 // movk w9, #0x8c51
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7f7c9 // mov w9, #0x3fbe0000
- .long 0x729791a9 // movk w9, #0xbc8d
- .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a81349 // mov w9, #0x409a0000
- .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s
- .long 0x729ebf09 // movk w9, #0xf5f8
- .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x52a83ba9 // mov w9, #0x41dd0000
- .long 0x4e219a33 // frintm v19.4s, v17.4s
- .long 0x729a5fc9 // movk w9, #0xd2fe
- .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s
- .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s
- .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s
- .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x91005108 // add x8, x8, #0x14
- .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s
- .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s
- .long 0x4d40c914 // ld1r {v20.4s}, [x8]
- .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24
- .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x6f00e412 // movi v18.2d, #0x0
- .long 0x6e711e01 // bsl v1.16b, v16.16b, v17.16b
- .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00
- .long 0x4e32f421 // fmax v1.4s, v1.4s, v18.4s
- .long 0x4eb5f421 // fmin v1.4s, v1.4s, v21.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_parametric_b_aarch64
-.globl _sk_parametric_b_aarch64
-FUNCTION(_sk_parametric_b_aarch64)
-_sk_parametric_b_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f016696 // movi v22.4s, #0x34, lsl #24
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x9100610a // add x10, x8, #0x18
- .long 0x4d40c932 // ld1r {v18.4s}, [x9]
- .long 0xaa0803e9 // mov x9, x8
- .long 0xbd400d11 // ldr s17, [x8, #12]
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4
- .long 0x9100210a // add x10, x8, #0x8
- .long 0x4d40c954 // ld1r {v20.4s}, [x10]
- .long 0x4f911050 // fmla v16.4s, v2.4s, v17.s[0]
- .long 0xbd400135 // ldr s21, [x9]
- .long 0x52b85f09 // mov w9, #0xc2f80000
- .long 0x728e6ee9 // movk w9, #0x7377
- .long 0x4e040d37 // dup v23.4s, w9
- .long 0x52a7f7e9 // mov w9, #0x3fbf0000
- .long 0x7297eea9 // movk w9, #0xbf75
- .long 0x4f951054 // fmla v20.4s, v2.4s, v21.s[0]
- .long 0x6e22e642 // fcmge v2.4s, v18.4s, v2.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a7d689 // mov w9, #0x3eb40000
- .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16
- .long 0x72889f29 // movk w9, #0x44f9
- .long 0x4e21da95 // scvtf v21.4s, v20.4s
- .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7fb89 // mov w9, #0x3fdc0000
- .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s
- .long 0x729d3469 // movk w9, #0xe9a3
- .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24
- .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a85e49 // mov w9, #0x42f20000
- .long 0x72918a29 // movk w9, #0x8c51
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7f7c9 // mov w9, #0x3fbe0000
- .long 0x729791a9 // movk w9, #0xbc8d
- .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a81349 // mov w9, #0x409a0000
- .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s
- .long 0x729ebf09 // movk w9, #0xf5f8
- .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x52a83ba9 // mov w9, #0x41dd0000
- .long 0x4e219a33 // frintm v19.4s, v17.4s
- .long 0x729a5fc9 // movk w9, #0xd2fe
- .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s
- .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s
- .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s
- .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x91005108 // add x8, x8, #0x14
- .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s
- .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s
- .long 0x4d40c914 // ld1r {v20.4s}, [x8]
- .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24
- .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x6f00e412 // movi v18.2d, #0x0
- .long 0x6e711e02 // bsl v2.16b, v16.16b, v17.16b
- .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00
- .long 0x4e32f442 // fmax v2.4s, v2.4s, v18.4s
- .long 0x4eb5f442 // fmin v2.4s, v2.4s, v21.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_parametric_a_aarch64
-.globl _sk_parametric_a_aarch64
-FUNCTION(_sk_parametric_a_aarch64)
-_sk_parametric_a_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f016696 // movi v22.4s, #0x34, lsl #24
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x9100610a // add x10, x8, #0x18
- .long 0x4d40c932 // ld1r {v18.4s}, [x9]
- .long 0xaa0803e9 // mov x9, x8
- .long 0xbd400d11 // ldr s17, [x8, #12]
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4
- .long 0x9100210a // add x10, x8, #0x8
- .long 0x4d40c954 // ld1r {v20.4s}, [x10]
- .long 0x4f911070 // fmla v16.4s, v3.4s, v17.s[0]
- .long 0xbd400135 // ldr s21, [x9]
- .long 0x52b85f09 // mov w9, #0xc2f80000
- .long 0x728e6ee9 // movk w9, #0x7377
- .long 0x4e040d37 // dup v23.4s, w9
- .long 0x52a7f7e9 // mov w9, #0x3fbf0000
- .long 0x7297eea9 // movk w9, #0xbf75
- .long 0x4f951074 // fmla v20.4s, v3.4s, v21.s[0]
- .long 0x6e23e643 // fcmge v3.4s, v18.4s, v3.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a7d689 // mov w9, #0x3eb40000
- .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16
- .long 0x72889f29 // movk w9, #0x44f9
- .long 0x4e21da95 // scvtf v21.4s, v20.4s
- .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7fb89 // mov w9, #0x3fdc0000
- .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s
- .long 0x729d3469 // movk w9, #0xe9a3
- .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24
- .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a85e49 // mov w9, #0x42f20000
- .long 0x72918a29 // movk w9, #0x8c51
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a7f7c9 // mov w9, #0x3fbe0000
- .long 0x729791a9 // movk w9, #0xbc8d
- .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x52a81349 // mov w9, #0x409a0000
- .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s
- .long 0x729ebf09 // movk w9, #0xf5f8
- .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x52a83ba9 // mov w9, #0x41dd0000
- .long 0x4e219a33 // frintm v19.4s, v17.4s
- .long 0x729a5fc9 // movk w9, #0xd2fe
- .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s
- .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s
- .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s
- .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s
- .long 0x4e040d35 // dup v21.4s, w9
- .long 0x91005108 // add x8, x8, #0x14
- .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s
- .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s
- .long 0x4d40c914 // ld1r {v20.4s}, [x8]
- .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24
- .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s
- .long 0x6f00e412 // movi v18.2d, #0x0
- .long 0x6e711e03 // bsl v3.16b, v16.16b, v17.16b
- .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00
- .long 0x4e32f463 // fmax v3.4s, v3.4s, v18.4s
- .long 0x4eb5f463 // fmin v3.4s, v3.4s, v21.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_gamma_aarch64
-.globl _sk_gamma_aarch64
-FUNCTION(_sk_gamma_aarch64)
-_sk_gamma_aarch64:
- .long 0x52b85f08 // mov w8, #0xc2f80000
- .long 0x728e6ee8 // movk w8, #0x7377
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x52a7d688 // mov w8, #0x3eb40000
- .long 0x72889f28 // movk w8, #0x44f9
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a85e48 // mov w8, #0x42f20000
- .long 0x72918a28 // movk w8, #0x8c51
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a81348 // mov w8, #0x409a0000
- .long 0x729ebf08 // movk w8, #0xf5f8
- .long 0x4e040d15 // dup v21.4s, w8
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x52a7f7e9 // mov w9, #0x3fbf0000
- .long 0x4f01669a // movi v26.4s, #0x34, lsl #24
- .long 0x4e21d85b // scvtf v27.4s, v2.4s
- .long 0x7297eea9 // movk w9, #0xbf75
- .long 0x4eb01e1c // mov v28.16b, v16.16b
- .long 0x4eb01e1d // mov v29.16b, v16.16b
- .long 0x4e3bcf50 // fmla v16.4s, v26.4s, v27.4s
- .long 0x4f03d7fb // movi v27.4s, #0x7f, msl #16
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x52a7fb89 // mov w9, #0x3fdc0000
- .long 0x4e21d819 // scvtf v25.4s, v0.4s
- .long 0x4e3b1c00 // and v0.16b, v0.16b, v27.16b
- .long 0x4e3b1c42 // and v2.16b, v2.16b, v27.16b
- .long 0x4e3b1c3b // and v27.16b, v1.16b, v27.16b
- .long 0x729d3469 // movk w9, #0xe9a3
- .long 0xbd400118 // ldr s24, [x8]
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x4f0177e0 // orr v0.4s, #0x3f, lsl #24
- .long 0x4f0177fb // orr v27.4s, #0x3f, lsl #24
- .long 0x4f0177e2 // orr v2.4s, #0x3f, lsl #24
- .long 0x4e040d37 // dup v23.4s, w9
- .long 0x4e39cf5c // fmla v28.4s, v26.4s, v25.4s
- .long 0x4e21cf5d // fmla v29.4s, v26.4s, v1.4s
- .long 0x4e32d401 // fadd v1.4s, v0.4s, v18.4s
- .long 0x4e32d77a // fadd v26.4s, v27.4s, v18.4s
- .long 0x4eb1cc50 // fmls v16.4s, v2.4s, v17.4s
- .long 0x4e32d442 // fadd v2.4s, v2.4s, v18.4s
- .long 0x4eb1cc1c // fmls v28.4s, v0.4s, v17.4s
- .long 0x6e21fee0 // fdiv v0.4s, v23.4s, v1.4s
- .long 0x4eb1cf7d // fmls v29.4s, v27.4s, v17.4s
- .long 0x6e3afee1 // fdiv v1.4s, v23.4s, v26.4s
- .long 0x6e22fee2 // fdiv v2.4s, v23.4s, v2.4s
- .long 0x52a7f7c9 // mov w9, #0x3fbe0000
- .long 0x4ea0d780 // fsub v0.4s, v28.4s, v0.4s
- .long 0x4ea1d7a1 // fsub v1.4s, v29.4s, v1.4s
- .long 0x4ea2d602 // fsub v2.4s, v16.4s, v2.4s
- .long 0x729791a9 // movk w9, #0xbc8d
- .long 0x4f989000 // fmul v0.4s, v0.4s, v24.s[0]
- .long 0x4f989021 // fmul v1.4s, v1.4s, v24.s[0]
- .long 0x4f989042 // fmul v2.4s, v2.4s, v24.s[0]
- .long 0x4e040d34 // dup v20.4s, w9
- .long 0x52a83ba9 // mov w9, #0x41dd0000
- .long 0x4e219810 // frintm v16.4s, v0.4s
- .long 0x4e219832 // frintm v18.4s, v1.4s
- .long 0x4e219858 // frintm v24.4s, v2.4s
- .long 0x729a5fc9 // movk w9, #0xd2fe
- .long 0x4e33d411 // fadd v17.4s, v0.4s, v19.4s
- .long 0x4e33d437 // fadd v23.4s, v1.4s, v19.4s
- .long 0x4e33d453 // fadd v19.4s, v2.4s, v19.4s
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x4eb8d442 // fsub v2.4s, v2.4s, v24.4s
- .long 0x4e040d36 // dup v22.4s, w9
- .long 0x4eb4cc11 // fmls v17.4s, v0.4s, v20.4s
- .long 0x4ea0d6a0 // fsub v0.4s, v21.4s, v0.4s
- .long 0x4eb4cc37 // fmls v23.4s, v1.4s, v20.4s
- .long 0x4ea1d6a1 // fsub v1.4s, v21.4s, v1.4s
- .long 0x4eb4cc53 // fmls v19.4s, v2.4s, v20.4s
- .long 0x4ea2d6a2 // fsub v2.4s, v21.4s, v2.4s
- .long 0x6e20fec0 // fdiv v0.4s, v22.4s, v0.4s
- .long 0x6e21fec1 // fdiv v1.4s, v22.4s, v1.4s
- .long 0x6e22fec2 // fdiv v2.4s, v22.4s, v2.4s
- .long 0x4f026579 // movi v25.4s, #0x4b, lsl #24
- .long 0x4e20d620 // fadd v0.4s, v17.4s, v0.4s
- .long 0x4e21d6e1 // fadd v1.4s, v23.4s, v1.4s
- .long 0x4e22d662 // fadd v2.4s, v19.4s, v2.4s
- .long 0x6e39dc00 // fmul v0.4s, v0.4s, v25.4s
- .long 0x6e39dc21 // fmul v1.4s, v1.4s, v25.4s
- .long 0x6e39dc42 // fmul v2.4s, v2.4s, v25.4s
- .long 0x6e21a800 // fcvtnu v0.4s, v0.4s
- .long 0x6e21a821 // fcvtnu v1.4s, v1.4s
- .long 0x6e21a842 // fcvtnu v2.4s, v2.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_lab_to_xyz_aarch64
-.globl _sk_lab_to_xyz_aarch64
-FUNCTION(_sk_lab_to_xyz_aarch64)
-_sk_lab_to_xyz_aarch64:
- .long 0x52a85908 // mov w8, #0x42c80000
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x52a86fe8 // mov w8, #0x437f0000
- .long 0x4f066471 // movi v17.4s, #0xc3, lsl #24
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a781a8 // mov w8, #0x3c0d0000
- .long 0x7287b968 // movk w8, #0x3dcb
- .long 0x4eb11e34 // mov v20.16b, v17.16b
- .long 0x4e21ce74 // fmla v20.4s, v19.4s, v1.4s
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x52a76068 // mov w8, #0x3b030000
- .long 0x72824de8 // movk w8, #0x126f
- .long 0x4e22ce71 // fmla v17.4s, v19.4s, v2.4s
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x52a77468 // mov w8, #0x3ba30000
- .long 0x729ae148 // movk w8, #0xd70a
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52a78228 // mov w8, #0x3c110000
- .long 0x4f01f612 // fmov v18.4s, #1.600000000000000000e+01
- .long 0x72831848 // movk w8, #0x18c2
- .long 0x4e20ce12 // fmla v18.4s, v16.4s, v0.4s
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x52b7c1a8 // mov w8, #0xbe0d0000
- .long 0x7287b968 // movk w8, #0x3dcb
- .long 0x6e21de41 // fmul v1.4s, v18.4s, v1.4s
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x52a7c068 // mov w8, #0x3e030000
- .long 0x4ea11c32 // mov v18.16b, v1.16b
- .long 0x72900a08 // movk w8, #0x8050
- .long 0x4eb3ce32 // fmls v18.4s, v17.4s, v19.4s
- .long 0x6e21dc31 // fmul v17.4s, v1.4s, v1.4s
- .long 0x4ea11c35 // mov v21.16b, v1.16b
- .long 0x4e30d433 // fadd v19.4s, v1.4s, v16.4s
- .long 0x6e31dc31 // fmul v17.4s, v1.4s, v17.4s
- .long 0x4e34cc55 // fmla v21.4s, v2.4s, v20.4s
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x6e22de73 // fmul v19.4s, v19.4s, v2.4s
- .long 0x6ea0e621 // fcmgt v1.4s, v17.4s, v0.4s
- .long 0x6e731e21 // bsl v1.16b, v17.16b, v19.16b
- .long 0x6e32de51 // fmul v17.4s, v18.4s, v18.4s
- .long 0x4e30d653 // fadd v19.4s, v18.4s, v16.4s
- .long 0x6e31de51 // fmul v17.4s, v18.4s, v17.4s
- .long 0x52a7eec8 // mov w8, #0x3f760000
- .long 0x6e22de72 // fmul v18.4s, v19.4s, v2.4s
- .long 0x6ea0e633 // fcmgt v19.4s, v17.4s, v0.4s
- .long 0x729ae3e8 // movk w8, #0xd71f
- .long 0x6e721e33 // bsl v19.16b, v17.16b, v18.16b
- .long 0x6e35deb2 // fmul v18.4s, v21.4s, v21.4s
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a7ea68 // mov w8, #0x3f530000
- .long 0x4e30d6b0 // fadd v16.4s, v21.4s, v16.4s
- .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x72881ec8 // movk w8, #0x40f6
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x6ea0e640 // fcmgt v0.4s, v18.4s, v0.4s
- .long 0x4e040d14 // dup v20.4s, w8
- .long 0x6e621e40 // bsl v0.16b, v18.16b, v2.16b
- .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s
- .long 0x6e34de62 // fmul v2.4s, v19.4s, v20.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_load_a8_aarch64
-.globl _sk_load_a8_aarch64
-FUNCTION(_sk_load_a8_aarch64)
-_sk_load_a8_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50002e4 // cbnz x4, 2a28 <_sk_load_a8_aarch64+0x74>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d22 // mov v2.h[0], w9
- .long 0x4e061d42 // mov v2.h[1], w10
- .long 0x4e0a1d62 // mov v2.h[2], w11
- .long 0x4e0e1d02 // mov v2.h[3], w8
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x4e040d03 // dup v3.4s, w8
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x6e23dc43 // fmul v3.4s, v2.4s, v3.4s
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 2a74 <_sk_load_a8_aarch64+0xc0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e402 // movi d2, #0x0
- .long 0x540000c0 // b.eq 2a54 <_sk_load_a8_aarch64+0xa0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd61 // b.ne 29f0 <_sk_load_a8_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020fe2 // dup v2.4h, wzr
- .long 0x4e0a1d22 // mov v2.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d20 // mov v0.s[0], w9
- .long 0x4e0c1d00 // mov v0.s[1], w8
- .long 0x0e401800 // uzp1 v0.4h, v0.4h, v0.4h
- .long 0x2e002040 // ext v0.8b, v2.8b, v0.8b, #4
- .long 0x2e002002 // ext v2.8b, v0.8b, v0.8b, #4
- .long 0x17ffffe0 // b 29f0 <_sk_load_a8_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020fe2 // dup v2.4h, wzr
- .long 0x4e021d02 // mov v2.h[0], w8
- .long 0x17ffffdc // b 29f0 <_sk_load_a8_aarch64+0x3c>
-
-HIDDEN _sk_load_a8_dst_aarch64
-.globl _sk_load_a8_dst_aarch64
-FUNCTION(_sk_load_a8_dst_aarch64)
-_sk_load_a8_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50002e4 // cbnz x4, 2af8 <_sk_load_a8_dst_aarch64+0x74>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d26 // mov v6.h[0], w9
- .long 0x4e061d46 // mov v6.h[1], w10
- .long 0x4e0a1d66 // mov v6.h[2], w11
- .long 0x4e0e1d06 // mov v6.h[3], w8
- .long 0x2f07b7e6 // bic v6.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x2f10a4c6 // uxtl v6.4s, v6.4h
- .long 0x4e040d07 // dup v7.4s, w8
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e21d8c6 // ucvtf v6.4s, v6.4s
- .long 0x6f00e404 // movi v4.2d, #0x0
- .long 0x6f00e405 // movi v5.2d, #0x0
- .long 0x6e27dcc7 // fmul v7.4s, v6.4s, v7.4s
- .long 0x6f00e406 // movi v6.2d, #0x0
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 2b44 <_sk_load_a8_dst_aarch64+0xc0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e406 // movi d6, #0x0
- .long 0x540000c0 // b.eq 2b24 <_sk_load_a8_dst_aarch64+0xa0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd61 // b.ne 2ac0 <_sk_load_a8_dst_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020fe6 // dup v6.4h, wzr
- .long 0x4e0a1d26 // mov v6.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d24 // mov v4.s[0], w9
- .long 0x4e0c1d04 // mov v4.s[1], w8
- .long 0x0e401884 // uzp1 v4.4h, v4.4h, v0.4h
- .long 0x2e0420c4 // ext v4.8b, v6.8b, v4.8b, #4
- .long 0x2e042086 // ext v6.8b, v4.8b, v4.8b, #4
- .long 0x17ffffe0 // b 2ac0 <_sk_load_a8_dst_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020fe6 // dup v6.4h, wzr
- .long 0x4e021d06 // mov v6.h[0], w8
- .long 0x17ffffdc // b 2ac0 <_sk_load_a8_dst_aarch64+0x3c>
-
-HIDDEN _sk_gather_a8_aarch64
-.globl _sk_gather_a8_aarch64
-FUNCTION(_sk_gather_a8_aarch64)
-_sk_gather_a8_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x52a77009 // mov w9, #0x3b800000
- .long 0x72901029 // movk w9, #0x8081
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x4e040d23 // dup v3.4s, w9
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x386c490c // ldrb w12, [x8, w12, uxtw]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x38694909 // ldrb w9, [x8, w9, uxtw]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x386a490a // ldrb w10, [x8, w10, uxtw]
- .long 0x386b4908 // ldrb w8, [x8, w11, uxtw]
- .long 0x4e021d82 // mov v2.h[0], w12
- .long 0x4e061d22 // mov v2.h[1], w9
- .long 0x4e0a1d42 // mov v2.h[2], w10
- .long 0x4e0e1d02 // mov v2.h[3], w8
- .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x6e23dc43 // fmul v3.4s, v2.4s, v3.4s
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_a8_aarch64
-.globl _sk_store_a8_aarch64
-FUNCTION(_sk_store_a8_aarch64)
-_sk_store_a8_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a86fe9 // mov w9, #0x437f0000
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x0e612a10 // xtn v16.4h, v16.4s
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb5000184 // cbnz x4, 2c28 <_sk_store_a8_aarch64+0x5c>
- .long 0x0e0e3e09 // umov w9, v16.h[3]
- .long 0x0e0a3e0a // umov w10, v16.h[2]
- .long 0x0e063e0b // umov w11, v16.h[1]
- .long 0x0e023e0c // umov w12, v16.h[0]
- .long 0x39000d09 // strb w9, [x8, #3]
- .long 0x3900090a // strb w10, [x8, #2]
- .long 0x3900050b // strb w11, [x8, #1]
- .long 0x3900010c // strb w12, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000180 // b.eq 2c60 <_sk_store_a8_aarch64+0x94> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 2c4c <_sk_store_a8_aarch64+0x80> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffee1 // b.ne 2c1c <_sk_store_a8_aarch64+0x50> // b.any
- .long 0x0e0a3e09 // umov w9, v16.h[2]
- .long 0x39000909 // strb w9, [x8, #2]
- .long 0x0e023e09 // umov w9, v16.h[0]
- .long 0x0e063e0a // umov w10, v16.h[1]
- .long 0x3900050a // strb w10, [x8, #1]
- .long 0x39000109 // strb w9, [x8]
- .long 0x17fffff0 // b 2c1c <_sk_store_a8_aarch64+0x50>
- .long 0x0e023e09 // umov w9, v16.h[0]
- .long 0x39000109 // strb w9, [x8]
- .long 0x17ffffed // b 2c1c <_sk_store_a8_aarch64+0x50>
-
-HIDDEN _sk_load_g8_aarch64
-.globl _sk_load_g8_aarch64
-FUNCTION(_sk_load_g8_aarch64)
-_sk_load_g8_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50002e4 // cbnz x4, 2ce0 <_sk_load_g8_aarch64+0x74>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d20 // mov v0.h[0], w9
- .long 0x4e061d40 // mov v0.h[1], w10
- .long 0x4e0a1d60 // mov v0.h[2], w11
- .long 0x4e0e1d00 // mov v0.h[3], w8
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x72901028 // movk w8, #0x8081
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x6e21d800 // ucvtf v0.4s, v0.4s
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e21dc00 // fmul v0.4s, v0.4s, v1.4s
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0x4ea01c01 // mov v1.16b, v0.16b
- .long 0x4ea01c02 // mov v2.16b, v0.16b
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 2d2c <_sk_load_g8_aarch64+0xc0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e400 // movi d0, #0x0
- .long 0x540000c0 // b.eq 2d0c <_sk_load_g8_aarch64+0xa0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd61 // b.ne 2ca8 <_sk_load_g8_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x4e0a1d20 // mov v0.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d21 // mov v1.s[0], w9
- .long 0x4e0c1d01 // mov v1.s[1], w8
- .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h
- .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4
- .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4
- .long 0x17ffffe0 // b 2ca8 <_sk_load_g8_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x4e021d00 // mov v0.h[0], w8
- .long 0x17ffffdc // b 2ca8 <_sk_load_g8_aarch64+0x3c>
-
-HIDDEN _sk_load_g8_dst_aarch64
-.globl _sk_load_g8_dst_aarch64
-FUNCTION(_sk_load_g8_dst_aarch64)
-_sk_load_g8_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x93407c6a // sxtw x10, w3
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xb9800908 // ldrsw x8, [x8, #8]
- .long 0x9b0a2508 // madd x8, x8, x10, x9
- .long 0x8b22c108 // add x8, x8, w2, sxtw
- .long 0xb50002e4 // cbnz x4, 2db0 <_sk_load_g8_dst_aarch64+0x74>
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x3940050a // ldrb w10, [x8, #1]
- .long 0x3940090b // ldrb w11, [x8, #2]
- .long 0x39400d08 // ldrb w8, [x8, #3]
- .long 0x4e021d24 // mov v4.h[0], w9
- .long 0x4e061d44 // mov v4.h[1], w10
- .long 0x4e0a1d64 // mov v4.h[2], w11
- .long 0x4e0e1d04 // mov v4.h[3], w8
- .long 0x2f07b7e4 // bic v4.4h, #0xff, lsl #8
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x72901028 // movk w8, #0x8081
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x2f10a484 // uxtl v4.4s, v4.4h
- .long 0x4e040d05 // dup v5.4s, w8
- .long 0x6e21d884 // ucvtf v4.4s, v4.4s
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e25dc84 // fmul v4.4s, v4.4s, v5.4s
- .long 0x4f03f607 // fmov v7.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0x4ea41c85 // mov v5.16b, v4.16b
- .long 0x4ea41c86 // mov v6.16b, v4.16b
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 2dfc <_sk_load_g8_dst_aarch64+0xc0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e404 // movi d4, #0x0
- .long 0x540000c0 // b.eq 2ddc <_sk_load_g8_dst_aarch64+0xa0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffd61 // b.ne 2d78 <_sk_load_g8_dst_aarch64+0x3c> // b.any
- .long 0x39400909 // ldrb w9, [x8, #2]
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x4e0a1d24 // mov v4.h[2], w9
- .long 0x39400109 // ldrb w9, [x8]
- .long 0x39400508 // ldrb w8, [x8, #1]
- .long 0x4e041d25 // mov v5.s[0], w9
- .long 0x4e0c1d05 // mov v5.s[1], w8
- .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h
- .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4
- .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4
- .long 0x17ffffe0 // b 2d78 <_sk_load_g8_dst_aarch64+0x3c>
- .long 0x39400108 // ldrb w8, [x8]
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x4e021d04 // mov v4.h[0], w8
- .long 0x17ffffdc // b 2d78 <_sk_load_g8_dst_aarch64+0x3c>
-
-HIDDEN _sk_gather_g8_aarch64
-.globl _sk_gather_g8_aarch64
-FUNCTION(_sk_gather_g8_aarch64)
-_sk_gather_g8_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x52a77009 // mov w9, #0x3b800000
- .long 0x72901029 // movk w9, #0x8081
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x4e040d23 // dup v3.4s, w9
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x386c490c // ldrb w12, [x8, w12, uxtw]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x38694909 // ldrb w9, [x8, w9, uxtw]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x386a490a // ldrb w10, [x8, w10, uxtw]
- .long 0x386b4908 // ldrb w8, [x8, w11, uxtw]
- .long 0x4e021d80 // mov v0.h[0], w12
- .long 0x4e061d20 // mov v0.h[1], w9
- .long 0x4e0a1d40 // mov v0.h[2], w10
- .long 0x4e0e1d00 // mov v0.h[3], w8
- .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x6e21d800 // ucvtf v0.4s, v0.4s
- .long 0x6e23dc00 // fmul v0.4s, v0.4s, v3.4s
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0x4ea01c01 // mov v1.16b, v0.16b
- .long 0x4ea01c02 // mov v2.16b, v0.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_load_565_aarch64
-.globl _sk_load_565_aarch64
-FUNCTION(_sk_load_565_aarch64)
-_sk_load_565_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb50003c4 // cbnz x4, 2f18 <_sk_load_565_aarch64+0x94>
- .long 0xfd400100 // ldr d0, [x8]
- .long 0x321b17e8 // orr w8, wzr, #0x7e0
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x52a6f088 // mov w8, #0x37840000
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x4f072701 // movi v1.4s, #0xf8, lsl #8
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4f0007e3 // movi v3.4s, #0x1f
- .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b
- .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b
- .long 0x4e221c10 // and v16.16b, v0.16b, v2.16b
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x52a7a088 // mov w8, #0x3d040000
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x52a74048 // mov w8, #0x3a020000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72810428 // movk w8, #0x821
- .long 0x4e21d862 // scvtf v2.4s, v3.4s
- .long 0x6e21dc42 // fmul v2.4s, v2.4s, v1.4s
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x4e21da03 // scvtf v3.4s, v16.4s
- .long 0x6e21dc61 // fmul v1.4s, v3.4s, v1.4s
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 2f64 <_sk_load_565_aarch64+0xe0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e400 // movi d0, #0x0
- .long 0x540000c0 // b.eq 2f44 <_sk_load_565_aarch64+0xc0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffba1 // b.ne 2ea8 <_sk_load_565_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x0d405120 // ld1 {v0.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d21 // mov v1.s[0], w9
- .long 0x4e0c1d01 // mov v1.s[1], w8
- .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h
- .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4
- .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4
- .long 0x17ffffd2 // b 2ea8 <_sk_load_565_aarch64+0x24>
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x0d404100 // ld1 {v0.h}[0], [x8]
- .long 0x17ffffcf // b 2ea8 <_sk_load_565_aarch64+0x24>
-
-HIDDEN _sk_load_565_dst_aarch64
-.globl _sk_load_565_dst_aarch64
-FUNCTION(_sk_load_565_dst_aarch64)
-_sk_load_565_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb50003c4 // cbnz x4, 3004 <_sk_load_565_dst_aarch64+0x94>
- .long 0xfd400104 // ldr d4, [x8]
- .long 0x321b17e8 // orr w8, wzr, #0x7e0
- .long 0x4e040d06 // dup v6.4s, w8
- .long 0x52a6f088 // mov w8, #0x37840000
- .long 0x2f10a484 // uxtl v4.4s, v4.4h
- .long 0x4f072705 // movi v5.4s, #0xf8, lsl #8
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4f0007e7 // movi v7.4s, #0x1f
- .long 0x4e251c85 // and v5.16b, v4.16b, v5.16b
- .long 0x4e271c87 // and v7.16b, v4.16b, v7.16b
- .long 0x4e261c90 // and v16.16b, v4.16b, v6.16b
- .long 0x4e040d04 // dup v4.4s, w8
- .long 0x52a7a088 // mov w8, #0x3d040000
- .long 0x72842108 // movk w8, #0x2108
- .long 0x4e21d8a5 // scvtf v5.4s, v5.4s
- .long 0x6e24dca4 // fmul v4.4s, v5.4s, v4.4s
- .long 0x4e040d05 // dup v5.4s, w8
- .long 0x52a74048 // mov w8, #0x3a020000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72810428 // movk w8, #0x821
- .long 0x4e21d8e6 // scvtf v6.4s, v7.4s
- .long 0x6e25dcc6 // fmul v6.4s, v6.4s, v5.4s
- .long 0x4e040d05 // dup v5.4s, w8
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x4e21da07 // scvtf v7.4s, v16.4s
- .long 0x6e25dce5 // fmul v5.4s, v7.4s, v5.4s
- .long 0x4f03f607 // fmov v7.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 3050 <_sk_load_565_dst_aarch64+0xe0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e404 // movi d4, #0x0
- .long 0x540000c0 // b.eq 3030 <_sk_load_565_dst_aarch64+0xc0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffba1 // b.ne 2f94 <_sk_load_565_dst_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x0d405124 // ld1 {v4.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d25 // mov v5.s[0], w9
- .long 0x4e0c1d05 // mov v5.s[1], w8
- .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h
- .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4
- .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4
- .long 0x17ffffd2 // b 2f94 <_sk_load_565_dst_aarch64+0x24>
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x0d404104 // ld1 {v4.h}[0], [x8]
- .long 0x17ffffcf // b 2f94 <_sk_load_565_dst_aarch64+0x24>
-
-HIDDEN _sk_gather_565_aarch64
-.globl _sk_gather_565_aarch64
-FUNCTION(_sk_gather_565_aarch64)
-_sk_gather_565_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x321b17e9 // orr w9, wzr, #0x7e0
- .long 0x4e040d23 // dup v3.4s, w9
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x8b2c450c // add x12, x8, w12, uxtw #1
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x0d404180 // ld1 {v0.h}[0], [x12]
- .long 0x78695909 // ldrh w9, [x8, w9, uxtw #1]
- .long 0x786a590a // ldrh w10, [x8, w10, uxtw #1]
- .long 0x786b5908 // ldrh w8, [x8, w11, uxtw #1]
- .long 0x4f072701 // movi v1.4s, #0xf8, lsl #8
- .long 0x4e061d20 // mov v0.h[1], w9
- .long 0x4e0a1d40 // mov v0.h[2], w10
- .long 0x4e0e1d00 // mov v0.h[3], w8
- .long 0x52a6f08b // mov w11, #0x37840000
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x7284210b // movk w11, #0x2108
- .long 0x52a74049 // mov w9, #0x3a020000
- .long 0x4f0007e2 // movi v2.4s, #0x1f
- .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b
- .long 0x72810429 // movk w9, #0x821
- .long 0x52a7a08a // mov w10, #0x3d040000
- .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b
- .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b
- .long 0x4e040d60 // dup v0.4s, w11
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x7284210a // movk w10, #0x2108
- .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s
- .long 0x4e040d21 // dup v1.4s, w9
- .long 0x4e21d863 // scvtf v3.4s, v3.4s
- .long 0x6e21dc61 // fmul v1.4s, v3.4s, v1.4s
- .long 0x4e040d43 // dup v3.4s, w10
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x6e23dc42 // fmul v2.4s, v2.4s, v3.4s
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_565_aarch64
-.globl _sk_store_565_aarch64
-FUNCTION(_sk_store_565_aarch64)
-_sk_store_565_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a84f8a // mov w10, #0x427c0000
- .long 0x4e040d50 // dup v16.4s, w10
- .long 0x4f01f7f1 // fmov v17.4s, #3.100000000000000000e+01
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x6e31dc12 // fmul v18.4s, v0.4s, v17.4s
- .long 0x6e30dc30 // fmul v16.4s, v1.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x6e31dc51 // fmul v17.4s, v2.4s, v17.4s
- .long 0x4f2b5652 // shl v18.4s, v18.4s, #11
- .long 0x4f255610 // shl v16.4s, v16.4s, #5
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0x4eb21e10 // orr v16.16b, v16.16b, v18.16b
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0x0e612a10 // xtn v16.4h, v16.4s
- .long 0xb50000a4 // cbnz x4, 3174 <_sk_store_565_aarch64+0x68>
- .long 0xfd000110 // str d16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000120 // b.eq 31a0 <_sk_store_565_aarch64+0x94> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 3198 <_sk_store_565_aarch64+0x8c> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffee1 // b.ne 3168 <_sk_store_565_aarch64+0x5c> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0d005130 // st1 {v16.h}[2], [x9]
- .long 0x91000909 // add x9, x8, #0x2
- .long 0x0d004930 // st1 {v16.h}[1], [x9]
- .long 0x0d004110 // st1 {v16.h}[0], [x8]
- .long 0x17fffff1 // b 3168 <_sk_store_565_aarch64+0x5c>
-
-HIDDEN _sk_load_4444_aarch64
-.globl _sk_load_4444_aarch64
-FUNCTION(_sk_load_4444_aarch64)
-_sk_load_4444_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb5000444 // cbnz x4, 324c <_sk_load_4444_aarch64+0xa4>
- .long 0xfd400100 // ldr d0, [x8]
- .long 0x52a6f108 // mov w8, #0x37880000
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x4f072601 // movi v1.4s, #0xf0, lsl #8
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4f0025e2 // movi v2.4s, #0xf, lsl #8
- .long 0x4f070603 // movi v3.4s, #0xf0
- .long 0x4f0005f0 // movi v16.4s, #0xf
- .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b
- .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b
- .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b
- .long 0x4e301c10 // and v16.16b, v0.16b, v16.16b
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x52a73108 // mov w8, #0x39880000
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s
- .long 0x4e040d01 // dup v1.4s, w8
- .long 0x52a77108 // mov w8, #0x3b880000
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x6e21dc41 // fmul v1.4s, v2.4s, v1.4s
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x52a7b108 // mov w8, #0x3d880000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d863 // scvtf v3.4s, v3.4s
- .long 0x6e22dc62 // fmul v2.4s, v3.4s, v2.4s
- .long 0x4e040d03 // dup v3.4s, w8
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 3298 <_sk_load_4444_aarch64+0xf0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e400 // movi d0, #0x0
- .long 0x540000c0 // b.eq 3278 <_sk_load_4444_aarch64+0xd0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffb21 // b.ne 31cc <_sk_load_4444_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x0d405120 // ld1 {v0.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d21 // mov v1.s[0], w9
- .long 0x4e0c1d01 // mov v1.s[1], w8
- .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h
- .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4
- .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4
- .long 0x17ffffce // b 31cc <_sk_load_4444_aarch64+0x24>
- .long 0x0e020fe0 // dup v0.4h, wzr
- .long 0x0d404100 // ld1 {v0.h}[0], [x8]
- .long 0x17ffffcb // b 31cc <_sk_load_4444_aarch64+0x24>
-
-HIDDEN _sk_load_4444_dst_aarch64
-.globl _sk_load_4444_dst_aarch64
-FUNCTION(_sk_load_4444_dst_aarch64)
-_sk_load_4444_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb5000444 // cbnz x4, 3348 <_sk_load_4444_dst_aarch64+0xa4>
- .long 0xfd400104 // ldr d4, [x8]
- .long 0x52a6f108 // mov w8, #0x37880000
- .long 0x2f10a484 // uxtl v4.4s, v4.4h
- .long 0x4f072605 // movi v5.4s, #0xf0, lsl #8
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4f0025e6 // movi v6.4s, #0xf, lsl #8
- .long 0x4f070607 // movi v7.4s, #0xf0
- .long 0x4f0005f0 // movi v16.4s, #0xf
- .long 0x4e251c85 // and v5.16b, v4.16b, v5.16b
- .long 0x4e261c86 // and v6.16b, v4.16b, v6.16b
- .long 0x4e271c87 // and v7.16b, v4.16b, v7.16b
- .long 0x4e301c90 // and v16.16b, v4.16b, v16.16b
- .long 0x4e040d04 // dup v4.4s, w8
- .long 0x52a73108 // mov w8, #0x39880000
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d8a5 // scvtf v5.4s, v5.4s
- .long 0x6e24dca4 // fmul v4.4s, v5.4s, v4.4s
- .long 0x4e040d05 // dup v5.4s, w8
- .long 0x52a77108 // mov w8, #0x3b880000
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d8c6 // scvtf v6.4s, v6.4s
- .long 0x6e25dcc5 // fmul v5.4s, v6.4s, v5.4s
- .long 0x4e040d06 // dup v6.4s, w8
- .long 0x52a7b108 // mov w8, #0x3d880000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72911128 // movk w8, #0x8889
- .long 0x4e21d8e7 // scvtf v7.4s, v7.4s
- .long 0x6e26dce6 // fmul v6.4s, v7.4s, v6.4s
- .long 0x4e040d07 // dup v7.4s, w8
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e27de07 // fmul v7.4s, v16.4s, v7.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000220 // b.eq 3394 <_sk_load_4444_dst_aarch64+0xf0> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x2f00e404 // movi d4, #0x0
- .long 0x540000c0 // b.eq 3374 <_sk_load_4444_dst_aarch64+0xd0> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffb21 // b.ne 32c8 <_sk_load_4444_dst_aarch64+0x24> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x0d405124 // ld1 {v4.h}[2], [x9]
- .long 0x79400109 // ldrh w9, [x8]
- .long 0x79400508 // ldrh w8, [x8, #2]
- .long 0x4e041d25 // mov v5.s[0], w9
- .long 0x4e0c1d05 // mov v5.s[1], w8
- .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h
- .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4
- .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4
- .long 0x17ffffce // b 32c8 <_sk_load_4444_dst_aarch64+0x24>
- .long 0x0e020fe4 // dup v4.4h, wzr
- .long 0x0d404104 // ld1 {v4.h}[0], [x8]
- .long 0x17ffffcb // b 32c8 <_sk_load_4444_dst_aarch64+0x24>
-
-HIDDEN _sk_gather_4444_aarch64
-.globl _sk_gather_4444_aarch64
-FUNCTION(_sk_gather_4444_aarch64)
-_sk_gather_4444_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x4f070603 // movi v3.4s, #0xf0
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x4f0005f0 // movi v16.4s, #0xf
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x8b2c450c // add x12, x8, w12, uxtw #1
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x0d404180 // ld1 {v0.h}[0], [x12]
- .long 0x78695909 // ldrh w9, [x8, w9, uxtw #1]
- .long 0x786a590a // ldrh w10, [x8, w10, uxtw #1]
- .long 0x786b5908 // ldrh w8, [x8, w11, uxtw #1]
- .long 0x4f072601 // movi v1.4s, #0xf0, lsl #8
- .long 0x4e061d20 // mov v0.h[1], w9
- .long 0x4e0a1d40 // mov v0.h[2], w10
- .long 0x4e0e1d00 // mov v0.h[3], w8
- .long 0x52a6f10b // mov w11, #0x37880000
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x7291112b // movk w11, #0x8889
- .long 0x4f0025e2 // movi v2.4s, #0xf, lsl #8
- .long 0x52a73109 // mov w9, #0x39880000
- .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b
- .long 0x72911129 // movk w9, #0x8889
- .long 0x52a7710a // mov w10, #0x3b880000
- .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b
- .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b
- .long 0x4e301c10 // and v16.16b, v0.16b, v16.16b
- .long 0x4e040d60 // dup v0.4s, w11
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x7291112a // movk w10, #0x8889
- .long 0x52a7b108 // mov w8, #0x3d880000
- .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s
- .long 0x4e040d21 // dup v1.4s, w9
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x72911128 // movk w8, #0x8889
- .long 0x6e21dc41 // fmul v1.4s, v2.4s, v1.4s
- .long 0x4e040d42 // dup v2.4s, w10
- .long 0x4e21d863 // scvtf v3.4s, v3.4s
- .long 0x6e22dc62 // fmul v2.4s, v3.4s, v2.4s
- .long 0x4e040d03 // dup v3.4s, w8
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_4444_aarch64
-.globl _sk_store_4444_aarch64
-FUNCTION(_sk_store_4444_aarch64)
-_sk_store_4444_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f01f5d0 // fmov v16.4s, #1.500000000000000000e+01
- .long 0x6e30dc11 // fmul v17.4s, v0.4s, v16.4s
- .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0x4f2c5631 // shl v17.4s, v17.4s, #12
- .long 0x4f285652 // shl v18.4s, v18.4s, #8
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b
- .long 0x6e30dc52 // fmul v18.4s, v2.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s
- .long 0x4f245652 // shl v18.4s, v18.4s, #4
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0x0e612a10 // xtn v16.4h, v16.4s
- .long 0xb50000a4 // cbnz x4, 34d4 <_sk_store_4444_aarch64+0x70>
- .long 0xfd000110 // str d16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000120 // b.eq 3500 <_sk_store_4444_aarch64+0x9c> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 34f8 <_sk_store_4444_aarch64+0x94> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffee1 // b.ne 34c8 <_sk_store_4444_aarch64+0x64> // b.any
- .long 0x91001109 // add x9, x8, #0x4
- .long 0x0d005130 // st1 {v16.h}[2], [x9]
- .long 0x91000909 // add x9, x8, #0x2
- .long 0x0d004930 // st1 {v16.h}[1], [x9]
- .long 0x0d004110 // st1 {v16.h}[0], [x8]
- .long 0x17fffff1 // b 34c8 <_sk_store_4444_aarch64+0x64>
-
-HIDDEN _sk_load_8888_aarch64
-.globl _sk_load_8888_aarch64
-FUNCTION(_sk_load_8888_aarch64)
-_sk_load_8888_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0xb50002e4 // cbnz x4, 3580 <_sk_load_8888_aarch64+0x78>
- .long 0x3dc00100 // ldr q0, [x8]
- .long 0x6f00e621 // movi v1.2d, #0xff000000ff
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x6f380402 // ushr v2.4s, v0.4s, #8
- .long 0x6f300403 // ushr v3.4s, v0.4s, #16
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x6f280410 // ushr v16.4s, v0.4s, #24
- .long 0x4e211c00 // and v0.16b, v0.16b, v1.16b
- .long 0x4e211c42 // and v2.16b, v2.16b, v1.16b
- .long 0x4e211c61 // and v1.16b, v3.16b, v1.16b
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x4e21da03 // scvtf v3.4s, v16.4s
- .long 0x4e21d800 // scvtf v0.4s, v0.4s
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x4e21d830 // scvtf v16.4s, v1.4s
- .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s
- .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s
- .long 0x6e31dc41 // fmul v1.4s, v2.4s, v17.4s
- .long 0x6e31de02 // fmul v2.4s, v16.4s, v17.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x540001a0 // b.eq 35bc <_sk_load_8888_aarch64+0xb4> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x540000c0 // b.eq 35ac <_sk_load_8888_aarch64+0xa4> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffc81 // b.ne 352c <_sk_load_8888_aarch64+0x24> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4e040fe0 // dup v0.4s, wzr
- .long 0x4d408120 // ld1 {v0.s}[2], [x9]
- .long 0xfd400101 // ldr d1, [x8]
- .long 0x6e014000 // ext v0.16b, v0.16b, v1.16b, #8
- .long 0x6e004000 // ext v0.16b, v0.16b, v0.16b, #8
- .long 0x17ffffdd // b 352c <_sk_load_8888_aarch64+0x24>
- .long 0x4e040fe0 // dup v0.4s, wzr
- .long 0x0d408100 // ld1 {v0.s}[0], [x8]
- .long 0x17ffffda // b 352c <_sk_load_8888_aarch64+0x24>
-
-HIDDEN _sk_load_8888_dst_aarch64
-.globl _sk_load_8888_dst_aarch64
-FUNCTION(_sk_load_8888_dst_aarch64)
-_sk_load_8888_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0xb50002e4 // cbnz x4, 3640 <_sk_load_8888_dst_aarch64+0x78>
- .long 0x3dc00104 // ldr q4, [x8]
- .long 0x6f00e625 // movi v5.2d, #0xff000000ff
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x6f380486 // ushr v6.4s, v4.4s, #8
- .long 0x6f300487 // ushr v7.4s, v4.4s, #16
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x6f280490 // ushr v16.4s, v4.4s, #24
- .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b
- .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b
- .long 0x4e251ce5 // and v5.16b, v7.16b, v5.16b
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x4e21da07 // scvtf v7.4s, v16.4s
- .long 0x4e21d884 // scvtf v4.4s, v4.4s
- .long 0x4e21d8c6 // scvtf v6.4s, v6.4s
- .long 0x4e21d8b0 // scvtf v16.4s, v5.4s
- .long 0x6e31dce7 // fmul v7.4s, v7.4s, v17.4s
- .long 0x6e31dc84 // fmul v4.4s, v4.4s, v17.4s
- .long 0x6e31dcc5 // fmul v5.4s, v6.4s, v17.4s
- .long 0x6e31de06 // fmul v6.4s, v16.4s, v17.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x540001a0 // b.eq 367c <_sk_load_8888_dst_aarch64+0xb4> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x6f00e404 // movi v4.2d, #0x0
- .long 0x540000c0 // b.eq 366c <_sk_load_8888_dst_aarch64+0xa4> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffc81 // b.ne 35ec <_sk_load_8888_dst_aarch64+0x24> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x4d408124 // ld1 {v4.s}[2], [x9]
- .long 0xfd400105 // ldr d5, [x8]
- .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8
- .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8
- .long 0x17ffffdd // b 35ec <_sk_load_8888_dst_aarch64+0x24>
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x0d408104 // ld1 {v4.s}[0], [x8]
- .long 0x17ffffda // b 35ec <_sk_load_8888_dst_aarch64+0x24>
-
-HIDDEN _sk_gather_8888_aarch64
-.globl _sk_gather_8888_aarch64
-FUNCTION(_sk_gather_8888_aarch64)
-_sk_gather_8888_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x8b2c490c // add x12, x8, w12, uxtw #2
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x0d408180 // ld1 {v0.s}[0], [x12]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0xb86a590a // ldr w10, [x8, w10, uxtw #2]
- .long 0xb86b5908 // ldr w8, [x8, w11, uxtw #2]
- .long 0x0d409120 // ld1 {v0.s}[1], [x9]
- .long 0x6f00e621 // movi v1.2d, #0xff000000ff
- .long 0x52a77009 // mov w9, #0x3b800000
- .long 0x72901029 // movk w9, #0x8081
- .long 0x4e141d40 // mov v0.s[2], w10
- .long 0x4e1c1d00 // mov v0.s[3], w8
- .long 0x6f380410 // ushr v16.4s, v0.4s, #8
- .long 0x6f300411 // ushr v17.4s, v0.4s, #16
- .long 0x4e211c03 // and v3.16b, v0.16b, v1.16b
- .long 0x6f280400 // ushr v0.4s, v0.4s, #24
- .long 0x4e211e10 // and v16.16b, v16.16b, v1.16b
- .long 0x4e211e21 // and v1.16b, v17.16b, v1.16b
- .long 0x4e040d22 // dup v2.4s, w9
- .long 0x4e21d863 // scvtf v3.4s, v3.4s
- .long 0x4e21d811 // scvtf v17.4s, v0.4s
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x4e21d832 // scvtf v18.4s, v1.4s
- .long 0x6e22dc60 // fmul v0.4s, v3.4s, v2.4s
- .long 0x6e22de23 // fmul v3.4s, v17.4s, v2.4s
- .long 0x6e22de01 // fmul v1.4s, v16.4s, v2.4s
- .long 0x6e22de42 // fmul v2.4s, v18.4s, v2.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_8888_aarch64
-.globl _sk_store_8888_aarch64
-FUNCTION(_sk_store_8888_aarch64)
-_sk_store_8888_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a86fea // mov w10, #0x437f0000
- .long 0x4e040d50 // dup v16.4s, w10
- .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0x6e30dc11 // fmul v17.4s, v0.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0x4f285652 // shl v18.4s, v18.4s, #8
- .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b
- .long 0x6e30dc52 // fmul v18.4s, v2.4s, v16.4s
- .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x4f305652 // shl v18.4s, v18.4s, #16
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x4f385610 // shl v16.4s, v16.4s, #24
- .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b
- .long 0xb50000a4 // cbnz x4, 3790 <_sk_store_8888_aarch64+0x70>
- .long 0x3d800110 // str q16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000120 // b.eq 37bc <_sk_store_8888_aarch64+0x9c> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 37b4 <_sk_store_8888_aarch64+0x94> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffee1 // b.ne 3784 <_sk_store_8888_aarch64+0x64> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d008130 // st1 {v16.s}[2], [x9]
- .long 0xfd000110 // str d16, [x8]
- .long 0x17fffff3 // b 3784 <_sk_store_8888_aarch64+0x64>
- .long 0x0d008110 // st1 {v16.s}[0], [x8]
- .long 0x17fffff1 // b 3784 <_sk_store_8888_aarch64+0x64>
-
-HIDDEN _sk_load_bgra_aarch64
-.globl _sk_load_bgra_aarch64
-FUNCTION(_sk_load_bgra_aarch64)
-_sk_load_bgra_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0xb50002e4 // cbnz x4, 383c <_sk_load_bgra_aarch64+0x78>
- .long 0x3dc00100 // ldr q0, [x8]
- .long 0x6f00e621 // movi v1.2d, #0xff000000ff
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x6f380402 // ushr v2.4s, v0.4s, #8
- .long 0x6f300403 // ushr v3.4s, v0.4s, #16
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x6f280410 // ushr v16.4s, v0.4s, #24
- .long 0x4e211c00 // and v0.16b, v0.16b, v1.16b
- .long 0x4e211c42 // and v2.16b, v2.16b, v1.16b
- .long 0x4e211c61 // and v1.16b, v3.16b, v1.16b
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x4e21da03 // scvtf v3.4s, v16.4s
- .long 0x4e21d800 // scvtf v0.4s, v0.4s
- .long 0x4e21d850 // scvtf v16.4s, v2.4s
- .long 0x4e21d832 // scvtf v18.4s, v1.4s
- .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s
- .long 0x6e31dc02 // fmul v2.4s, v0.4s, v17.4s
- .long 0x6e31de01 // fmul v1.4s, v16.4s, v17.4s
- .long 0x6e31de40 // fmul v0.4s, v18.4s, v17.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x540001a0 // b.eq 3878 <_sk_load_bgra_aarch64+0xb4> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x540000c0 // b.eq 3868 <_sk_load_bgra_aarch64+0xa4> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffc81 // b.ne 37e8 <_sk_load_bgra_aarch64+0x24> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4e040fe0 // dup v0.4s, wzr
- .long 0x4d408120 // ld1 {v0.s}[2], [x9]
- .long 0xfd400101 // ldr d1, [x8]
- .long 0x6e014000 // ext v0.16b, v0.16b, v1.16b, #8
- .long 0x6e004000 // ext v0.16b, v0.16b, v0.16b, #8
- .long 0x17ffffdd // b 37e8 <_sk_load_bgra_aarch64+0x24>
- .long 0x4e040fe0 // dup v0.4s, wzr
- .long 0x0d408100 // ld1 {v0.s}[0], [x8]
- .long 0x17ffffda // b 37e8 <_sk_load_bgra_aarch64+0x24>
-
-HIDDEN _sk_load_bgra_dst_aarch64
-.globl _sk_load_bgra_dst_aarch64
-FUNCTION(_sk_load_bgra_dst_aarch64)
-_sk_load_bgra_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0xb50002e4 // cbnz x4, 38fc <_sk_load_bgra_dst_aarch64+0x78>
- .long 0x3dc00104 // ldr q4, [x8]
- .long 0x6f00e625 // movi v5.2d, #0xff000000ff
- .long 0x52a77008 // mov w8, #0x3b800000
- .long 0x6f380486 // ushr v6.4s, v4.4s, #8
- .long 0x6f300487 // ushr v7.4s, v4.4s, #16
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x72901028 // movk w8, #0x8081
- .long 0x6f280490 // ushr v16.4s, v4.4s, #24
- .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b
- .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b
- .long 0x4e251ce5 // and v5.16b, v7.16b, v5.16b
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x4e21da07 // scvtf v7.4s, v16.4s
- .long 0x4e21d884 // scvtf v4.4s, v4.4s
- .long 0x4e21d8d0 // scvtf v16.4s, v6.4s
- .long 0x4e21d8b2 // scvtf v18.4s, v5.4s
- .long 0x6e31dce7 // fmul v7.4s, v7.4s, v17.4s
- .long 0x6e31dc86 // fmul v6.4s, v4.4s, v17.4s
- .long 0x6e31de05 // fmul v5.4s, v16.4s, v17.4s
- .long 0x6e31de44 // fmul v4.4s, v18.4s, v17.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x540001a0 // b.eq 3938 <_sk_load_bgra_dst_aarch64+0xb4> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x6f00e404 // movi v4.2d, #0x0
- .long 0x540000c0 // b.eq 3928 <_sk_load_bgra_dst_aarch64+0xa4> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffc81 // b.ne 38a8 <_sk_load_bgra_dst_aarch64+0x24> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x4d408124 // ld1 {v4.s}[2], [x9]
- .long 0xfd400105 // ldr d5, [x8]
- .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8
- .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8
- .long 0x17ffffdd // b 38a8 <_sk_load_bgra_dst_aarch64+0x24>
- .long 0x4e040fe4 // dup v4.4s, wzr
- .long 0x0d408104 // ld1 {v4.s}[0], [x8]
- .long 0x17ffffda // b 38a8 <_sk_load_bgra_dst_aarch64+0x24>
-
-HIDDEN _sk_gather_bgra_aarch64
-.globl _sk_gather_bgra_aarch64
-FUNCTION(_sk_gather_bgra_aarch64)
-_sk_gather_bgra_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x1e26000c // fmov w12, s0
- .long 0x8b2c490c // add x12, x8, w12, uxtw #2
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x0d408180 // ld1 {v0.s}[0], [x12]
- .long 0x8b294909 // add x9, x8, w9, uxtw #2
- .long 0xb86a590a // ldr w10, [x8, w10, uxtw #2]
- .long 0xb86b5908 // ldr w8, [x8, w11, uxtw #2]
- .long 0x0d409120 // ld1 {v0.s}[1], [x9]
- .long 0x6f00e621 // movi v1.2d, #0xff000000ff
- .long 0x52a77009 // mov w9, #0x3b800000
- .long 0x72901029 // movk w9, #0x8081
- .long 0x4e141d40 // mov v0.s[2], w10
- .long 0x4e1c1d00 // mov v0.s[3], w8
- .long 0x6f380403 // ushr v3.4s, v0.4s, #8
- .long 0x6f300411 // ushr v17.4s, v0.4s, #16
- .long 0x4e211c02 // and v2.16b, v0.16b, v1.16b
- .long 0x6f280400 // ushr v0.4s, v0.4s, #24
- .long 0x4e211c63 // and v3.16b, v3.16b, v1.16b
- .long 0x4e211e21 // and v1.16b, v17.16b, v1.16b
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x4e21d842 // scvtf v2.4s, v2.4s
- .long 0x4e21d800 // scvtf v0.4s, v0.4s
- .long 0x4e21d871 // scvtf v17.4s, v3.4s
- .long 0x4e21d832 // scvtf v18.4s, v1.4s
- .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s
- .long 0x6e30dc03 // fmul v3.4s, v0.4s, v16.4s
- .long 0x6e30de21 // fmul v1.4s, v17.4s, v16.4s
- .long 0x6e30de40 // fmul v0.4s, v18.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_store_bgra_aarch64
-.globl _sk_store_bgra_aarch64
-FUNCTION(_sk_store_bgra_aarch64)
-_sk_store_bgra_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a86fea // mov w10, #0x437f0000
- .long 0x4e040d50 // dup v16.4s, w10
- .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0x6e30dc51 // fmul v17.4s, v2.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0x4f285652 // shl v18.4s, v18.4s, #8
- .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b
- .long 0x6e30dc12 // fmul v18.4s, v0.4s, v16.4s
- .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s
- .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x4f305652 // shl v18.4s, v18.4s, #16
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x4f385610 // shl v16.4s, v16.4s, #24
- .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b
- .long 0x8b897908 // add x8, x8, x9, asr #30
- .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b
- .long 0xb50000a4 // cbnz x4, 3a4c <_sk_store_bgra_aarch64+0x70>
- .long 0x3d800110 // str q16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x12000489 // and w9, w4, #0x3
- .long 0x7100053f // cmp w9, #0x1
- .long 0x54000120 // b.eq 3a78 <_sk_store_bgra_aarch64+0x9c> // b.none
- .long 0x7100093f // cmp w9, #0x2
- .long 0x540000a0 // b.eq 3a70 <_sk_store_bgra_aarch64+0x94> // b.none
- .long 0x71000d3f // cmp w9, #0x3
- .long 0x54fffee1 // b.ne 3a40 <_sk_store_bgra_aarch64+0x64> // b.any
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d008130 // st1 {v16.s}[2], [x9]
- .long 0xfd000110 // str d16, [x8]
- .long 0x17fffff3 // b 3a40 <_sk_store_bgra_aarch64+0x64>
- .long 0x0d008110 // st1 {v16.s}[0], [x8]
- .long 0x17fffff1 // b 3a40 <_sk_store_bgra_aarch64+0x64>
-
-HIDDEN _sk_load_f16_aarch64
-.globl _sk_load_f16_aarch64
-FUNCTION(_sk_load_f16_aarch64)
-_sk_load_f16_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29cd08 // add x8, x8, w9, sxtw #3
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897508 // add x8, x8, x9, asr #29
- .long 0xb5000124 // cbnz x4, 3ac0 <_sk_load_f16_aarch64+0x40>
- .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x0e217a00 // fcvtl v0.4s, v16.4h
- .long 0x0e217a21 // fcvtl v1.4s, v17.4h
- .long 0x0e217a42 // fcvtl v2.4s, v18.4h
- .long 0x0e217a63 // fcvtl v3.4s, v19.4h
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d606110 // ld4 {v16.h-v19.h}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fffee0 // b.eq 3aa4 <_sk_load_f16_aarch64+0x24> // b.none
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x0d606930 // ld4 {v16.h-v19.h}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffe63 // b.cc 3aa4 <_sk_load_f16_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91004108 // add x8, x8, #0x10
- .long 0x0d607110 // ld4 {v16.h-v19.h}[2], [x8]
- .long 0x17fffff0 // b 3aa4 <_sk_load_f16_aarch64+0x24>
-
-HIDDEN _sk_load_f16_dst_aarch64
-.globl _sk_load_f16_dst_aarch64
-FUNCTION(_sk_load_f16_dst_aarch64)
-_sk_load_f16_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29cd08 // add x8, x8, w9, sxtw #3
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897508 // add x8, x8, x9, asr #29
- .long 0xb5000124 // cbnz x4, 3b28 <_sk_load_f16_dst_aarch64+0x40>
- .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x0e217a04 // fcvtl v4.4s, v16.4h
- .long 0x0e217a25 // fcvtl v5.4s, v17.4h
- .long 0x0e217a46 // fcvtl v6.4s, v18.4h
- .long 0x0e217a67 // fcvtl v7.4s, v19.4h
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d606110 // ld4 {v16.h-v19.h}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fffee0 // b.eq 3b0c <_sk_load_f16_dst_aarch64+0x24> // b.none
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x0d606930 // ld4 {v16.h-v19.h}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffe63 // b.cc 3b0c <_sk_load_f16_dst_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91004108 // add x8, x8, #0x10
- .long 0x0d607110 // ld4 {v16.h-v19.h}[2], [x8]
- .long 0x17fffff0 // b 3b0c <_sk_load_f16_dst_aarch64+0x24>
-
-HIDDEN _sk_gather_f16_aarch64
-.globl _sk_gather_f16_aarch64
-FUNCTION(_sk_gather_f16_aarch64)
-_sk_gather_f16_aarch64:
- .long 0xa9bf7bfd // stp x29, x30, [sp, #-16]!
- .long 0xd100c3e9 // sub x9, sp, #0x30
- .long 0x910003fd // mov x29, sp
- .long 0x927be93f // and sp, x9, #0xffffffffffffffe0
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x4d40c922 // ld1r {v2.4s}, [x9]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x1e26000c // fmov w12, s0
- .long 0x8b2c4d0c // add x12, x8, w12, uxtw #3
- .long 0x8b2a4d0a // add x10, x8, w10, uxtw #3
- .long 0x0e0c3c09 // mov w9, v0.s[1]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0x0d408540 // ld1 {v0.d}[0], [x10]
- .long 0x0d408581 // ld1 {v1.d}[0], [x12]
- .long 0x8b294d09 // add x9, x8, w9, uxtw #3
- .long 0x8b2b4d08 // add x8, x8, w11, uxtw #3
- .long 0x4d408500 // ld1 {v0.d}[1], [x8]
- .long 0x4d408521 // ld1 {v1.d}[1], [x9]
- .long 0x910003e8 // mov x8, sp
- .long 0xad0003e1 // stp q1, q0, [sp]
- .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8]
- .long 0xf9400428 // ldr x8, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0x0e217a00 // fcvtl v0.4s, v16.4h
- .long 0x0e217a21 // fcvtl v1.4s, v17.4h
- .long 0x0e217a42 // fcvtl v2.4s, v18.4h
- .long 0x0e217a63 // fcvtl v3.4s, v19.4h
- .long 0xd63f0100 // blr x8
- .long 0x910003bf // mov sp, x29
- .long 0xa8c17bfd // ldp x29, x30, [sp], #16
- .long 0xd65f03c0 // ret
-
-HIDDEN _sk_store_f16_aarch64
-.globl _sk_store_f16_aarch64
-FUNCTION(_sk_store_f16_aarch64)
-_sk_store_f16_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x0e216810 // fcvtn v16.4h, v0.4s
- .long 0x0e216831 // fcvtn v17.4h, v1.4s
- .long 0x0e216852 // fcvtn v18.4h, v2.4s
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x0e216873 // fcvtn v19.4h, v3.4s
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29cd08 // add x8, x8, w9, sxtw #3
- .long 0xd3607c49 // lsl x9, x2, #32
- .long 0x8b897508 // add x8, x8, x9, asr #29
- .long 0xb50000a4 // cbnz x4, 3c20 <_sk_store_f16_aarch64+0x40>
- .long 0x0c000510 // st4 {v16.4h-v19.4h}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0xf100049f // cmp x4, #0x1
- .long 0x0d206110 // st4 {v16.h-v19.h}[0], [x8]
- .long 0x54ffff60 // b.eq 3c14 <_sk_store_f16_aarch64+0x34> // b.none
- .long 0x91002109 // add x9, x8, #0x8
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x0d206930 // st4 {v16.h-v19.h}[1], [x9]
- .long 0x54fffee3 // b.cc 3c14 <_sk_store_f16_aarch64+0x34> // b.lo, b.ul, b.last
- .long 0x91004108 // add x8, x8, #0x10
- .long 0x0d207110 // st4 {v16.h-v19.h}[2], [x8]
- .long 0x17fffff4 // b 3c14 <_sk_store_f16_aarch64+0x34>
-
-HIDDEN _sk_load_u16_be_aarch64
-.globl _sk_load_u16_be_aarch64
-FUNCTION(_sk_load_u16_be_aarch64)
-_sk_load_u16_be_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x531e744a // lsl w10, w2, #2
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0x8b2ac508 // add x8, x8, w10, sxtw #1
- .long 0xb5000404 // cbnz x4, 3ce4 <_sk_load_u16_be_aarch64+0x9c>
- .long 0x0c400500 // ld4 {v0.4h-v3.4h}, [x8]
- .long 0x0f185410 // shl v16.4h, v0.4h, #8
- .long 0x2f180411 // ushr v17.4h, v0.4h, #8
- .long 0x0f185432 // shl v18.4h, v1.4h, #8
- .long 0x2f180433 // ushr v19.4h, v1.4h, #8
- .long 0x0f185454 // shl v20.4h, v2.4h, #8
- .long 0x2f180455 // ushr v21.4h, v2.4h, #8
- .long 0x0f185476 // shl v22.4h, v3.4h, #8
- .long 0x2f180460 // ushr v0.4h, v3.4h, #8
- .long 0x52a6f008 // mov w8, #0x37800000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x0eb11e01 // orr v1.8b, v16.8b, v17.8b
- .long 0x0eb31e42 // orr v2.8b, v18.8b, v19.8b
- .long 0x0eb51e90 // orr v16.8b, v20.8b, v21.8b
- .long 0x0ea01ec0 // orr v0.8b, v22.8b, v0.8b
- .long 0x72801008 // movk w8, #0x80
- .long 0x2f10a421 // uxtl v1.4s, v1.4h
- .long 0x2f10a442 // uxtl v2.4s, v2.4h
- .long 0x2f10a610 // uxtl v16.4s, v16.4h
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x4e040d03 // dup v3.4s, w8
- .long 0x6e21d821 // ucvtf v1.4s, v1.4s
- .long 0x6e21d842 // ucvtf v2.4s, v2.4s
- .long 0x6e21da10 // ucvtf v16.4s, v16.4s
- .long 0x6e21d811 // ucvtf v17.4s, v0.4s
- .long 0x6e23dc20 // fmul v0.4s, v1.4s, v3.4s
- .long 0x6e23dc41 // fmul v1.4s, v2.4s, v3.4s
- .long 0x6e23de02 // fmul v2.4s, v16.4s, v3.4s
- .long 0x6e23de23 // fmul v3.4s, v17.4s, v3.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d606100 // ld4 {v0.h-v3.h}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fffc00 // b.eq 3c6c <_sk_load_u16_be_aarch64+0x24> // b.none
- .long 0x91002109 // add x9, x8, #0x8
- .long 0x0d606920 // ld4 {v0.h-v3.h}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffb83 // b.cc 3c6c <_sk_load_u16_be_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91004108 // add x8, x8, #0x10
- .long 0x0d607100 // ld4 {v0.h-v3.h}[2], [x8]
- .long 0x17ffffd9 // b 3c6c <_sk_load_u16_be_aarch64+0x24>
-
-HIDDEN _sk_load_rgb_u16_be_aarch64
-.globl _sk_load_rgb_u16_be_aarch64
-FUNCTION(_sk_load_rgb_u16_be_aarch64)
-_sk_load_rgb_u16_be_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0x0b020449 // add w9, w2, w2, lsl #1
- .long 0xd3607d29 // lsl x9, x9, #32
- .long 0x8b897d08 // add x8, x8, x9, asr #31
- .long 0xb5000384 // cbnz x4, 3d9c <_sk_load_rgb_u16_be_aarch64+0x90>
- .long 0x0c404500 // ld3 {v0.4h-v2.4h}, [x8]
- .long 0x0f185403 // shl v3.4h, v0.4h, #8
- .long 0x2f180410 // ushr v16.4h, v0.4h, #8
- .long 0x0f185431 // shl v17.4h, v1.4h, #8
- .long 0x2f180432 // ushr v18.4h, v1.4h, #8
- .long 0x0f185453 // shl v19.4h, v2.4h, #8
- .long 0x2f180440 // ushr v0.4h, v2.4h, #8
- .long 0x52a6f008 // mov w8, #0x37800000
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x0eb01c61 // orr v1.8b, v3.8b, v16.8b
- .long 0x0eb21e23 // orr v3.8b, v17.8b, v18.8b
- .long 0x0ea01e60 // orr v0.8b, v19.8b, v0.8b
- .long 0x72801008 // movk w8, #0x80
- .long 0x2f10a421 // uxtl v1.4s, v1.4h
- .long 0x2f10a463 // uxtl v3.4s, v3.4h
- .long 0x2f10a400 // uxtl v0.4s, v0.4h
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x91004028 // add x8, x1, #0x10
- .long 0x6e21d821 // ucvtf v1.4s, v1.4s
- .long 0x6e21d863 // ucvtf v3.4s, v3.4s
- .long 0x6e21d810 // ucvtf v16.4s, v0.4s
- .long 0x6e22dc20 // fmul v0.4s, v1.4s, v2.4s
- .long 0x6e22dc61 // fmul v1.4s, v3.4s, v2.4s
- .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0xaa0803e1 // mov x1, x8
- .long 0xd61f00a0 // br x5
- .long 0x0d406100 // ld3 {v0.h-v2.h}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54fffc80 // b.eq 3d34 <_sk_load_rgb_u16_be_aarch64+0x28> // b.none
- .long 0x91001909 // add x9, x8, #0x6
- .long 0x0d406920 // ld3 {v0.h-v2.h}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffc03 // b.cc 3d34 <_sk_load_rgb_u16_be_aarch64+0x28> // b.lo, b.ul, b.last
- .long 0x91003108 // add x8, x8, #0xc
- .long 0x0d407100 // ld3 {v0.h-v2.h}[2], [x8]
- .long 0x17ffffdd // b 3d34 <_sk_load_rgb_u16_be_aarch64+0x28>
-
-HIDDEN _sk_store_u16_be_aarch64
-.globl _sk_store_u16_be_aarch64
-FUNCTION(_sk_store_u16_be_aarch64)
-_sk_store_u16_be_aarch64:
- .long 0x52a8efea // mov w10, #0x477f0000
- .long 0x729fe00a // movk w10, #0xff00
- .long 0x4e040d54 // dup v20.4s, w10
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x6e34dc10 // fmul v16.4s, v0.4s, v20.4s
- .long 0x6e34dc31 // fmul v17.4s, v1.4s, v20.4s
- .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s
- .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s
- .long 0x0e612a10 // xtn v16.4h, v16.4s
- .long 0x0e612a31 // xtn v17.4h, v17.4s
- .long 0x0f185612 // shl v18.4h, v16.4h, #8
- .long 0x2f180610 // ushr v16.4h, v16.4h, #8
- .long 0x0f185635 // shl v21.4h, v17.4h, #8
- .long 0x2f180636 // ushr v22.4h, v17.4h, #8
- .long 0x0eb01e50 // orr v16.8b, v18.8b, v16.8b
- .long 0xf940010a // ldr x10, [x8]
- .long 0xb9400908 // ldr w8, [x8, #8]
- .long 0x0eb61eb1 // orr v17.8b, v21.8b, v22.8b
- .long 0x6e34dc55 // fmul v21.4s, v2.4s, v20.4s
- .long 0x6e34dc74 // fmul v20.4s, v3.4s, v20.4s
- .long 0x6e21aab5 // fcvtnu v21.4s, v21.4s
- .long 0x6e21aa94 // fcvtnu v20.4s, v20.4s
- .long 0x0e612ab5 // xtn v21.4h, v21.4s
- .long 0x0e612a94 // xtn v20.4h, v20.4s
- .long 0x0f1856b6 // shl v22.4h, v21.4h, #8
- .long 0x2f1806b5 // ushr v21.4h, v21.4h, #8
- .long 0x1b037d08 // mul w8, w8, w3
- .long 0x531e7449 // lsl w9, w2, #2
- .long 0x0eb51ed2 // orr v18.8b, v22.8b, v21.8b
- .long 0x0f185695 // shl v21.4h, v20.4h, #8
- .long 0x2f180694 // ushr v20.4h, v20.4h, #8
- .long 0x8b28c548 // add x8, x10, w8, sxtw #1
- .long 0x8b29c508 // add x8, x8, w9, sxtw #1
- .long 0x0eb41eb3 // orr v19.8b, v21.8b, v20.8b
- .long 0xb50000a4 // cbnz x4, 3e60 <_sk_store_u16_be_aarch64+0x9c>
- .long 0x0c000510 // st4 {v16.4h-v19.4h}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0xf100049f // cmp x4, #0x1
- .long 0x0d206110 // st4 {v16.h-v19.h}[0], [x8]
- .long 0x54ffff60 // b.eq 3e54 <_sk_store_u16_be_aarch64+0x90> // b.none
- .long 0x91002109 // add x9, x8, #0x8
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x0d206930 // st4 {v16.h-v19.h}[1], [x9]
- .long 0x54fffee3 // b.cc 3e54 <_sk_store_u16_be_aarch64+0x90> // b.lo, b.ul, b.last
- .long 0x91004108 // add x8, x8, #0x10
- .long 0x0d207110 // st4 {v16.h-v19.h}[2], [x8]
- .long 0x17fffff4 // b 3e54 <_sk_store_u16_be_aarch64+0x90>
-
-HIDDEN _sk_load_f32_aarch64
-.globl _sk_load_f32_aarch64
-FUNCTION(_sk_load_f32_aarch64)
-_sk_load_f32_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x531e744a // lsl w10, w2, #2
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0x8b2ac908 // add x8, x8, w10, sxtw #2
- .long 0xb50000a4 // cbnz x4, 3eb8 <_sk_load_f32_aarch64+0x30>
- .long 0x4c400900 // ld4 {v0.4s-v3.4s}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d60a100 // ld4 {v0.s-v3.s}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54ffff60 // b.eq 3eac <_sk_load_f32_aarch64+0x24> // b.none
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x0d60b120 // ld4 {v0.s-v3.s}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffee3 // b.cc 3eac <_sk_load_f32_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91008108 // add x8, x8, #0x20
- .long 0x4d60a100 // ld4 {v0.s-v3.s}[2], [x8]
- .long 0x17fffff4 // b 3eac <_sk_load_f32_aarch64+0x24>
-
-HIDDEN _sk_load_f32_dst_aarch64
-.globl _sk_load_f32_dst_aarch64
-FUNCTION(_sk_load_f32_dst_aarch64)
-_sk_load_f32_dst_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x531e744a // lsl w10, w2, #2
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0x8b2ac908 // add x8, x8, w10, sxtw #2
- .long 0xb50000a4 // cbnz x4, 3f10 <_sk_load_f32_dst_aarch64+0x30>
- .long 0x4c400904 // ld4 {v4.4s-v7.4s}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0x0d60a104 // ld4 {v4.s-v7.s}[0], [x8]
- .long 0xf100049f // cmp x4, #0x1
- .long 0x54ffff60 // b.eq 3f04 <_sk_load_f32_dst_aarch64+0x24> // b.none
- .long 0x91004109 // add x9, x8, #0x10
- .long 0x0d60b124 // ld4 {v4.s-v7.s}[1], [x9]
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x54fffee3 // b.cc 3f04 <_sk_load_f32_dst_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91008108 // add x8, x8, #0x20
- .long 0x4d60a104 // ld4 {v4.s-v7.s}[2], [x8]
- .long 0x17fffff4 // b 3f04 <_sk_load_f32_dst_aarch64+0x24>
-
-HIDDEN _sk_store_f32_aarch64
-.globl _sk_store_f32_aarch64
-FUNCTION(_sk_store_f32_aarch64)
-_sk_store_f32_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x531e744a // lsl w10, w2, #2
- .long 0xb9400909 // ldr w9, [x8, #8]
- .long 0xf9400108 // ldr x8, [x8]
- .long 0x1b037d29 // mul w9, w9, w3
- .long 0x8b29c908 // add x8, x8, w9, sxtw #2
- .long 0x8b2ac908 // add x8, x8, w10, sxtw #2
- .long 0xb50000a4 // cbnz x4, 3f68 <_sk_store_f32_aarch64+0x30>
- .long 0x4c000900 // st4 {v0.4s-v3.4s}, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
- .long 0xf100049f // cmp x4, #0x1
- .long 0x0d20a100 // st4 {v0.s-v3.s}[0], [x8]
- .long 0x54ffff60 // b.eq 3f5c <_sk_store_f32_aarch64+0x24> // b.none
- .long 0x91004109 // add x9, x8, #0x10
- .long 0xf1000c9f // cmp x4, #0x3
- .long 0x0d20b120 // st4 {v0.s-v3.s}[1], [x9]
- .long 0x54fffee3 // b.cc 3f5c <_sk_store_f32_aarch64+0x24> // b.lo, b.ul, b.last
- .long 0x91008108 // add x8, x8, #0x20
- .long 0x4d20a100 // st4 {v0.s-v3.s}[2], [x8]
- .long 0x17fffff4 // b 3f5c <_sk_store_f32_aarch64+0x24>
-
-HIDDEN _sk_clamp_x_aarch64
-.globl _sk_clamp_x_aarch64
-FUNCTION(_sk_clamp_x_aarch64)
-_sk_clamp_x_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x6f00e411 // movi v17.2d, #0x0
- .long 0x4e20f620 // fmax v0.4s, v17.4s, v0.4s
- .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff
- .long 0x4d40c910 // ld1r {v16.4s}, [x8]
- .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clamp_y_aarch64
-.globl _sk_clamp_y_aarch64
-FUNCTION(_sk_clamp_y_aarch64)
-_sk_clamp_y_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x6f00e411 // movi v17.2d, #0x0
- .long 0x4e21f621 // fmax v1.4s, v17.4s, v1.4s
- .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff
- .long 0x4d40c910 // ld1r {v16.4s}, [x8]
- .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s
- .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_repeat_x_aarch64
-.globl _sk_repeat_x_aarch64
-FUNCTION(_sk_repeat_x_aarch64)
-_sk_repeat_x_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4
- .long 0xbd400111 // ldr s17, [x8]
- .long 0x4f919011 // fmul v17.4s, v0.4s, v17.s[0]
- .long 0x4e219a31 // frintm v17.4s, v17.4s
- .long 0x4eb1ce00 // fmls v0.4s, v16.4s, v17.4s
- .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff
- .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s
- .long 0x6f00e411 // movi v17.2d, #0x0
- .long 0x4e20f620 // fmax v0.4s, v17.4s, v0.4s
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_repeat_y_aarch64
-.globl _sk_repeat_y_aarch64
-FUNCTION(_sk_repeat_y_aarch64)
-_sk_repeat_y_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4
- .long 0xbd400111 // ldr s17, [x8]
- .long 0x4f919031 // fmul v17.4s, v1.4s, v17.s[0]
- .long 0x4e219a31 // frintm v17.4s, v17.4s
- .long 0x4eb1ce01 // fmls v1.4s, v16.4s, v17.4s
- .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff
- .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s
- .long 0x6f00e411 // movi v17.2d, #0x0
- .long 0x4e21f621 // fmax v1.4s, v17.4s, v1.4s
- .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_mirror_x_aarch64
-.globl _sk_mirror_x_aarch64
-FUNCTION(_sk_mirror_x_aarch64)
-_sk_mirror_x_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x1e2c1012 // fmov s18, #5.000000000000000000e-01
- .long 0x6f00e413 // movi v19.2d, #0x0
- .long 0x2d404111 // ldp s17, s16, [x8]
- .long 0x1e320a10 // fmul s16, s16, s18
- .long 0x4e040632 // dup v18.4s, v17.s[0]
- .long 0x4eb2d400 // fsub v0.4s, v0.4s, v18.4s
- .long 0x4f909010 // fmul v16.4s, v0.4s, v16.s[0]
- .long 0x1e312a31 // fadd s17, s17, s17
- .long 0x4e219a10 // frintm v16.4s, v16.4s
- .long 0x4f915200 // fmls v0.4s, v16.4s, v17.s[0]
- .long 0x4eb2d400 // fsub v0.4s, v0.4s, v18.4s
- .long 0x6f07e7f0 // movi v16.2d, #0xffffffffffffffff
- .long 0x4ea0f800 // fabs v0.4s, v0.4s
- .long 0x4eb08650 // add v16.4s, v18.4s, v16.4s
- .long 0x4e20f660 // fmax v0.4s, v19.4s, v0.4s
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_mirror_y_aarch64
-.globl _sk_mirror_y_aarch64
-FUNCTION(_sk_mirror_y_aarch64)
-_sk_mirror_y_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x1e2c1012 // fmov s18, #5.000000000000000000e-01
- .long 0x6f00e413 // movi v19.2d, #0x0
- .long 0x2d404111 // ldp s17, s16, [x8]
- .long 0x1e320a10 // fmul s16, s16, s18
- .long 0x4e040632 // dup v18.4s, v17.s[0]
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x4f909030 // fmul v16.4s, v1.4s, v16.s[0]
- .long 0x1e312a31 // fadd s17, s17, s17
- .long 0x4e219a10 // frintm v16.4s, v16.4s
- .long 0x4f915201 // fmls v1.4s, v16.4s, v17.s[0]
- .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s
- .long 0x6f07e7f0 // movi v16.2d, #0xffffffffffffffff
- .long 0x4ea0f821 // fabs v1.4s, v1.4s
- .long 0x4eb08650 // add v16.4s, v18.4s, v16.4s
- .long 0x4e21f661 // fmax v1.4s, v19.4s, v1.4s
- .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clamp_x_1_aarch64
-.globl _sk_clamp_x_1_aarch64
-FUNCTION(_sk_clamp_x_1_aarch64)
-_sk_clamp_x_1_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6f00e410 // movi v16.2d, #0x0
- .long 0x4e20f600 // fmax v0.4s, v16.4s, v0.4s
- .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_repeat_x_1_aarch64
-.globl _sk_repeat_x_1_aarch64
-FUNCTION(_sk_repeat_x_1_aarch64)
-_sk_repeat_x_1_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e219810 // frintm v16.4s, v0.4s
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_mirror_x_1_aarch64
-.globl _sk_mirror_x_1_aarch64
-FUNCTION(_sk_mirror_x_1_aarch64)
-_sk_mirror_x_1_aarch64:
- .long 0x4f07f610 // fmov v16.4s, #-1.000000000000000000e+00
- .long 0x4f0167f1 // movi v17.4s, #0x3f, lsl #24
- .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s
- .long 0x6e31dc11 // fmul v17.4s, v0.4s, v17.4s
- .long 0x4e219a31 // frintm v17.4s, v17.4s
- .long 0x4e31d631 // fadd v17.4s, v17.4s, v17.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4eb1d400 // fsub v0.4s, v0.4s, v17.4s
- .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s
- .long 0x4ea0f800 // fabs v0.4s, v0.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_luminance_to_alpha_aarch64
-.globl _sk_luminance_to_alpha_aarch64
-FUNCTION(_sk_luminance_to_alpha_aarch64)
-_sk_luminance_to_alpha_aarch64:
- .long 0x52a7cb28 // mov w8, #0x3e590000
- .long 0x72967a08 // movk w8, #0xb3d0
- .long 0x4e040d11 // dup v17.4s, w8
- .long 0x52a7e6e8 // mov w8, #0x3f370000
- .long 0x7282eb28 // movk w8, #0x1759
- .long 0x4ea01c10 // mov v16.16b, v0.16b
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x52a7b268 // mov w8, #0x3d930000
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x729bb308 // movk w8, #0xdd98
- .long 0x6e20dc23 // fmul v3.4s, v1.4s, v0.4s
- .long 0x4e30ce23 // fmla v3.4s, v17.4s, v16.4s
- .long 0x4e040d10 // dup v16.4s, w8
- .long 0x6f00e400 // movi v0.2d, #0x0
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x4e22ce03 // fmla v3.4s, v16.4s, v2.4s
- .long 0x6f00e402 // movi v2.2d, #0x0
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_translate_aarch64
-.globl _sk_matrix_translate_aarch64
-FUNCTION(_sk_matrix_translate_aarch64)
-_sk_matrix_translate_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4
- .long 0x4d40c911 // ld1r {v17.4s}, [x8]
- .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s
- .long 0x4e21d621 // fadd v1.4s, v17.4s, v1.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_scale_translate_aarch64
-.globl _sk_matrix_scale_translate_aarch64
-FUNCTION(_sk_matrix_scale_translate_aarch64)
-_sk_matrix_scale_translate_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x2d414d12 // ldp s18, s19, [x8, #8]
- .long 0x4ddfc930 // ld1r {v16.4s}, [x9], #4
- .long 0x4d40c931 // ld1r {v17.4s}, [x9]
- .long 0x4f921010 // fmla v16.4s, v0.4s, v18.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4f931031 // fmla v17.4s, v1.4s, v19.s[0]
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_2x3_aarch64
-.globl _sk_matrix_2x3_aarch64
-FUNCTION(_sk_matrix_2x3_aarch64)
-_sk_matrix_2x3_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x9100410a // add x10, x8, #0x10
- .long 0x4ddfc932 // ld1r {v18.4s}, [x9], #4
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x2d415113 // ldp s19, s20, [x8, #8]
- .long 0x9100510a // add x10, x8, #0x14
- .long 0x4d40c951 // ld1r {v17.4s}, [x10]
- .long 0x4f931030 // fmla v16.4s, v1.4s, v19.s[0]
- .long 0xbd400133 // ldr s19, [x9]
- .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0]
- .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s
- .long 0x4f931011 // fmla v17.4s, v0.4s, v19.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_3x4_aarch64
-.globl _sk_matrix_3x4_aarch64
-FUNCTION(_sk_matrix_3x4_aarch64)
-_sk_matrix_3x4_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x9100910a // add x10, x8, #0x24
- .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x9100a10a // add x10, x8, #0x28
- .long 0x4d40c951 // ld1r {v17.4s}, [x10]
- .long 0x9100b10a // add x10, x8, #0x2c
- .long 0x2d435514 // ldp s20, s21, [x8, #24]
- .long 0xbd402116 // ldr s22, [x8, #32]
- .long 0x4d40c952 // ld1r {v18.4s}, [x10]
- .long 0x4f941050 // fmla v16.4s, v2.4s, v20.s[0]
- .long 0x4f951051 // fmla v17.4s, v2.4s, v21.s[0]
- .long 0x4f961052 // fmla v18.4s, v2.4s, v22.s[0]
- .long 0x2d425502 // ldp s2, s21, [x8, #16]
- .long 0x2d415d14 // ldp s20, s23, [x8, #8]
- .long 0x4f821031 // fmla v17.4s, v1.4s, v2.s[0]
- .long 0xbd400122 // ldr s2, [x9]
- .long 0x4f971030 // fmla v16.4s, v1.4s, v23.s[0]
- .long 0x4f951032 // fmla v18.4s, v1.4s, v21.s[0]
- .long 0x4e20ce70 // fmla v16.4s, v19.4s, v0.4s
- .long 0x4f941012 // fmla v18.4s, v0.4s, v20.s[0]
- .long 0x4f821011 // fmla v17.4s, v0.4s, v2.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb21e42 // mov v2.16b, v18.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_4x5_aarch64
-.globl _sk_matrix_4x5_aarch64
-FUNCTION(_sk_matrix_4x5_aarch64)
-_sk_matrix_4x5_aarch64:
- .long 0xf9400029 // ldr x9, [x1]
- .long 0xaa0903e8 // mov x8, x9
- .long 0x9101012a // add x10, x9, #0x40
- .long 0x4ddfc914 // ld1r {v20.4s}, [x8], #4
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x9101112a // add x10, x9, #0x44
- .long 0x4d40c951 // ld1r {v17.4s}, [x10]
- .long 0x9101212a // add x10, x9, #0x48
- .long 0x4d40c952 // ld1r {v18.4s}, [x10]
- .long 0x2d465533 // ldp s19, s21, [x9, #48]
- .long 0x2d475d36 // ldp s22, s23, [x9, #56]
- .long 0x9101312a // add x10, x9, #0x4c
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f931070 // fmla v16.4s, v3.4s, v19.s[0]
- .long 0x4d40c953 // ld1r {v19.4s}, [x10]
- .long 0x4f951071 // fmla v17.4s, v3.4s, v21.s[0]
- .long 0x4f961072 // fmla v18.4s, v3.4s, v22.s[0]
- .long 0x2d445935 // ldp s21, s22, [x9, #32]
- .long 0x4f971073 // fmla v19.4s, v3.4s, v23.s[0]
- .long 0x2d455d23 // ldp s3, s23, [x9, #40]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0x4f951050 // fmla v16.4s, v2.4s, v21.s[0]
- .long 0x4f961051 // fmla v17.4s, v2.4s, v22.s[0]
- .long 0x2d425935 // ldp s21, s22, [x9, #16]
- .long 0x4f971053 // fmla v19.4s, v2.4s, v23.s[0]
- .long 0x4f831052 // fmla v18.4s, v2.4s, v3.s[0]
- .long 0x2d410d22 // ldp s2, s3, [x9, #8]
- .long 0x4f951030 // fmla v16.4s, v1.4s, v21.s[0]
- .long 0x2d435d35 // ldp s21, s23, [x9, #24]
- .long 0x4f961031 // fmla v17.4s, v1.4s, v22.s[0]
- .long 0xbd400116 // ldr s22, [x8]
- .long 0x4e20ce90 // fmla v16.4s, v20.4s, v0.4s
- .long 0x4f951032 // fmla v18.4s, v1.4s, v21.s[0]
- .long 0x4f971033 // fmla v19.4s, v1.4s, v23.s[0]
- .long 0x4f821012 // fmla v18.4s, v0.4s, v2.s[0]
- .long 0x4f831013 // fmla v19.4s, v0.4s, v3.s[0]
- .long 0x4f961011 // fmla v17.4s, v0.4s, v22.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0x4eb21e42 // mov v2.16b, v18.16b
- .long 0x4eb31e63 // mov v3.16b, v19.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_4x3_aarch64
-.globl _sk_matrix_4x3_aarch64
-FUNCTION(_sk_matrix_4x3_aarch64)
-_sk_matrix_4x3_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0xaa0803e9 // mov x9, x8
- .long 0x9100810a // add x10, x8, #0x20
- .long 0x4ddfc932 // ld1r {v18.4s}, [x9], #4
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x9100910a // add x10, x8, #0x24
- .long 0x4d40c951 // ld1r {v17.4s}, [x10]
- .long 0x9100a10a // add x10, x8, #0x28
- .long 0x2d425113 // ldp s19, s20, [x8, #16]
- .long 0x4d40c942 // ld1r {v2.4s}, [x10]
- .long 0x9100b10a // add x10, x8, #0x2c
- .long 0x2d435915 // ldp s21, s22, [x8, #24]
- .long 0x4d40c943 // ld1r {v3.4s}, [x10]
- .long 0x4f931030 // fmla v16.4s, v1.4s, v19.s[0]
- .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s
- .long 0xbd400132 // ldr s18, [x9]
- .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0]
- .long 0x4f951022 // fmla v2.4s, v1.4s, v21.s[0]
- .long 0x4f961023 // fmla v3.4s, v1.4s, v22.s[0]
- .long 0x2d414d01 // ldp s1, s19, [x8, #8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f921011 // fmla v17.4s, v0.4s, v18.s[0]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0x4f811002 // fmla v2.4s, v0.4s, v1.s[0]
- .long 0x4f931003 // fmla v3.4s, v0.4s, v19.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x4eb11e21 // mov v1.16b, v17.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_matrix_perspective_aarch64
-.globl _sk_matrix_perspective_aarch64
-FUNCTION(_sk_matrix_perspective_aarch64)
-_sk_matrix_perspective_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x9100510a // add x10, x8, #0x14
- .long 0x4ddfc930 // ld1r {v16.4s}, [x9], #4
- .long 0x4d40c951 // ld1r {v17.4s}, [x10]
- .long 0x9100810a // add x10, x8, #0x20
- .long 0x4d40c952 // ld1r {v18.4s}, [x10]
- .long 0x2d41d113 // ldp s19, s20, [x8, #12]
- .long 0x2d435915 // ldp s21, s22, [x8, #24]
- .long 0x91002108 // add x8, x8, #0x8
- .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0]
- .long 0x4d40c914 // ld1r {v20.4s}, [x8]
- .long 0x4f961032 // fmla v18.4s, v1.4s, v22.s[0]
- .long 0xbd400136 // ldr s22, [x9]
- .long 0x4f951012 // fmla v18.4s, v0.4s, v21.s[0]
- .long 0x4f931011 // fmla v17.4s, v0.4s, v19.s[0]
- .long 0x4f961034 // fmla v20.4s, v1.4s, v22.s[0]
- .long 0x4ea1da41 // frecpe v1.4s, v18.4s
- .long 0x4e21fe52 // frecps v18.4s, v18.4s, v1.4s
- .long 0x6e32dc32 // fmul v18.4s, v1.4s, v18.4s
- .long 0x4e20ce14 // fmla v20.4s, v16.4s, v0.4s
- .long 0x6e32de21 // fmul v1.4s, v17.4s, v18.4s
- .long 0x6e32de80 // fmul v0.4s, v20.4s, v18.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_evenly_spaced_gradient_aarch64
-.globl _sk_evenly_spaced_gradient_aarch64
-FUNCTION(_sk_evenly_spaced_gradient_aarch64)
-_sk_evenly_spaced_gradient_aarch64:
- .long 0xd10043ff // sub sp, sp, #0x10
- .long 0xaa0103e8 // mov x8, x1
- .long 0x91002109 // add x9, x8, #0x8
- .long 0xf90007e9 // str x9, [sp, #8]
- .long 0xf841042a // ldr x10, [x1], #16
- .long 0xa940254b // ldp x11, x9, [x10]
- .long 0xa942354c // ldp x12, x13, [x10, #32]
- .long 0xa9413d4e // ldp x14, x15, [x10, #16]
- .long 0xa9434550 // ldp x16, x17, [x10, #48]
- .long 0xd100056b // sub x11, x11, #0x1
- .long 0x9e230161 // ucvtf s1, x11
- .long 0xf940214a // ldr x10, [x10, #64]
- .long 0x4f819001 // fmul v1.4s, v0.4s, v1.s[0]
- .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s
- .long 0x6f20a422 // uxtl2 v2.2d, v1.4s
- .long 0x2f20a421 // uxtl v1.2d, v1.2s
- .long 0x9e660025 // fmov x5, d1
- .long 0x9e660047 // fmov x7, d2
- .long 0x4e183c2b // mov x11, v1.d[1]
- .long 0x4e183c46 // mov x6, v2.d[1]
- .long 0xbc677921 // ldr s1, [x9, x7, lsl #2]
- .long 0xbc6779a2 // ldr s2, [x13, x7, lsl #2]
- .long 0xbc6779c3 // ldr s3, [x14, x7, lsl #2]
- .long 0xbc677a11 // ldr s17, [x16, x7, lsl #2]
- .long 0xbc6779f2 // ldr s18, [x15, x7, lsl #2]
- .long 0xbc677a33 // ldr s19, [x17, x7, lsl #2]
- .long 0xbc677994 // ldr s20, [x12, x7, lsl #2]
- .long 0xbc677955 // ldr s21, [x10, x7, lsl #2]
- .long 0x8b050927 // add x7, x9, x5, lsl #2
- .long 0x0d4080f6 // ld1 {v22.s}[0], [x7]
- .long 0x8b0509a7 // add x7, x13, x5, lsl #2
- .long 0x0d4080f0 // ld1 {v16.s}[0], [x7]
- .long 0x8b0b0927 // add x7, x9, x11, lsl #2
- .long 0x0d4090f6 // ld1 {v22.s}[1], [x7]
- .long 0x8b0509c7 // add x7, x14, x5, lsl #2
- .long 0x0d4080f7 // ld1 {v23.s}[0], [x7]
- .long 0x8b050a07 // add x7, x16, x5, lsl #2
- .long 0x6e140436 // mov v22.s[2], v1.s[0]
- .long 0x0d4080e1 // ld1 {v1.s}[0], [x7]
- .long 0x8b0b09a7 // add x7, x13, x11, lsl #2
- .long 0x0d4090f0 // ld1 {v16.s}[1], [x7]
- .long 0x8b0b09c7 // add x7, x14, x11, lsl #2
- .long 0x0d4090f7 // ld1 {v23.s}[1], [x7]
- .long 0x8b0509e7 // add x7, x15, x5, lsl #2
- .long 0x0d4080f8 // ld1 {v24.s}[0], [x7]
- .long 0x8b050a27 // add x7, x17, x5, lsl #2
- .long 0x6e140450 // mov v16.s[2], v2.s[0]
- .long 0x0d4080e2 // ld1 {v2.s}[0], [x7]
- .long 0x8b0b0a07 // add x7, x16, x11, lsl #2
- .long 0x0d4090e1 // ld1 {v1.s}[1], [x7]
- .long 0x8b0b09e7 // add x7, x15, x11, lsl #2
- .long 0x0d4090f8 // ld1 {v24.s}[1], [x7]
- .long 0x8b050987 // add x7, x12, x5, lsl #2
- .long 0x8b050945 // add x5, x10, x5, lsl #2
- .long 0x6e140477 // mov v23.s[2], v3.s[0]
- .long 0x0d4080a3 // ld1 {v3.s}[0], [x5]
- .long 0x8b0b0a25 // add x5, x17, x11, lsl #2
- .long 0x6e140621 // mov v1.s[2], v17.s[0]
- .long 0x0d4080f1 // ld1 {v17.s}[0], [x7]
- .long 0x0d4090a2 // ld1 {v2.s}[1], [x5]
- .long 0x8b0b0985 // add x5, x12, x11, lsl #2
- .long 0x6e140658 // mov v24.s[2], v18.s[0]
- .long 0x0d4090b1 // ld1 {v17.s}[1], [x5]
- .long 0x6e140662 // mov v2.s[2], v19.s[0]
- .long 0xbc667932 // ldr s18, [x9, x6, lsl #2]
- .long 0xbc6679b3 // ldr s19, [x13, x6, lsl #2]
- .long 0x6e140691 // mov v17.s[2], v20.s[0]
- .long 0xbc6679d4 // ldr s20, [x14, x6, lsl #2]
- .long 0x6e1c0656 // mov v22.s[3], v18.s[0]
- .long 0xbc667a12 // ldr s18, [x16, x6, lsl #2]
- .long 0x6e1c0670 // mov v16.s[3], v19.s[0]
- .long 0xbc6679f3 // ldr s19, [x15, x6, lsl #2]
- .long 0x8b0b094b // add x11, x10, x11, lsl #2
- .long 0x0d409163 // ld1 {v3.s}[1], [x11]
- .long 0x6e1c0697 // mov v23.s[3], v20.s[0]
- .long 0xbc667a34 // ldr s20, [x17, x6, lsl #2]
- .long 0x6e1c0641 // mov v1.s[3], v18.s[0]
- .long 0xbc667992 // ldr s18, [x12, x6, lsl #2]
- .long 0x6e1c0678 // mov v24.s[3], v19.s[0]
- .long 0xbc667953 // ldr s19, [x10, x6, lsl #2]
- .long 0xf9400505 // ldr x5, [x8, #8]
- .long 0x6e1406a3 // mov v3.s[2], v21.s[0]
- .long 0x6e1c0682 // mov v2.s[3], v20.s[0]
- .long 0x6e1c0651 // mov v17.s[3], v18.s[0]
- .long 0x6e1c0663 // mov v3.s[3], v19.s[0]
- .long 0x4e20ced0 // fmla v16.4s, v22.4s, v0.4s
- .long 0x4e20cee1 // fmla v1.4s, v23.4s, v0.4s
- .long 0x4e20cf02 // fmla v2.4s, v24.4s, v0.4s
- .long 0x4e20ce23 // fmla v3.4s, v17.4s, v0.4s
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x910043ff // add sp, sp, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_gauss_a_to_rgba_aarch64
-.globl _sk_gauss_a_to_rgba_aarch64
-FUNCTION(_sk_gauss_a_to_rgba_aarch64)
-_sk_gauss_a_to_rgba_aarch64:
- .long 0x52b80228 // mov w8, #0xc0110000
- .long 0x728205a8 // movk w8, #0x102d
- .long 0x52a80729 // mov w9, #0x40390000
- .long 0x728f0249 // movk w9, #0x7812
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x52a7cb48 // mov w8, #0x3e5a0000
- .long 0x72928408 // movk w8, #0x9420
- .long 0x4e040d21 // dup v1.4s, w9
- .long 0x52a7c3c9 // mov w9, #0x3e1e0000
- .long 0x7293a089 // movk w9, #0x9d04
- .long 0x4e040d02 // dup v2.4s, w8
- .long 0x52a73428 // mov w8, #0x39a10000
- .long 0x4e23cc01 // fmla v1.4s, v0.4s, v3.4s
- .long 0x72830008 // movk w8, #0x1800
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x4e23cc22 // fmla v2.4s, v1.4s, v3.4s
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x4e23cc50 // fmla v16.4s, v2.4s, v3.4s
- .long 0x4e23ce00 // fmla v0.4s, v16.4s, v3.4s
- .long 0x4ea01c01 // mov v1.16b, v0.16b
- .long 0x4ea01c02 // mov v2.16b, v0.16b
- .long 0x4ea01c03 // mov v3.16b, v0.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_gradient_aarch64
-.globl _sk_gradient_aarch64
-FUNCTION(_sk_gradient_aarch64)
-_sk_gradient_aarch64:
- .long 0xd10043ff // sub sp, sp, #0x10
- .long 0x91002028 // add x8, x1, #0x8
- .long 0xf90007e8 // str x8, [sp, #8]
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x6f00e411 // movi v17.2d, #0x0
- .long 0xf9400109 // ldr x9, [x8]
- .long 0xf100093f // cmp x9, #0x2
- .long 0x540001c3 // b.cc 45e8 <_sk_gradient_aarch64+0x58> // b.lo, b.ul, b.last
- .long 0xf940250a // ldr x10, [x8, #72]
- .long 0xd1000529 // sub x9, x9, #0x1
- .long 0x6f00e401 // movi v1.2d, #0x0
- .long 0x4f000422 // movi v2.4s, #0x1
- .long 0x9100114a // add x10, x10, #0x4
- .long 0x4ddfc943 // ld1r {v3.4s}, [x10], #4
- .long 0xd1000529 // sub x9, x9, #0x1
- .long 0x6e23e403 // fcmge v3.4s, v0.4s, v3.4s
- .long 0x4e221c63 // and v3.16b, v3.16b, v2.16b
- .long 0x4ea18461 // add v1.4s, v3.4s, v1.4s
- .long 0xb5ffff69 // cbnz x9, 45c8 <_sk_gradient_aarch64+0x38>
- .long 0x6f20a431 // uxtl2 v17.2d, v1.4s
- .long 0x2f20a421 // uxtl v1.2d, v1.2s
- .long 0xa940b10a // ldp x10, x12, [x8, #8]
- .long 0xa942b90d // ldp x13, x14, [x8, #40]
- .long 0x9e66002b // fmov x11, d1
- .long 0xa941c10f // ldp x15, x16, [x8, #24]
- .long 0x8b0b0941 // add x1, x10, x11, lsl #2
- .long 0xa943a111 // ldp x17, x8, [x8, #56]
- .long 0x0d408032 // ld1 {v18.s}[0], [x1]
- .long 0x8b0b09a1 // add x1, x13, x11, lsl #2
- .long 0x0d408030 // ld1 {v16.s}[0], [x1]
- .long 0x8b0b0981 // add x1, x12, x11, lsl #2
- .long 0x0d408033 // ld1 {v19.s}[0], [x1]
- .long 0x8b0b09c1 // add x1, x14, x11, lsl #2
- .long 0x4e183c29 // mov x9, v1.d[1]
- .long 0x0d408021 // ld1 {v1.s}[0], [x1]
- .long 0x8b0b09e1 // add x1, x15, x11, lsl #2
- .long 0x0d408034 // ld1 {v20.s}[0], [x1]
- .long 0x8b0b0a21 // add x1, x17, x11, lsl #2
- .long 0x0d408022 // ld1 {v2.s}[0], [x1]
- .long 0x8b0b0a01 // add x1, x16, x11, lsl #2
- .long 0x8b0b090b // add x11, x8, x11, lsl #2
- .long 0x0d408163 // ld1 {v3.s}[0], [x11]
- .long 0x8b09094b // add x11, x10, x9, lsl #2
- .long 0x0d409172 // ld1 {v18.s}[1], [x11]
- .long 0x8b0909ab // add x11, x13, x9, lsl #2
- .long 0x0d409170 // ld1 {v16.s}[1], [x11]
- .long 0x8b09098b // add x11, x12, x9, lsl #2
- .long 0x0d409173 // ld1 {v19.s}[1], [x11]
- .long 0x8b0909cb // add x11, x14, x9, lsl #2
- .long 0x0d409161 // ld1 {v1.s}[1], [x11]
- .long 0x8b0909eb // add x11, x15, x9, lsl #2
- .long 0x9e660225 // fmov x5, d17
- .long 0x0d409174 // ld1 {v20.s}[1], [x11]
- .long 0x4e183e2b // mov x11, v17.d[1]
- .long 0xbc6b7951 // ldr s17, [x10, x11, lsl #2]
- .long 0x8b05094a // add x10, x10, x5, lsl #2
- .long 0x4d408152 // ld1 {v18.s}[2], [x10]
- .long 0x8b0509aa // add x10, x13, x5, lsl #2
- .long 0x0d408035 // ld1 {v21.s}[0], [x1]
- .long 0xbc6b79b6 // ldr s22, [x13, x11, lsl #2]
- .long 0x4d408150 // ld1 {v16.s}[2], [x10]
- .long 0x8b05098a // add x10, x12, x5, lsl #2
- .long 0x4d408153 // ld1 {v19.s}[2], [x10]
- .long 0x8b0509ca // add x10, x14, x5, lsl #2
- .long 0x4d408141 // ld1 {v1.s}[2], [x10]
- .long 0x8b090a2a // add x10, x17, x9, lsl #2
- .long 0xbc6b7997 // ldr s23, [x12, x11, lsl #2]
- .long 0x8b0509ec // add x12, x15, x5, lsl #2
- .long 0x0d409142 // ld1 {v2.s}[1], [x10]
- .long 0x8b090a0a // add x10, x16, x9, lsl #2
- .long 0x8b090909 // add x9, x8, x9, lsl #2
- .long 0x6e1c0632 // mov v18.s[3], v17.s[0]
- .long 0xbc6b79d1 // ldr s17, [x14, x11, lsl #2]
- .long 0x6e1c06d0 // mov v16.s[3], v22.s[0]
- .long 0xbc6b79f6 // ldr s22, [x15, x11, lsl #2]
- .long 0x0d409155 // ld1 {v21.s}[1], [x10]
- .long 0x4d408194 // ld1 {v20.s}[2], [x12]
- .long 0x0d409123 // ld1 {v3.s}[1], [x9]
- .long 0xf94007e1 // ldr x1, [sp, #8]
- .long 0x8b050a2d // add x13, x17, x5, lsl #2
- .long 0x8b050a0e // add x14, x16, x5, lsl #2
- .long 0x8b05090f // add x15, x8, x5, lsl #2
- .long 0x6e1c06f3 // mov v19.s[3], v23.s[0]
- .long 0xbc6b7a37 // ldr s23, [x17, x11, lsl #2]
- .long 0x6e1c0621 // mov v1.s[3], v17.s[0]
- .long 0xbc6b7a11 // ldr s17, [x16, x11, lsl #2]
- .long 0x4d4081a2 // ld1 {v2.s}[2], [x13]
- .long 0x4d4081d5 // ld1 {v21.s}[2], [x14]
- .long 0x6e1c06d4 // mov v20.s[3], v22.s[0]
- .long 0xbc6b7916 // ldr s22, [x8, x11, lsl #2]
- .long 0x4d4081e3 // ld1 {v3.s}[2], [x15]
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e1c06e2 // mov v2.s[3], v23.s[0]
- .long 0x6e1c0635 // mov v21.s[3], v17.s[0]
- .long 0x6e1c06c3 // mov v3.s[3], v22.s[0]
- .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s
- .long 0x4e20ce61 // fmla v1.4s, v19.4s, v0.4s
- .long 0x4e20ce82 // fmla v2.4s, v20.4s, v0.4s
- .long 0x4e20cea3 // fmla v3.4s, v21.4s, v0.4s
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0x910043ff // add sp, sp, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_evenly_spaced_2_stop_gradient_aarch64
-.globl _sk_evenly_spaced_2_stop_gradient_aarch64
-FUNCTION(_sk_evenly_spaced_2_stop_gradient_aarch64)
-_sk_evenly_spaced_2_stop_gradient_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0xaa0803e9 // mov x9, x8
- .long 0x9100410a // add x10, x8, #0x10
- .long 0x4ddfc931 // ld1r {v17.4s}, [x9], #4
- .long 0x4d40c950 // ld1r {v16.4s}, [x10]
- .long 0x9100510a // add x10, x8, #0x14
- .long 0x4d40c941 // ld1r {v1.4s}, [x10]
- .long 0x9100610a // add x10, x8, #0x18
- .long 0x4d40c942 // ld1r {v2.4s}, [x10]
- .long 0x9100710a // add x10, x8, #0x1c
- .long 0x2d414d12 // ldp s18, s19, [x8, #8]
- .long 0x4d40c943 // ld1r {v3.4s}, [x10]
- .long 0x4e20ce30 // fmla v16.4s, v17.4s, v0.4s
- .long 0xbd400131 // ldr s17, [x9]
- .long 0x4f921002 // fmla v2.4s, v0.4s, v18.s[0]
- .long 0x4f931003 // fmla v3.4s, v0.4s, v19.s[0]
- .long 0x4f911001 // fmla v1.4s, v0.4s, v17.s[0]
- .long 0x4eb01e00 // mov v0.16b, v16.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xy_to_unit_angle_aarch64
-.globl _sk_xy_to_unit_angle_aarch64
-FUNCTION(_sk_xy_to_unit_angle_aarch64)
-_sk_xy_to_unit_angle_aarch64:
- .long 0x52b77ce8 // mov w8, #0xbbe70000
- .long 0x72856de8 // movk w8, #0x2b6f
- .long 0x4ea0f810 // fabs v16.4s, v0.4s
- .long 0x4ea0f831 // fabs v17.4s, v1.4s
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a79948 // mov w8, #0x3cca0000
- .long 0x729af3e8 // movk w8, #0xd79f
- .long 0x4eb1f614 // fmin v20.4s, v16.4s, v17.4s
- .long 0x4e31f615 // fmax v21.4s, v16.4s, v17.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x52b7aa88 // mov w8, #0xbd540000
- .long 0x6e35fe94 // fdiv v20.4s, v20.4s, v21.4s
- .long 0x728c9a88 // movk w8, #0x64d4
- .long 0x6e34de95 // fmul v21.4s, v20.4s, v20.4s
- .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s
- .long 0x4e040d12 // dup v18.4s, w8
- .long 0x52a7c448 // mov w8, #0x3e220000
- .long 0x729e1528 // movk w8, #0xf0a9
- .long 0x4e35ce72 // fmla v18.4s, v19.4s, v21.4s
- .long 0x4e040d13 // dup v19.4s, w8
- .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s
- .long 0x4f02f612 // fmov v18.4s, #2.500000000000000000e-01
- .long 0x6e33de93 // fmul v19.4s, v20.4s, v19.4s
- .long 0x6eb0e630 // fcmgt v16.4s, v17.4s, v16.4s
- .long 0x4eb3d652 // fsub v18.4s, v18.4s, v19.4s
- .long 0x4f0167f5 // movi v21.4s, #0x3f, lsl #24
- .long 0x6e731e50 // bsl v16.16b, v18.16b, v19.16b
- .long 0x4ea0e800 // fcmlt v0.4s, v0.4s, #0.0
- .long 0x4eb0d6b2 // fsub v18.4s, v21.4s, v16.4s
- .long 0x4f03f614 // fmov v20.4s, #1.000000000000000000e+00
- .long 0x6e701e40 // bsl v0.16b, v18.16b, v16.16b
- .long 0x4ea0e831 // fcmlt v17.4s, v1.4s, #0.0
- .long 0x4ea0d690 // fsub v16.4s, v20.4s, v0.4s
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e601e11 // bsl v17.16b, v16.16b, v0.16b
- .long 0x6ea0ca20 // fcmge v0.4s, v17.4s, #0.0
- .long 0x4ea0ea30 // fcmlt v16.4s, v17.4s, #0.0
- .long 0x4ea01e00 // orr v0.16b, v16.16b, v0.16b
- .long 0x4e201e20 // and v0.16b, v17.16b, v0.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xy_to_radius_aarch64
-.globl _sk_xy_to_radius_aarch64
-FUNCTION(_sk_xy_to_radius_aarch64)
-_sk_xy_to_radius_aarch64:
- .long 0xf8408425 // ldr x5, [x1], #8
- .long 0x6e21dc30 // fmul v16.4s, v1.4s, v1.4s
- .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s
- .long 0x6ea1fa00 // fsqrt v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xy_to_2pt_conical_quadratic_max_aarch64
-.globl _sk_xy_to_2pt_conical_quadratic_max_aarch64
-FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_aarch64)
-_sk_xy_to_2pt_conical_quadratic_max_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4f04f614 // fmov v20.4s, #-4.000000000000000000e+00
- .long 0x2d444d10 // ldp s16, s19, [x8, #32]
- .long 0x2d454911 // ldp s17, s18, [x8, #40]
- .long 0x4f909290 // fmul v16.4s, v20.4s, v16.s[0]
- .long 0x4f0167f4 // movi v20.4s, #0x3f, lsl #24
- .long 0x4f939293 // fmul v19.4s, v20.4s, v19.s[0]
- .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s
- .long 0x1e310a52 // fmul s18, s18, s17
- .long 0x1e310a31 // fmul s17, s17, s17
- .long 0x4e20cc14 // fmla v20.4s, v0.4s, v0.4s
- .long 0x4e040652 // dup v18.4s, v18.s[0]
- .long 0x4e040631 // dup v17.4s, v17.s[0]
- .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s
- .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s
- .long 0x4f066412 // movi v18.4s, #0xc0, lsl #24
- .long 0x6e32dc00 // fmul v0.4s, v0.4s, v18.4s
- .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s
- .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s
- .long 0x6ea0f811 // fneg v17.4s, v0.4s
- .long 0x6ea1fa10 // fsqrt v16.4s, v16.4s
- .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s
- .long 0x4eb0d630 // fsub v16.4s, v17.4s, v16.4s
- .long 0x6e20de60 // fmul v0.4s, v19.4s, v0.4s
- .long 0x6e30de70 // fmul v16.4s, v19.4s, v16.4s
- .long 0x4e30f400 // fmax v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xy_to_2pt_conical_quadratic_min_aarch64
-.globl _sk_xy_to_2pt_conical_quadratic_min_aarch64
-FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_aarch64)
-_sk_xy_to_2pt_conical_quadratic_min_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x4f04f614 // fmov v20.4s, #-4.000000000000000000e+00
- .long 0x2d444d10 // ldp s16, s19, [x8, #32]
- .long 0x2d454911 // ldp s17, s18, [x8, #40]
- .long 0x4f909290 // fmul v16.4s, v20.4s, v16.s[0]
- .long 0x4f0167f4 // movi v20.4s, #0x3f, lsl #24
- .long 0x4f939293 // fmul v19.4s, v20.4s, v19.s[0]
- .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s
- .long 0x1e310a52 // fmul s18, s18, s17
- .long 0x1e310a31 // fmul s17, s17, s17
- .long 0x4e20cc14 // fmla v20.4s, v0.4s, v0.4s
- .long 0x4e040652 // dup v18.4s, v18.s[0]
- .long 0x4e040631 // dup v17.4s, v17.s[0]
- .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s
- .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s
- .long 0x4f066412 // movi v18.4s, #0xc0, lsl #24
- .long 0x6e32dc00 // fmul v0.4s, v0.4s, v18.4s
- .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s
- .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s
- .long 0x6ea0f811 // fneg v17.4s, v0.4s
- .long 0x6ea1fa10 // fsqrt v16.4s, v16.4s
- .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s
- .long 0x4eb0d630 // fsub v16.4s, v17.4s, v16.4s
- .long 0x6e20de60 // fmul v0.4s, v19.4s, v0.4s
- .long 0x6e30de70 // fmul v16.4s, v19.4s, v16.4s
- .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_xy_to_2pt_conical_linear_aarch64
-.globl _sk_xy_to_2pt_conical_linear_aarch64
-FUNCTION(_sk_xy_to_2pt_conical_linear_aarch64)
-_sk_xy_to_2pt_conical_linear_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x6e21dc32 // fmul v18.4s, v1.4s, v1.4s
- .long 0x4e20cc12 // fmla v18.4s, v0.4s, v0.4s
- .long 0x2d454510 // ldp s16, s17, [x8, #40]
- .long 0x1e300a31 // fmul s17, s17, s16
- .long 0x1e300a10 // fmul s16, s16, s16
- .long 0x4e040631 // dup v17.4s, v17.s[0]
- .long 0x4e040610 // dup v16.4s, v16.s[0]
- .long 0x4e20d620 // fadd v0.4s, v17.4s, v0.4s
- .long 0x4f066411 // movi v17.4s, #0xc0, lsl #24
- .long 0x4eb0d650 // fsub v16.4s, v18.4s, v16.4s
- .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s
- .long 0x6ea0fa10 // fneg v16.4s, v16.4s
- .long 0x6e20fe00 // fdiv v0.4s, v16.4s, v0.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_mask_2pt_conical_degenerates_aarch64
-.globl _sk_mask_2pt_conical_degenerates_aarch64
-FUNCTION(_sk_mask_2pt_conical_degenerates_aarch64)
-_sk_mask_2pt_conical_degenerates_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x6ea0c812 // fcmge v18.4s, v0.4s, #0.0
- .long 0x4ea0e813 // fcmlt v19.4s, v0.4s, #0.0
- .long 0x4eb21e72 // orr v18.16b, v19.16b, v18.16b
- .long 0x9100a109 // add x9, x8, #0x28
- .long 0xbd402d10 // ldr s16, [x8, #44]
- .long 0x4d40c931 // ld1r {v17.4s}, [x9]
- .long 0x4f901011 // fmla v17.4s, v0.4s, v16.s[0]
- .long 0x6ea0ca30 // fcmge v16.4s, v17.4s, #0.0
- .long 0x0e612a10 // xtn v16.4h, v16.4s
- .long 0x0e612a51 // xtn v17.4h, v18.4s
- .long 0x0e311e10 // and v16.8b, v16.8b, v17.8b
- .long 0x2f10a610 // uxtl v16.4s, v16.4h
- .long 0x4f3f5610 // shl v16.4s, v16.4s, #31
- .long 0x4f210610 // sshr v16.4s, v16.4s, #31
- .long 0x3d800110 // str q16, [x8]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_apply_vector_mask_aarch64
-.globl _sk_apply_vector_mask_aarch64
-FUNCTION(_sk_apply_vector_mask_aarch64)
-_sk_apply_vector_mask_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x3dc00110 // ldr q16, [x8]
- .long 0x4e201e00 // and v0.16b, v16.16b, v0.16b
- .long 0x4e211e01 // and v1.16b, v16.16b, v1.16b
- .long 0x4e221e02 // and v2.16b, v16.16b, v2.16b
- .long 0x4e231e03 // and v3.16b, v16.16b, v3.16b
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_save_xy_aarch64
-.globl _sk_save_xy_aarch64
-FUNCTION(_sk_save_xy_aarch64)
-_sk_save_xy_aarch64:
- .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4e30d411 // fadd v17.4s, v0.4s, v16.4s
- .long 0x4e30d430 // fadd v16.4s, v1.4s, v16.4s
- .long 0x4e219a32 // frintm v18.4s, v17.4s
- .long 0x4eb2d631 // fsub v17.4s, v17.4s, v18.4s
- .long 0x4e219a12 // frintm v18.4s, v16.4s
- .long 0x4eb2d610 // fsub v16.4s, v16.4s, v18.4s
- .long 0x3d800100 // str q0, [x8]
- .long 0x3d800901 // str q1, [x8, #32]
- .long 0x3d801111 // str q17, [x8, #64]
- .long 0x3d801910 // str q16, [x8, #96]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_accumulate_aarch64
-.globl _sk_accumulate_aarch64
-FUNCTION(_sk_accumulate_aarch64)
-_sk_accumulate_aarch64:
- .long 0xa8c11428 // ldp x8, x5, [x1], #16
- .long 0x3dc02110 // ldr q16, [x8, #128]
- .long 0x3dc02911 // ldr q17, [x8, #160]
- .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s
- .long 0x4e30cc04 // fmla v4.4s, v0.4s, v16.4s
- .long 0x4e30cc25 // fmla v5.4s, v1.4s, v16.4s
- .long 0x4e30cc46 // fmla v6.4s, v2.4s, v16.4s
- .long 0x4e30cc67 // fmla v7.4s, v3.4s, v16.4s
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bilinear_nx_aarch64
-.globl _sk_bilinear_nx_aarch64
-FUNCTION(_sk_bilinear_nx_aarch64)
-_sk_bilinear_nx_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00
- .long 0x3dc01100 // ldr q0, [x8, #64]
- .long 0x3dc00110 // ldr q16, [x8]
- .long 0x4ea0d620 // fsub v0.4s, v17.4s, v0.4s
- .long 0x3d802100 // str q0, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0567e0 // movi v0.4s, #0xbf, lsl #24
- .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bilinear_px_aarch64
-.globl _sk_bilinear_px_aarch64
-FUNCTION(_sk_bilinear_px_aarch64)
-_sk_bilinear_px_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x3dc01100 // ldr q0, [x8, #64]
- .long 0x3dc00110 // ldr q16, [x8]
- .long 0x3d802100 // str q0, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0167e0 // movi v0.4s, #0x3f, lsl #24
- .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bilinear_ny_aarch64
-.globl _sk_bilinear_ny_aarch64
-FUNCTION(_sk_bilinear_ny_aarch64)
-_sk_bilinear_ny_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00
- .long 0x3dc01901 // ldr q1, [x8, #96]
- .long 0x3dc00910 // ldr q16, [x8, #32]
- .long 0x4ea1d621 // fsub v1.4s, v17.4s, v1.4s
- .long 0x3d802901 // str q1, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0567e1 // movi v1.4s, #0xbf, lsl #24
- .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bilinear_py_aarch64
-.globl _sk_bilinear_py_aarch64
-FUNCTION(_sk_bilinear_py_aarch64)
-_sk_bilinear_py_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x3dc01901 // ldr q1, [x8, #96]
- .long 0x3dc00910 // ldr q16, [x8, #32]
- .long 0x3d802901 // str q1, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0167e1 // movi v1.4s, #0x3f, lsl #24
- .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_n3x_aarch64
-.globl _sk_bicubic_n3x_aarch64
-FUNCTION(_sk_bicubic_n3x_aarch64)
-_sk_bicubic_n3x_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a7d8e9 // mov w9, #0x3ec70000
- .long 0x72838e49 // movk w9, #0x1c72
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x3dc01111 // ldr q17, [x8, #64]
- .long 0x52b7d549 // mov w9, #0xbeaa0000
- .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00
- .long 0x72955569 // movk w9, #0xaaab
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x4eb1d400 // fsub v0.4s, v0.4s, v17.4s
- .long 0x6e20dc11 // fmul v17.4s, v0.4s, v0.4s
- .long 0x4e20ce12 // fmla v18.4s, v16.4s, v0.4s
- .long 0x6e32de20 // fmul v0.4s, v17.4s, v18.4s
- .long 0x3dc00113 // ldr q19, [x8]
- .long 0x3d802100 // str q0, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f07f700 // fmov v0.4s, #-1.500000000000000000e+00
- .long 0x4e20d660 // fadd v0.4s, v19.4s, v0.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_n1x_aarch64
-.globl _sk_bicubic_n1x_aarch64
-FUNCTION(_sk_bicubic_n1x_aarch64)
-_sk_bicubic_n1x_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52b7f2a9 // mov w9, #0xbf950000
- .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00
- .long 0x728aaaa9 // movk w9, #0x5555
- .long 0x3dc01110 // ldr q16, [x8, #64]
- .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00
- .long 0x4f0167f2 // movi v18.4s, #0x3f, lsl #24
- .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x52a7ac69 // mov w9, #0x3d630000
- .long 0x7291c729 // movk w9, #0x8e39
- .long 0x4e20ce11 // fmla v17.4s, v16.4s, v0.4s
- .long 0x4e20ce32 // fmla v18.4s, v17.4s, v0.4s
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e20ce51 // fmla v17.4s, v18.4s, v0.4s
- .long 0x3dc00110 // ldr q16, [x8]
- .long 0x3d802111 // str q17, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0567e0 // movi v0.4s, #0xbf, lsl #24
- .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_p1x_aarch64
-.globl _sk_bicubic_p1x_aarch64
-FUNCTION(_sk_bicubic_p1x_aarch64)
-_sk_bicubic_p1x_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52b7f2a9 // mov w9, #0xbf950000
- .long 0x728aaaa9 // movk w9, #0x5555
- .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00
- .long 0x3dc01112 // ldr q18, [x8, #64]
- .long 0x3dc00100 // ldr q0, [x8]
- .long 0x4e040d33 // dup v19.4s, w9
- .long 0x52a7ac69 // mov w9, #0x3d630000
- .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24
- .long 0x7291c729 // movk w9, #0x8e39
- .long 0x4e32ce71 // fmla v17.4s, v19.4s, v18.4s
- .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s
- .long 0x4e32ce30 // fmla v16.4s, v17.4s, v18.4s
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e32ce11 // fmla v17.4s, v16.4s, v18.4s
- .long 0x3d802111 // str q17, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_p3x_aarch64
-.globl _sk_bicubic_p3x_aarch64
-FUNCTION(_sk_bicubic_p3x_aarch64)
-_sk_bicubic_p3x_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a7d8e9 // mov w9, #0x3ec70000
- .long 0x72838e49 // movk w9, #0x1c72
- .long 0x4e040d20 // dup v0.4s, w9
- .long 0x3dc01110 // ldr q16, [x8, #64]
- .long 0x52b7d549 // mov w9, #0xbeaa0000
- .long 0x72955569 // movk w9, #0xaaab
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x6e30de13 // fmul v19.4s, v16.4s, v16.4s
- .long 0x4e30cc11 // fmla v17.4s, v0.4s, v16.4s
- .long 0x6e31de60 // fmul v0.4s, v19.4s, v17.4s
- .long 0x3dc00112 // ldr q18, [x8]
- .long 0x3d802100 // str q0, [x8, #128]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f03f700 // fmov v0.4s, #1.500000000000000000e+00
- .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_n3y_aarch64
-.globl _sk_bicubic_n3y_aarch64
-FUNCTION(_sk_bicubic_n3y_aarch64)
-_sk_bicubic_n3y_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a7d8e9 // mov w9, #0x3ec70000
- .long 0x72838e49 // movk w9, #0x1c72
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x3dc01911 // ldr q17, [x8, #96]
- .long 0x52b7d549 // mov w9, #0xbeaa0000
- .long 0x4f03f601 // fmov v1.4s, #1.000000000000000000e+00
- .long 0x72955569 // movk w9, #0xaaab
- .long 0x4e040d32 // dup v18.4s, w9
- .long 0x4eb1d421 // fsub v1.4s, v1.4s, v17.4s
- .long 0x6e21dc31 // fmul v17.4s, v1.4s, v1.4s
- .long 0x4e21ce12 // fmla v18.4s, v16.4s, v1.4s
- .long 0x6e32de21 // fmul v1.4s, v17.4s, v18.4s
- .long 0x3dc00913 // ldr q19, [x8, #32]
- .long 0x3d802901 // str q1, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f07f701 // fmov v1.4s, #-1.500000000000000000e+00
- .long 0x4e21d661 // fadd v1.4s, v19.4s, v1.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_n1y_aarch64
-.globl _sk_bicubic_n1y_aarch64
-FUNCTION(_sk_bicubic_n1y_aarch64)
-_sk_bicubic_n1y_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52b7f2a9 // mov w9, #0xbf950000
- .long 0x4f03f601 // fmov v1.4s, #1.000000000000000000e+00
- .long 0x728aaaa9 // movk w9, #0x5555
- .long 0x3dc01910 // ldr q16, [x8, #96]
- .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00
- .long 0x4f0167f2 // movi v18.4s, #0x3f, lsl #24
- .long 0x4eb0d421 // fsub v1.4s, v1.4s, v16.4s
- .long 0x4e040d30 // dup v16.4s, w9
- .long 0x52a7ac69 // mov w9, #0x3d630000
- .long 0x7291c729 // movk w9, #0x8e39
- .long 0x4e21ce11 // fmla v17.4s, v16.4s, v1.4s
- .long 0x4e21ce32 // fmla v18.4s, v17.4s, v1.4s
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e21ce51 // fmla v17.4s, v18.4s, v1.4s
- .long 0x3dc00910 // ldr q16, [x8, #32]
- .long 0x3d802911 // str q17, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f0567e1 // movi v1.4s, #0xbf, lsl #24
- .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_p1y_aarch64
-.globl _sk_bicubic_p1y_aarch64
-FUNCTION(_sk_bicubic_p1y_aarch64)
-_sk_bicubic_p1y_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52b7f2a9 // mov w9, #0xbf950000
- .long 0x728aaaa9 // movk w9, #0x5555
- .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00
- .long 0x3dc01912 // ldr q18, [x8, #96]
- .long 0x3dc00901 // ldr q1, [x8, #32]
- .long 0x4e040d33 // dup v19.4s, w9
- .long 0x52a7ac69 // mov w9, #0x3d630000
- .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24
- .long 0x7291c729 // movk w9, #0x8e39
- .long 0x4e32ce71 // fmla v17.4s, v19.4s, v18.4s
- .long 0x4e30d421 // fadd v1.4s, v1.4s, v16.4s
- .long 0x4e32ce30 // fmla v16.4s, v17.4s, v18.4s
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x4e32ce11 // fmla v17.4s, v16.4s, v18.4s
- .long 0x3d802911 // str q17, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_bicubic_p3y_aarch64
-.globl _sk_bicubic_p3y_aarch64
-FUNCTION(_sk_bicubic_p3y_aarch64)
-_sk_bicubic_p3y_aarch64:
- .long 0xf9400028 // ldr x8, [x1]
- .long 0x52a7d8e9 // mov w9, #0x3ec70000
- .long 0x72838e49 // movk w9, #0x1c72
- .long 0x4e040d21 // dup v1.4s, w9
- .long 0x3dc01910 // ldr q16, [x8, #96]
- .long 0x52b7d549 // mov w9, #0xbeaa0000
- .long 0x72955569 // movk w9, #0xaaab
- .long 0x4e040d31 // dup v17.4s, w9
- .long 0x6e30de13 // fmul v19.4s, v16.4s, v16.4s
- .long 0x4e30cc31 // fmla v17.4s, v1.4s, v16.4s
- .long 0x6e31de61 // fmul v1.4s, v19.4s, v17.4s
- .long 0x3dc00912 // ldr q18, [x8, #32]
- .long 0x3d802901 // str q1, [x8, #160]
- .long 0xf9400425 // ldr x5, [x1, #8]
- .long 0x4f03f701 // fmov v1.4s, #1.500000000000000000e+00
- .long 0x4e21d641 // fadd v1.4s, v18.4s, v1.4s
- .long 0x91004021 // add x1, x1, #0x10
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_callback_aarch64
-.globl _sk_callback_aarch64
-FUNCTION(_sk_callback_aarch64)
-_sk_callback_aarch64:
- .long 0xd10203ff // sub sp, sp, #0x80
- .long 0xa9045ff8 // stp x24, x23, [sp, #64]
- .long 0xa90557f6 // stp x22, x21, [sp, #80]
- .long 0xa9064ff4 // stp x20, x19, [sp, #96]
- .long 0xa9077bfd // stp x29, x30, [sp, #112]
- .long 0xad011fe6 // stp q6, q7, [sp, #32]
- .long 0xad0017e4 // stp q4, q5, [sp]
- .long 0xaa0103f6 // mov x22, x1
- .long 0xf94002d8 // ldr x24, [x22]
- .long 0xaa0403f3 // mov x19, x4
- .long 0xf100027f // cmp x19, #0x0
- .long 0x321e03e9 // orr w9, wzr, #0x4
- .long 0x91002308 // add x8, x24, #0x8
- .long 0x4c000900 // st4 {v0.4s-v3.4s}, [x8]
- .long 0xf9400308 // ldr x8, [x24]
- .long 0xaa0003f7 // mov x23, x0
- .long 0x1a891261 // csel w1, w19, w9, ne // ne = any
- .long 0xaa1803e0 // mov x0, x24
- .long 0x9101c3fd // add x29, sp, #0x70
- .long 0xaa0303f4 // mov x20, x3
- .long 0xaa0203f5 // mov x21, x2
- .long 0xd63f0100 // blr x8
- .long 0xf9404708 // ldr x8, [x24, #136]
- .long 0xf94006c5 // ldr x5, [x22, #8]
- .long 0x910042c1 // add x1, x22, #0x10
- .long 0xaa1703e0 // mov x0, x23
- .long 0x4c400900 // ld4 {v0.4s-v3.4s}, [x8]
- .long 0xaa1503e2 // mov x2, x21
- .long 0xaa1403e3 // mov x3, x20
- .long 0xaa1303e4 // mov x4, x19
- .long 0xad4017e4 // ldp q4, q5, [sp]
- .long 0xad411fe6 // ldp q6, q7, [sp, #32]
- .long 0xa9477bfd // ldp x29, x30, [sp, #112]
- .long 0xa9464ff4 // ldp x20, x19, [sp, #96]
- .long 0xa94557f6 // ldp x22, x21, [sp, #80]
- .long 0xa9445ff8 // ldp x24, x23, [sp, #64]
- .long 0x910203ff // add sp, sp, #0x80
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clut_3D_aarch64
-.globl _sk_clut_3D_aarch64
-FUNCTION(_sk_clut_3D_aarch64)
-_sk_clut_3D_aarch64:
- .long 0xd104c3ff // sub sp, sp, #0x130
- .long 0xa90213e3 // stp x3, x4, [sp, #32]
- .long 0xaa0103e3 // mov x3, x1
- .long 0x91002069 // add x9, x3, #0x8
- .long 0x6d093bef // stp d15, d14, [sp, #144]
- .long 0x6d0a33ed // stp d13, d12, [sp, #160]
- .long 0x6d0b2beb // stp d11, d10, [sp, #176]
- .long 0x6d0c23e9 // stp d9, d8, [sp, #192]
- .long 0xa90d6ffc // stp x28, x27, [sp, #208]
- .long 0xa90e67fa // stp x26, x25, [sp, #224]
- .long 0xa90f5ff8 // stp x24, x23, [sp, #240]
- .long 0xa91057f6 // stp x22, x21, [sp, #256]
- .long 0xa9114ff4 // stp x20, x19, [sp, #272]
- .long 0xa9127bfd // stp x29, x30, [sp, #288]
- .long 0xad031fe6 // stp q6, q7, [sp, #96]
- .long 0xad0217e4 // stp q4, q5, [sp, #64]
- .long 0x3d800fe3 // str q3, [sp, #48]
- .long 0xf9000fe2 // str x2, [sp, #24]
- .long 0xaa0303e4 // mov x4, x3
- .long 0xf90047e9 // str x9, [sp, #136]
- .long 0xf8410489 // ldr x9, [x4], #16
- .long 0x52a7efed // mov w13, #0x3f7f0000
- .long 0x729f2e4d // movk w13, #0xf972
- .long 0x4e040dbd // dup v29.4s, w13
- .long 0x2941ad2c // ldp w12, w11, [x9, #12]
- .long 0xb940092a // ldr w10, [x9, #8]
- .long 0x4f000432 // movi v18.4s, #0x1
- .long 0xf9400129 // ldr x9, [x9]
- .long 0x5100056d // sub w13, w11, #0x1
- .long 0x4e040d7f // dup v31.4s, w11
- .long 0x1e27017e // fmov s30, w11
- .long 0x5100058b // sub w11, w12, #0x1
- .long 0x1e270188 // fmov s8, w12
- .long 0x5100054a // sub w10, w10, #0x1
- .long 0x4ebe9d1e // mul v30.4s, v8.4s, v30.4s
- .long 0x4e040da8 // dup v8.4s, w13
- .long 0x4e040d69 // dup v9.4s, w11
- .long 0x4e040d4a // dup v10.4s, w10
- .long 0x4e21d908 // scvtf v8.4s, v8.4s
- .long 0x4e21d929 // scvtf v9.4s, v9.4s
- .long 0x4e21d94b // scvtf v11.4s, v10.4s
- .long 0x6e22dd08 // fmul v8.4s, v8.4s, v2.4s
- .long 0x6e21dd2a // fmul v10.4s, v9.4s, v1.4s
- .long 0x6e20dd6b // fmul v11.4s, v11.4s, v0.4s
- .long 0x4ea1b90c // fcvtzs v12.4s, v8.4s
- .long 0x4ea1b949 // fcvtzs v9.4s, v10.4s
- .long 0x4e3dd56d // fadd v13.4s, v11.4s, v29.4s
- .long 0x4e3dd542 // fadd v2.4s, v10.4s, v29.4s
- .long 0x4eac1d86 // mov v6.16b, v12.16b
- .long 0x4e21d98e // scvtf v14.4s, v12.4s
- .long 0x4ea1b9ad // fcvtzs v13.4s, v13.4s
- .long 0x4ebf952c // mla v12.4s, v9.4s, v31.4s
- .long 0x4f000470 // movi v16.4s, #0x3
- .long 0x4f000454 // movi v20.4s, #0x2
- .long 0x4eb21e55 // mov v21.16b, v18.16b
- .long 0x4e3dd500 // fadd v0.4s, v8.4s, v29.4s
- .long 0x4ea1b85d // fcvtzs v29.4s, v2.4s
- .long 0x4eac1d81 // mov v1.16b, v12.16b
- .long 0x6f9e01ac // mla v12.4s, v13.4s, v30.s[0]
- .long 0x4eb41e96 // mov v22.16b, v20.16b
- .long 0x4ebf97a6 // mla v6.4s, v29.4s, v31.4s
- .long 0x4eb09595 // mla v21.4s, v12.4s, v16.4s
- .long 0x4eb21e5b // mov v27.16b, v18.16b
- .long 0x4ea1b805 // fcvtzs v5.4s, v0.4s
- .long 0x4ea61cc2 // mov v2.16b, v6.16b
- .long 0x6f9e01a6 // mla v6.4s, v13.4s, v30.s[0]
- .long 0x4eb09596 // mla v22.4s, v12.4s, v16.4s
- .long 0x1e2602ac // fmov w12, s21
- .long 0x4ea1b967 // fcvtzs v7.4s, v11.4s
- .long 0x4ea51ca0 // mov v0.16b, v5.16b
- .long 0x4ebf97a5 // mla v5.4s, v29.4s, v31.4s
- .long 0x4eb094db // mla v27.4s, v6.4s, v16.4s
- .long 0x8b2c4933 // add x19, x9, w12, uxtw #2
- .long 0x1e2602cc // fmov w12, s22
- .long 0x4e21d8ef // scvtf v15.4s, v7.4s
- .long 0x4ebf9520 // mla v0.4s, v9.4s, v31.4s
- .long 0x4ea51ca3 // mov v3.16b, v5.16b
- .long 0x6f9e01a5 // mla v5.4s, v13.4s, v30.s[0]
- .long 0x4eb09d9f // mul v31.4s, v12.4s, v16.4s
- .long 0x8b2c4937 // add x23, x9, w12, uxtw #2
- .long 0x1e26037b // fmov w27, s27
- .long 0x4eb21e53 // mov v19.16b, v18.16b
- .long 0x4eb21e57 // mov v23.16b, v18.16b
- .long 0x4eb21e59 // mov v25.16b, v18.16b
- .long 0x4eafd56b // fsub v11.4s, v11.4s, v15.4s
- .long 0x4e21d92f // scvtf v15.4s, v9.4s
- .long 0x4eaed51d // fsub v29.4s, v8.4s, v14.4s
- .long 0x4ea01c04 // mov v4.16b, v0.16b
- .long 0x4eb21e49 // mov v9.16b, v18.16b
- .long 0x0e1c3ff1 // mov w17, v31.s[3]
- .long 0x0e1c3ea7 // mov w7, v21.s[3]
- .long 0x4eb21e48 // mov v8.16b, v18.16b
- .long 0x4eb094b2 // mla v18.4s, v5.4s, v16.4s
- .long 0x0e0c3ed4 // mov w20, v22.s[1]
- .long 0x0e143ed5 // mov w21, v22.s[2]
- .long 0x0e1c3ed6 // mov w22, v22.s[3]
- .long 0x0e0c3f78 // mov w24, v27.s[1]
- .long 0x0e143f79 // mov w25, v27.s[2]
- .long 0x0e1c3f7a // mov w26, v27.s[3]
- .long 0x0d40827b // ld1 {v27.s}[0], [x19]
- .long 0x0d4082f6 // ld1 {v22.s}[0], [x23]
- .long 0x8b3b4937 // add x23, x9, w27, uxtw #2
- .long 0x0e0c3ea6 // mov w6, v21.s[1]
- .long 0x0e143ea5 // mov w5, v21.s[2]
- .long 0x6f9e00e1 // mla v1.4s, v7.4s, v30.s[0]
- .long 0x6f9e00e2 // mla v2.4s, v7.4s, v30.s[0]
- .long 0x6f9e00e3 // mla v3.4s, v7.4s, v30.s[0]
- .long 0xbc715935 // ldr s21, [x9, w17, uxtw #2]
- .long 0x6f9e00e4 // mla v4.4s, v7.4s, v30.s[0]
- .long 0xbc675927 // ldr s7, [x9, w7, uxtw #2]
- .long 0x0e0c3e47 // mov w7, v18.s[1]
- .long 0x0e143e53 // mov w19, v18.s[2]
- .long 0xbc75592c // ldr s12, [x9, w21, uxtw #2]
- .long 0x0e1c3e51 // mov w17, v18.s[3]
- .long 0x1e260255 // fmov w21, s18
- .long 0x0d4082f2 // ld1 {v18.s}[0], [x23]
- .long 0x4eb41e9c // mov v28.16b, v20.16b
- .long 0x4eb094dc // mla v28.4s, v6.4s, v16.4s
- .long 0x8b264926 // add x6, x9, w6, uxtw #2
- .long 0x4eb41e91 // mov v17.16b, v20.16b
- .long 0x4eb41e98 // mov v24.16b, v20.16b
- .long 0x4eb41e9a // mov v26.16b, v20.16b
- .long 0x4eafd54a // fsub v10.4s, v10.4s, v15.4s
- .long 0x6f9e01a0 // mla v0.4s, v13.4s, v30.s[0]
- .long 0x0e0c3feb // mov w11, v31.s[1]
- .long 0x0e143fe1 // mov w1, v31.s[2]
- .long 0x1e2603ef // fmov w15, s31
- .long 0x4eb41e9f // mov v31.16b, v20.16b
- .long 0x1e26038a // fmov w10, s28
- .long 0x4eb41e8f // mov v15.16b, v20.16b
- .long 0x4eb094b4 // mla v20.4s, v5.4s, v16.4s
- .long 0x0d4090db // ld1 {v27.s}[1], [x6]
- .long 0x8b344926 // add x6, x9, w20, uxtw #2
- .long 0x8b384934 // add x20, x9, w24, uxtw #2
- .long 0x4eb09cc6 // mul v6.4s, v6.4s, v16.4s
- .long 0x4eb09433 // mla v19.4s, v1.4s, v16.4s
- .long 0x4eb09431 // mla v17.4s, v1.4s, v16.4s
- .long 0x4eb09c2d // mul v13.4s, v1.4s, v16.4s
- .long 0x4eb09457 // mla v23.4s, v2.4s, v16.4s
- .long 0x4eb09458 // mla v24.4s, v2.4s, v16.4s
- .long 0x4eb09c41 // mul v1.4s, v2.4s, v16.4s
- .long 0x4eb09409 // mla v9.4s, v0.4s, v16.4s
- .long 0x4eb0941f // mla v31.4s, v0.4s, v16.4s
- .long 0x4eb09c1e // mul v30.4s, v0.4s, v16.4s
- .long 0x4eb09499 // mla v25.4s, v4.4s, v16.4s
- .long 0x4eb0949a // mla v26.4s, v4.4s, v16.4s
- .long 0x4eb09c80 // mul v0.4s, v4.4s, v16.4s
- .long 0xbc795922 // ldr s2, [x9, w25, uxtw #2]
- .long 0x1e260282 // fmov w2, s20
- .long 0x8b2a492a // add x10, x9, w10, uxtw #2
- .long 0x0d409292 // ld1 {v18.s}[1], [x20]
- .long 0xbc735924 // ldr s4, [x9, w19, uxtw #2]
- .long 0x8b354933 // add x19, x9, w21, uxtw #2
- .long 0x0e0c3ccd // mov w13, v6.s[1]
- .long 0x0e143ccc // mov w12, v6.s[2]
- .long 0x0e1c3cd0 // mov w16, v6.s[3]
- .long 0x1e2600ce // fmov w14, s6
- .long 0x0e143f9e // mov w30, v28.s[2]
- .long 0xbc655926 // ldr s6, [x9, w5, uxtw #2]
- .long 0x0e0c3e99 // mov w25, v20.s[1]
- .long 0x0e143e9b // mov w27, v20.s[2]
- .long 0x0e1c3e85 // mov w5, v20.s[3]
- .long 0x0d4090d6 // ld1 {v22.s}[1], [x6]
- .long 0x0e0c3e66 // mov w6, v19.s[1]
- .long 0x0d408154 // ld1 {v20.s}[0], [x10]
- .long 0x0e143e6a // mov w10, v19.s[2]
- .long 0x0e1c3e74 // mov w20, v19.s[3]
- .long 0x1e260277 // fmov w23, s19
- .long 0x0d408273 // ld1 {v19.s}[0], [x19]
- .long 0x8b224922 // add x2, x9, w2, uxtw #2
- .long 0x0e0c3f9c // mov w28, v28.s[1]
- .long 0x0e1c3f88 // mov w8, v28.s[3]
- .long 0x4eb09468 // mla v8.4s, v3.4s, v16.4s
- .long 0x4eb0946f // mla v15.4s, v3.4s, v16.4s
- .long 0x4eb09c7c // mul v28.4s, v3.4s, v16.4s
- .long 0xbc7e5923 // ldr s3, [x9, w30, uxtw #2]
- .long 0x0e0c3e33 // mov w19, v17.s[1]
- .long 0x0e143e35 // mov w21, v17.s[2]
- .long 0x0e1c3e38 // mov w24, v17.s[3]
- .long 0x1e26023e // fmov w30, s17
- .long 0x0d408051 // ld1 {v17.s}[0], [x2]
- .long 0x6e140452 // mov v18.s[2], v2.s[0]
- .long 0xbc7b5922 // ldr s2, [x9, w27, uxtw #2]
- .long 0x8b3c493b // add x27, x9, w28, uxtw #2
- .long 0x8b274927 // add x7, x9, w7, uxtw #2
- .long 0x0d409374 // ld1 {v20.s}[1], [x27]
- .long 0x0d4090f3 // ld1 {v19.s}[1], [x7]
- .long 0x8b374927 // add x7, x9, w23, uxtw #2
- .long 0x8b394937 // add x23, x9, w25, uxtw #2
- .long 0x0d4092f1 // ld1 {v17.s}[1], [x23]
- .long 0x6e140474 // mov v20.s[2], v3.s[0]
- .long 0x0e0c3c22 // mov w2, v1.s[1]
- .long 0xbc6a5923 // ldr s3, [x9, w10, uxtw #2]
- .long 0x0e143c2a // mov w10, v1.s[2]
- .long 0x0e1c3c37 // mov w23, v1.s[3]
- .long 0x1e260039 // fmov w25, s1
- .long 0x0d4080e1 // ld1 {v1.s}[0], [x7]
- .long 0x8b3e4927 // add x7, x9, w30, uxtw #2
- .long 0x6e140451 // mov v17.s[2], v2.s[0]
- .long 0x0d4080e2 // ld1 {v2.s}[0], [x7]
- .long 0x8b334933 // add x19, x9, w19, uxtw #2
- .long 0x1e2602fc // fmov w28, s23
- .long 0x4eb09cae // mul v14.4s, v5.4s, v16.4s
- .long 0x0d409262 // ld1 {v2.s}[1], [x19]
- .long 0x8b394933 // add x19, x9, w25, uxtw #2
- .long 0x8b264926 // add x6, x9, w6, uxtw #2
- .long 0x0d408270 // ld1 {v16.s}[0], [x19]
- .long 0x8b3c4933 // add x19, x9, w28, uxtw #2
- .long 0x0e0c3ee7 // mov w7, v23.s[1]
- .long 0x0d4090c1 // ld1 {v1.s}[1], [x6]
- .long 0x0e143ee6 // mov w6, v23.s[2]
- .long 0x0e1c3efb // mov w27, v23.s[3]
- .long 0x0d408277 // ld1 {v23.s}[0], [x19]
- .long 0x8b224922 // add x2, x9, w2, uxtw #2
- .long 0x1e260319 // fmov w25, s24
- .long 0x0d409050 // ld1 {v16.s}[1], [x2]
- .long 0x8b274922 // add x2, x9, w7, uxtw #2
- .long 0x6e140461 // mov v1.s[2], v3.s[0]
- .long 0xbc765923 // ldr s3, [x9, w22, uxtw #2]
- .long 0xbc6a5925 // ldr s5, [x9, w10, uxtw #2]
- .long 0x0d409057 // ld1 {v23.s}[1], [x2]
- .long 0x8b394922 // add x2, x9, w25, uxtw #2
- .long 0x6e140493 // mov v19.s[2], v4.s[0]
- .long 0xbc755924 // ldr s4, [x9, w21, uxtw #2]
- .long 0x0e0c3f15 // mov w21, v24.s[1]
- .long 0x0e143f16 // mov w22, v24.s[2]
- .long 0x0e1c3f0a // mov w10, v24.s[3]
- .long 0x0d408058 // ld1 {v24.s}[0], [x2]
- .long 0x6e140596 // mov v22.s[2], v12.s[0]
- .long 0x1e26013e // fmov w30, s9
- .long 0x6e1c0476 // mov v22.s[3], v3.s[0]
- .long 0xbc665923 // ldr s3, [x9, w6, uxtw #2]
- .long 0x6e1404b0 // mov v16.s[2], v5.s[0]
- .long 0x8b354933 // add x19, x9, w21, uxtw #2
- .long 0xbc685925 // ldr s5, [x9, w8, uxtw #2]
- .long 0x8b3e4928 // add x8, x9, w30, uxtw #2
- .long 0x0e0c3fe2 // mov w2, v31.s[1]
- .long 0x0e143fe7 // mov w7, v31.s[2]
- .long 0x0d409278 // ld1 {v24.s}[1], [x19]
- .long 0x0e1c3ff3 // mov w19, v31.s[3]
- .long 0x1e2603f5 // fmov w21, s31
- .long 0x0d40811f // ld1 {v31.s}[0], [x8]
- .long 0x0e0c3d26 // mov w6, v9.s[1]
- .long 0x6e140477 // mov v23.s[2], v3.s[0]
- .long 0xbc765923 // ldr s3, [x9, w22, uxtw #2]
- .long 0x8b264926 // add x6, x9, w6, uxtw #2
- .long 0x6e140482 // mov v2.s[2], v4.s[0]
- .long 0xbc7a5924 // ldr s4, [x9, w26, uxtw #2]
- .long 0x0d4090df // ld1 {v31.s}[1], [x6]
- .long 0x8b354926 // add x6, x9, w21, uxtw #2
- .long 0x0d4080cc // ld1 {v12.s}[0], [x6]
- .long 0x0e143d3a // mov w26, v9.s[2]
- .long 0x6e140478 // mov v24.s[2], v3.s[0]
- .long 0xbc7a5923 // ldr s3, [x9, w26, uxtw #2]
- .long 0x1e26011a // fmov w26, s8
- .long 0x6e1c0492 // mov v18.s[3], v4.s[0]
- .long 0xbc675924 // ldr s4, [x9, w7, uxtw #2]
- .long 0x8b3a4927 // add x7, x9, w26, uxtw #2
- .long 0x8b224922 // add x2, x9, w2, uxtw #2
- .long 0x1e2601f5 // fmov w21, s15
- .long 0x0e0c3d16 // mov w22, v8.s[1]
- .long 0x0e143d08 // mov w8, v8.s[2]
- .long 0x0e1c3d19 // mov w25, v8.s[3]
- .long 0x0d40904c // ld1 {v12.s}[1], [x2]
- .long 0x0d4080e8 // ld1 {v8.s}[0], [x7]
- .long 0x8b354927 // add x7, x9, w21, uxtw #2
- .long 0x0e1c3d3c // mov w28, v9.s[3]
- .long 0x0d4080e9 // ld1 {v9.s}[0], [x7]
- .long 0x0e0c3de6 // mov w6, v15.s[1]
- .long 0x6e14047f // mov v31.s[2], v3.s[0]
- .long 0xbc685923 // ldr s3, [x9, w8, uxtw #2]
- .long 0x0e143de8 // mov w8, v15.s[2]
- .long 0x6e14048c // mov v12.s[2], v4.s[0]
- .long 0xbc685924 // ldr s4, [x9, w8, uxtw #2]
- .long 0x8b264928 // add x8, x9, w6, uxtw #2
- .long 0x8b364935 // add x21, x9, w22, uxtw #2
- .long 0x0d409109 // ld1 {v9.s}[1], [x8]
- .long 0x0d4092a8 // ld1 {v8.s}[1], [x21]
- .long 0x6e1c04b4 // mov v20.s[3], v5.s[0]
- .long 0xbc785925 // ldr s5, [x9, w24, uxtw #2]
- .long 0x6e140489 // mov v9.s[2], v4.s[0]
- .long 0xbc655924 // ldr s4, [x9, w5, uxtw #2]
- .long 0x6e140468 // mov v8.s[2], v3.s[0]
- .long 0xbc715923 // ldr s3, [x9, w17, uxtw #2]
- .long 0x8b2f492f // add x15, x9, w15, uxtw #2
- .long 0x6e1c0491 // mov v17.s[3], v4.s[0]
- .long 0xbc775924 // ldr s4, [x9, w23, uxtw #2]
- .long 0x6e1c0473 // mov v19.s[3], v3.s[0]
- .long 0xbc745923 // ldr s3, [x9, w20, uxtw #2]
- .long 0x1e260337 // fmov w23, s25
- .long 0x6e1c0490 // mov v16.s[3], v4.s[0]
- .long 0xbc6a5924 // ldr s4, [x9, w10, uxtw #2]
- .long 0x8b37492a // add x10, x9, w23, uxtw #2
- .long 0x0e0c3da8 // mov w8, v13.s[1]
- .long 0x0e143db1 // mov w17, v13.s[2]
- .long 0x0e1c3da5 // mov w5, v13.s[3]
- .long 0x1e2601a6 // fmov w6, s13
- .long 0x0d4081ed // ld1 {v13.s}[0], [x15]
- .long 0x6e1c0461 // mov v1.s[3], v3.s[0]
- .long 0xbc705923 // ldr s3, [x9, w16, uxtw #2]
- .long 0x0e0c3f2f // mov w15, v25.s[1]
- .long 0x0e143f30 // mov w16, v25.s[2]
- .long 0x0e1c3f34 // mov w20, v25.s[3]
- .long 0x0d408159 // ld1 {v25.s}[0], [x10]
- .long 0x6e1c04a2 // mov v2.s[3], v5.s[0]
- .long 0xbc7b5925 // ldr s5, [x9, w27, uxtw #2]
- .long 0x1e26035b // fmov w27, s26
- .long 0x8b2f492f // add x15, x9, w15, uxtw #2
- .long 0x0d4091f9 // ld1 {v25.s}[1], [x15]
- .long 0x8b3b492f // add x15, x9, w27, uxtw #2
- .long 0x6e1c04b7 // mov v23.s[3], v5.s[0]
- .long 0xbc705925 // ldr s5, [x9, w16, uxtw #2]
- .long 0x6e1c0498 // mov v24.s[3], v4.s[0]
- .long 0x0d4081e4 // ld1 {v4.s}[0], [x15]
- .long 0x0e0c3f57 // mov w23, v26.s[1]
- .long 0x0e143f4a // mov w10, v26.s[2]
- .long 0x8b374930 // add x16, x9, w23, uxtw #2
- .long 0x6e1404b9 // mov v25.s[2], v5.s[0]
- .long 0xbc6a5925 // ldr s5, [x9, w10, uxtw #2]
- .long 0x0d409204 // ld1 {v4.s}[1], [x16]
- .long 0x6e1404db // mov v27.s[2], v6.s[0]
- .long 0xbc7c5926 // ldr s6, [x9, w28, uxtw #2]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x6e1404a4 // mov v4.s[2], v5.s[0]
- .long 0xbc735925 // ldr s5, [x9, w19, uxtw #2]
- .long 0x6e1c04df // mov v31.s[3], v6.s[0]
- .long 0x0d4081c6 // ld1 {v6.s}[0], [x14]
- .long 0x8b2b492b // add x11, x9, w11, uxtw #2
- .long 0x6e1c04ac // mov v12.s[3], v5.s[0]
- .long 0xbc795925 // ldr s5, [x9, w25, uxtw #2]
- .long 0x0e1c3de2 // mov w2, v15.s[3]
- .long 0x0d40916d // ld1 {v13.s}[1], [x11]
- .long 0x6e1c04fb // mov v27.s[3], v7.s[0]
- .long 0x0e1c3f58 // mov w24, v26.s[3]
- .long 0xbc625927 // ldr s7, [x9, w2, uxtw #2]
- .long 0x6e1c04a8 // mov v8.s[3], v5.s[0]
- .long 0xbc745925 // ldr s5, [x9, w20, uxtw #2]
- .long 0x0e0c3c02 // mov w2, v0.s[1]
- .long 0x0e143c0b // mov w11, v0.s[2]
- .long 0x0e1c3c14 // mov w20, v0.s[3]
- .long 0x1e26001c // fmov w28, s0
- .long 0xbc785920 // ldr s0, [x9, w24, uxtw #2]
- .long 0x8b2d492d // add x13, x9, w13, uxtw #2
- .long 0x1e2601da // fmov w26, s14
- .long 0x8b214921 // add x1, x9, w1, uxtw #2
- .long 0x0d4091a6 // ld1 {v6.s}[1], [x13]
- .long 0x4d40802d // ld1 {v13.s}[2], [x1]
- .long 0x8b3a4921 // add x1, x9, w26, uxtw #2
- .long 0x6e1c04e9 // mov v9.s[3], v7.s[0]
- .long 0x0d408027 // ld1 {v7.s}[0], [x1]
- .long 0x6e1c0404 // mov v4.s[3], v0.s[0]
- .long 0x4ea1d760 // fsub v0.4s, v27.4s, v1.4s
- .long 0x8b2c492c // add x12, x9, w12, uxtw #2
- .long 0x0e0c3dc7 // mov w7, v14.s[1]
- .long 0x4e20cd61 // fmla v1.4s, v11.4s, v0.4s
- .long 0x4d408186 // ld1 {v6.s}[2], [x12]
- .long 0x8b26492c // add x12, x9, w6, uxtw #2
- .long 0x4ea2d6c0 // fsub v0.4s, v22.4s, v2.4s
- .long 0x4e20cd62 // fmla v2.4s, v11.4s, v0.4s
- .long 0x0d408180 // ld1 {v0.s}[0], [x12]
- .long 0x8b27492c // add x12, x9, w7, uxtw #2
- .long 0x0d409187 // ld1 {v7.s}[1], [x12]
- .long 0x1e2603d7 // fmov w23, s30
- .long 0x0e143dd5 // mov w21, v14.s[2]
- .long 0x8b37492c // add x12, x9, w23, uxtw #2
- .long 0x4eb7d652 // fsub v18.4s, v18.4s, v23.4s
- .long 0x0e1c3dd6 // mov w22, v14.s[3]
- .long 0x4e32cd77 // fmla v23.4s, v11.4s, v18.4s
- .long 0x0d408192 // ld1 {v18.s}[0], [x12]
- .long 0x8b35492c // add x12, x9, w21, uxtw #2
- .long 0x6e1c04b9 // mov v25.s[3], v5.s[0]
- .long 0xbc765925 // ldr s5, [x9, w22, uxtw #2]
- .long 0x4d408187 // ld1 {v7.s}[2], [x12]
- .long 0x1e26039b // fmov w27, s28
- .long 0x8b3b492c // add x12, x9, w27, uxtw #2
- .long 0x8b3c492d // add x13, x9, w28, uxtw #2
- .long 0x4ea9d631 // fsub v17.4s, v17.4s, v9.4s
- .long 0x6e1c04a7 // mov v7.s[3], v5.s[0]
- .long 0x0d408185 // ld1 {v5.s}[0], [x12]
- .long 0x4e31cd69 // fmla v9.4s, v11.4s, v17.4s
- .long 0x0d4081b1 // ld1 {v17.s}[0], [x13]
- .long 0x0e0c3fcf // mov w15, v30.s[1]
- .long 0x0e0c3f8e // mov w14, v28.s[1]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x8b31492c // add x12, x9, w17, uxtw #2
- .long 0x8b2f492f // add x15, x9, w15, uxtw #2
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x8b224931 // add x17, x9, w2, uxtw #2
- .long 0x0d409100 // ld1 {v0.s}[1], [x8]
- .long 0x0d4091f2 // ld1 {v18.s}[1], [x15]
- .long 0x0d4091c5 // ld1 {v5.s}[1], [x14]
- .long 0x0d409231 // ld1 {v17.s}[1], [x17]
- .long 0x0e143fca // mov w10, v30.s[2]
- .long 0x0e1c3fd0 // mov w16, v30.s[3]
- .long 0x0e143f93 // mov w19, v28.s[2]
- .long 0x0e1c3f99 // mov w25, v28.s[3]
- .long 0x4eb8d694 // fsub v20.4s, v20.4s, v24.4s
- .long 0x4ea8d673 // fsub v19.4s, v19.4s, v8.4s
- .long 0x6e1c06ad // mov v13.s[3], v21.s[0]
- .long 0xbc655935 // ldr s21, [x9, w5, uxtw #2]
- .long 0x6e1c0466 // mov v6.s[3], v3.s[0]
- .long 0xbc705923 // ldr s3, [x9, w16, uxtw #2]
- .long 0x4e34cd78 // fmla v24.4s, v11.4s, v20.4s
- .long 0xbc795934 // ldr s20, [x9, w25, uxtw #2]
- .long 0x4e33cd68 // fmla v8.4s, v11.4s, v19.4s
- .long 0xbc745933 // ldr s19, [x9, w20, uxtw #2]
- .long 0x8b2a492a // add x10, x9, w10, uxtw #2
- .long 0x8b334930 // add x16, x9, w19, uxtw #2
- .long 0x8b2b4929 // add x9, x9, w11, uxtw #2
- .long 0x4d408180 // ld1 {v0.s}[2], [x12]
- .long 0x4d408152 // ld1 {v18.s}[2], [x10]
- .long 0x4d408205 // ld1 {v5.s}[2], [x16]
- .long 0x4d408131 // ld1 {v17.s}[2], [x9]
- .long 0x6e1c06a0 // mov v0.s[3], v21.s[0]
- .long 0x4eb9d7f6 // fsub v22.4s, v31.4s, v25.4s
- .long 0x4eb0d4c6 // fsub v6.4s, v6.4s, v16.4s
- .long 0x6e1c0472 // mov v18.s[3], v3.s[0]
- .long 0x6e1c0685 // mov v5.s[3], v20.s[0]
- .long 0x4ea0d5a3 // fsub v3.4s, v13.4s, v0.4s
- .long 0x6e1c0671 // mov v17.s[3], v19.s[0]
- .long 0x4ea4d59a // fsub v26.4s, v12.4s, v4.4s
- .long 0x4e36cd79 // fmla v25.4s, v11.4s, v22.4s
- .long 0x4e26cd70 // fmla v16.4s, v11.4s, v6.4s
- .long 0x4ea5d4e6 // fsub v6.4s, v7.4s, v5.4s
- .long 0x4e23cd60 // fmla v0.4s, v11.4s, v3.4s
- .long 0x4eb1d643 // fsub v3.4s, v18.4s, v17.4s
- .long 0x4ea1d6f5 // fsub v21.4s, v23.4s, v1.4s
- .long 0x4e3acd64 // fmla v4.4s, v11.4s, v26.4s
- .long 0x4eb9d507 // fsub v7.4s, v8.4s, v25.4s
- .long 0x4e26cd65 // fmla v5.4s, v11.4s, v6.4s
- .long 0x4e23cd71 // fmla v17.4s, v11.4s, v3.4s
- .long 0x4ea2d717 // fsub v23.4s, v24.4s, v2.4s
- .long 0x4e35cd41 // fmla v1.4s, v10.4s, v21.4s
- .long 0x4ea4d533 // fsub v19.4s, v9.4s, v4.4s
- .long 0x4e27cd59 // fmla v25.4s, v10.4s, v7.4s
- .long 0x4ea0d606 // fsub v6.4s, v16.4s, v0.4s
- .long 0x4eb1d4a5 // fsub v5.4s, v5.4s, v17.4s
- .long 0x4e37cd42 // fmla v2.4s, v10.4s, v23.4s
- .long 0x4e33cd44 // fmla v4.4s, v10.4s, v19.4s
- .long 0x4ea1d723 // fsub v3.4s, v25.4s, v1.4s
- .long 0x4e26cd40 // fmla v0.4s, v10.4s, v6.4s
- .long 0x4e25cd51 // fmla v17.4s, v10.4s, v5.4s
- .long 0x4ea2d484 // fsub v4.4s, v4.4s, v2.4s
- .long 0x4e23cfa1 // fmla v1.4s, v29.4s, v3.4s
- .long 0x4ea0d623 // fsub v3.4s, v17.4s, v0.4s
- .long 0xf9400465 // ldr x5, [x3, #8]
- .long 0x4e23cfa0 // fmla v0.4s, v29.4s, v3.4s
- .long 0x4e24cfa2 // fmla v2.4s, v29.4s, v4.4s
- .long 0xaa0403e1 // mov x1, x4
- .long 0xa9418fe2 // ldp x2, x3, [sp, #24]
- .long 0xf94017e4 // ldr x4, [sp, #40]
- .long 0xad4193e3 // ldp q3, q4, [sp, #48]
- .long 0xad429be5 // ldp q5, q6, [sp, #80]
- .long 0x3dc01fe7 // ldr q7, [sp, #112]
- .long 0xa9527bfd // ldp x29, x30, [sp, #288]
- .long 0xa9514ff4 // ldp x20, x19, [sp, #272]
- .long 0xa95057f6 // ldp x22, x21, [sp, #256]
- .long 0xa94f5ff8 // ldp x24, x23, [sp, #240]
- .long 0xa94e67fa // ldp x26, x25, [sp, #224]
- .long 0xa94d6ffc // ldp x28, x27, [sp, #208]
- .long 0x6d4c23e9 // ldp d9, d8, [sp, #192]
- .long 0x6d4b2beb // ldp d11, d10, [sp, #176]
- .long 0x6d4a33ed // ldp d13, d12, [sp, #160]
- .long 0x6d493bef // ldp d15, d14, [sp, #144]
- .long 0x9104c3ff // add sp, sp, #0x130
- .long 0xd61f00a0 // br x5
-
-HIDDEN _sk_clut_4D_aarch64
-.globl _sk_clut_4D_aarch64
-FUNCTION(_sk_clut_4D_aarch64)
-_sk_clut_4D_aarch64:
- .long 0x6db63bef // stp d15, d14, [sp, #-160]!
- .long 0x6d0133ed // stp d13, d12, [sp, #16]
- .long 0x6d022beb // stp d11, d10, [sp, #32]
- .long 0x6d0323e9 // stp d9, d8, [sp, #48]
- .long 0xa9046ffc // stp x28, x27, [sp, #64]
- .long 0xa90567fa // stp x26, x25, [sp, #80]
- .long 0xa9065ff8 // stp x24, x23, [sp, #96]
- .long 0xa90757f6 // stp x22, x21, [sp, #112]
- .long 0xa9084ff4 // stp x20, x19, [sp, #128]
- .long 0xa9097bfd // stp x29, x30, [sp, #144]
- .long 0xd11143ff // sub sp, sp, #0x450
- .long 0x91002029 // add x9, x1, #0x8
- .long 0x3d810be7 // str q7, [sp, #1056]
- .long 0x3d8107e6 // str q6, [sp, #1040]
- .long 0xad1f97e4 // stp q4, q5, [sp, #1008]
- .long 0xf901f7e4 // str x4, [sp, #1000]
- .long 0xf901f3e3 // str x3, [sp, #992]
- .long 0xf901efe2 // str x2, [sp, #984]
- .long 0xf901ebe1 // str x1, [sp, #976]
- .long 0xf90227e9 // str x9, [sp, #1096]
- .long 0xf8410429 // ldr x9, [x1], #16
- .long 0x52a7efe8 // mov w8, #0x3f7f0000
- .long 0x729f2e48 // movk w8, #0xf972
- .long 0x4ea01c04 // mov v4.16b, v0.16b
- .long 0xf901e7e1 // str x1, [sp, #968]
- .long 0x29422d2a // ldp w10, w11, [x9, #16]
- .long 0x4e040d00 // dup v0.4s, w8
- .long 0x29413128 // ldp w8, w12, [x9, #8]
- .long 0x4f00047f // movi v31.4s, #0x3
- .long 0x5100056d // sub w13, w11, #0x1
- .long 0x4e040d72 // dup v18.4s, w11
- .long 0x1e270165 // fmov s5, w11
- .long 0x5100054b // sub w11, w10, #0x1
- .long 0x1e270146 // fmov s6, w10
- .long 0x4ea59cd1 // mul v17.4s, v6.4s, v5.4s
- .long 0x5100058a // sub w10, w12, #0x1
- .long 0x1e270185 // fmov s5, w12
- .long 0x51000508 // sub w8, w8, #0x1
- .long 0x4e040da6 // dup v6.4s, w13
- .long 0x4e040d67 // dup v7.4s, w11
- .long 0x4e040d50 // dup v16.4s, w10
- .long 0x4eb19cb8 // mul v24.4s, v5.4s, v17.4s
- .long 0x4e040d05 // dup v5.4s, w8
- .long 0x4e21d8c6 // scvtf v6.4s, v6.4s
- .long 0x4e21d8e7 // scvtf v7.4s, v7.4s
- .long 0x4e21da10 // scvtf v16.4s, v16.4s
- .long 0x4e21d8a5 // scvtf v5.4s, v5.4s
- .long 0x6e23dcc3 // fmul v3.4s, v6.4s, v3.4s
- .long 0x6e22dce6 // fmul v6.4s, v7.4s, v2.4s
- .long 0xad1d0fe6 // stp q6, q3, [sp, #928]
- .long 0x6e21de10 // fmul v16.4s, v16.4s, v1.4s
- .long 0x6e24dca1 // fmul v1.4s, v5.4s, v4.4s
- .long 0x4ea1b864 // fcvtzs v4.4s, v3.4s
- .long 0x4e20d462 // fadd v2.4s, v3.4s, v0.4s
- .long 0x4e20d4c3 // fadd v3.4s, v6.4s, v0.4s
- .long 0x4e20d61d // fadd v29.4s, v16.4s, v0.4s
- .long 0x4e20d420 // fadd v0.4s, v1.4s, v0.4s
- .long 0x4ea1b859 // fcvtzs v25.4s, v2.4s
- .long 0x4ea1b865 // fcvtzs v5.4s, v3.4s
- .long 0x4ea1b8c7 // fcvtzs v7.4s, v6.4s
- .long 0xad1c43e4 // stp q4, q16, [sp, #896]
- .long 0x4ea41c82 // mov v2.16b, v4.16b
- .long 0x4ea41c83 // mov v3.16b, v4.16b
- .long 0x4ea1bba4 // fcvtzs v4.4s, v29.4s
- .long 0x4ea1b81d // fcvtzs v29.4s, v0.4s
- .long 0x4eb91f20 // mov v0.16b, v25.16b
- .long 0x4eb294b9 // mla v25.4s, v5.4s, v18.4s
- .long 0x4ea1ba06 // fcvtzs v6.4s, v16.4s
- .long 0x4eb294e3 // mla v3.4s, v7.4s, v18.4s
- .long 0x4eb294a2 // mla v2.4s, v5.4s, v18.4s
- .long 0x4eb294e0 // mla v0.4s, v7.4s, v18.4s
- .long 0x4eb91f25 // mov v5.16b, v25.16b
- .long 0x4ea31c76 // mov v22.16b, v3.16b
- .long 0x4ea21c54 // mov v20.16b, v2.16b
- .long 0x4ea01c09 // mov v9.16b, v0.16b
- .long 0x6f910080 // mla v0.4s, v4.4s, v17.s[0]
- .long 0x6f9100c5 // mla v5.4s, v6.4s, v17.s[0]
- .long 0x6f910083 // mla v3.4s, v4.4s, v17.s[0]
- .long 0x6f910082 // mla v2.4s, v4.4s, v17.s[0]
- .long 0x6f910099 // mla v25.4s, v4.4s, v17.s[0]
- .long 0x6f9100d6 // mla v22.4s, v6.4s, v17.s[0]
- .long 0x6f9100d4 // mla v20.4s, v6.4s, v17.s[0]
- .long 0x6f9100c9 // mla v9.4s, v6.4s, v17.s[0]
- .long 0x4ea01c0a // mov v10.16b, v0.16b
- .long 0x6f9803a0 // mla v0.4s, v29.4s, v24.s[0]
- .long 0x4ea51cac // mov v12.16b, v5.16b
- .long 0x6f9803a5 // mla v5.4s, v29.4s, v24.s[0]
- .long 0xad1b1fe6 // stp q6, q7, [sp, #864]
- .long 0x4ea31c72 // mov v18.16b, v3.16b
- .long 0x4ea21c47 // mov v7.16b, v2.16b
- .long 0x4eb91f24 // mov v4.16b, v25.16b
- .long 0x4eb61ece // mov v14.16b, v22.16b
- .long 0x4eb41e8d // mov v13.16b, v20.16b
- .long 0x3d8093e0 // str q0, [sp, #576]
- .long 0x3d808be5 // str q5, [sp, #544]
- .long 0x4ea91d25 // mov v5.16b, v9.16b
- .long 0x4ea1b820 // fcvtzs v0.4s, v1.4s
- .long 0x6f9803a3 // mla v3.4s, v29.4s, v24.s[0]
- .long 0x6f980012 // mla v18.4s, v0.4s, v24.s[0]
- .long 0x6f980007 // mla v7.4s, v0.4s, v24.s[0]
- .long 0x6f980004 // mla v4.4s, v0.4s, v24.s[0]
- .long 0x6f98000e // mla v14.4s, v0.4s, v24.s[0]
- .long 0x6f98000d // mla v13.4s, v0.4s, v24.s[0]
- .long 0x6f98000a // mla v10.4s, v0.4s, v24.s[0]
- .long 0x6f98000c // mla v12.4s, v0.4s, v24.s[0]
- .long 0x6f980005 // mla v5.4s, v0.4s, v24.s[0]
- .long 0x4e21d800 // scvtf v0.4s, v0.4s
- .long 0x4ea0d43a // fsub v26.4s, v1.4s, v0.4s
- .long 0x4ebf9c61 // mul v1.4s, v3.4s, v31.4s
- .long 0x0e0c3c28 // mov w8, v1.s[1]
- .long 0x4f000433 // movi v19.4s, #0x1
- .long 0xb90333e8 // str w8, [sp, #816]
- .long 0x0e143c28 // mov w8, v1.s[2]
- .long 0x3d8033e5 // str q5, [sp, #192]
- .long 0x4eb31e65 // mov v5.16b, v19.16b
- .long 0xb90343e8 // str w8, [sp, #832]
- .long 0x0e1c3c28 // mov w8, v1.s[3]
- .long 0x4ebf9465 // mla v5.4s, v3.4s, v31.4s
- .long 0xb90353e8 // str w8, [sp, #848]
- .long 0x1e260028 // fmov w8, s1
- .long 0x4f000455 // movi v21.4s, #0x2
- .long 0xb9031be8 // str w8, [sp, #792]
- .long 0x0e0c3ca8 // mov w8, v5.s[1]
- .long 0x4eb51ea0 // mov v0.16b, v21.16b
- .long 0xb901dfe8 // str w8, [sp, #476]
- .long 0x0e143ca8 // mov w8, v5.s[2]
- .long 0x4ebf9460 // mla v0.4s, v3.4s, v31.4s
- .long 0xb901f7e8 // str w8, [sp, #500]
- .long 0x0e1c3ca8 // mov w8, v5.s[3]
- .long 0xb901dbe8 // str w8, [sp, #472]
- .long 0x0e143c08 // mov w8, v0.s[2]
- .long 0x6f9803a2 // mla v2.4s, v29.4s, v24.s[0]
- .long 0x0e0c3c1e // mov w30, v0.s[1]
- .long 0xb901f3e8 // str w8, [sp, #496]
- .long 0x0e1c3c08 // mov w8, v0.s[3]
- .long 0x1e260011 // fmov w17, s0
- .long 0x4eb51ea0 // mov v0.16b, v21.16b
- .long 0x4ebf9440 // mla v0.4s, v2.4s, v31.4s
- .long 0x0e0c3c0a // mov w10, v0.s[1]
- .long 0x4eb31e61 // mov v1.16b, v19.16b
- .long 0xb901e3ea // str w10, [sp, #480]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x6f9803b9 // mla v25.4s, v29.4s, v24.s[0]
- .long 0x4ebf9441 // mla v1.4s, v2.4s, v31.4s
- .long 0x4ebf9c42 // mul v2.4s, v2.4s, v31.4s
- .long 0xb901e7ea // str w10, [sp, #484]
- .long 0x0e1c3c0a // mov w10, v0.s[3]
- .long 0xb90197e8 // str w8, [sp, #404]
- .long 0x0e0c3c48 // mov w8, v2.s[1]
- .long 0xb9019bea // str w10, [sp, #408]
- .long 0x1e26000a // fmov w10, s0
- .long 0x4ebf9f20 // mul v0.4s, v25.4s, v31.4s
- .long 0xb90317e8 // str w8, [sp, #788]
- .long 0x0e143c48 // mov w8, v2.s[2]
- .long 0xb901ebea // str w10, [sp, #488]
- .long 0x0e0c3c0a // mov w10, v0.s[1]
- .long 0x6f9803b6 // mla v22.4s, v29.4s, v24.s[0]
- .long 0xb9031fe8 // str w8, [sp, #796]
- .long 0x0e1c3c48 // mov w8, v2.s[3]
- .long 0xb902afea // str w10, [sp, #684]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x3d80bff6 // str q22, [sp, #752]
- .long 0xb90323e8 // str w8, [sp, #800]
- .long 0x1e260048 // fmov w8, s2
- .long 0xb902efea // str w10, [sp, #748]
- .long 0x0e1c3c0a // mov w10, v0.s[3]
- .long 0xb90313e8 // str w8, [sp, #784]
- .long 0x0e143c28 // mov w8, v1.s[2]
- .long 0xb9030fea // str w10, [sp, #780]
- .long 0x1e26000a // fmov w10, s0
- .long 0x3dc0bfe0 // ldr q0, [sp, #752]
- .long 0x6f9803b4 // mla v20.4s, v29.4s, v24.s[0]
- .long 0xb901efe8 // str w8, [sp, #492]
- .long 0x0e1c3c28 // mov w8, v1.s[3]
- .long 0x3d80a7f4 // str q20, [sp, #656]
- .long 0x6f9803a9 // mla v9.4s, v29.4s, v24.s[0]
- .long 0x3d80afe7 // str q7, [sp, #688]
- .long 0x4eb31e7b // mov v27.16b, v19.16b
- .long 0x1e2600a4 // fmov w4, s5
- .long 0x4eb31e65 // mov v5.16b, v19.16b
- .long 0x0e0c3c35 // mov w21, v1.s[1]
- .long 0xb90433e8 // str w8, [sp, #1072]
- .long 0x1e260028 // fmov w8, s1
- .long 0x4eb31e67 // mov v7.16b, v19.16b
- .long 0x4eb31e7c // mov v28.16b, v19.16b
- .long 0x4eb31e71 // mov v17.16b, v19.16b
- .long 0x4eb31e74 // mov v20.16b, v19.16b
- .long 0xad0dcff3 // stp q19, q19, [sp, #432]
- .long 0x4eb31e68 // mov v8.16b, v19.16b
- .long 0x3d806bf3 // str q19, [sp, #416]
- .long 0x4eb31e76 // mov v22.16b, v19.16b
- .long 0x4eb31e6f // mov v15.16b, v19.16b
- .long 0x4eb31e7d // mov v29.16b, v19.16b
- .long 0x4ebf9733 // mla v19.4s, v25.4s, v31.4s
- .long 0x4eb51ea1 // mov v1.16b, v21.16b
- .long 0x3d80b7f2 // str q18, [sp, #720]
- .long 0x3d809be4 // str q4, [sp, #608]
- .long 0x4ea11c22 // mov v2.16b, v1.16b
- .long 0x4ea11c23 // mov v3.16b, v1.16b
- .long 0x4ea11c38 // mov v24.16b, v1.16b
- .long 0x4ea11c24 // mov v4.16b, v1.16b
- .long 0x4ea11c26 // mov v6.16b, v1.16b
- .long 0xad0687e1 // stp q1, q1, [sp, #208]
- .long 0x4ea11c3e // mov v30.16b, v1.16b
- .long 0x4ea11c2b // mov v11.16b, v1.16b
- .long 0x4ea11c30 // mov v16.16b, v1.16b
- .long 0x4ea11c32 // mov v18.16b, v1.16b
- .long 0x4ea11c37 // mov v23.16b, v1.16b
- .long 0x4ebf9721 // mla v1.4s, v25.4s, v31.4s
- .long 0xb9027fea // str w10, [sp, #636]
- .long 0x0e1c3e6a // mov w10, v19.s[3]
- .long 0xb90173ea // str w10, [sp, #368]
- .long 0x0e1c3c2a // mov w10, v1.s[3]
- .long 0x4ebf9405 // mla v5.4s, v0.4s, v31.4s
- .long 0x4ebf9402 // mla v2.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb90153ea // str w10, [sp, #336]
- .long 0x0e0c3c0a // mov w10, v0.s[1]
- .long 0xb9028bea // str w10, [sp, #648]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0xb902abea // str w10, [sp, #680]
- .long 0x0e1c3c0a // mov w10, v0.s[3]
- .long 0xb902cfea // str w10, [sp, #716]
- .long 0x1e26000a // fmov w10, s0
- .long 0x3dc0b7e0 // ldr q0, [sp, #720]
- .long 0x0e1c3cab // mov w11, v5.s[3]
- .long 0xb90163eb // str w11, [sp, #352]
- .long 0x0e0c3c4b // mov w11, v2.s[1]
- .long 0xb900b3eb // str w11, [sp, #176]
- .long 0x0e143c4b // mov w11, v2.s[2]
- .long 0xb9019feb // str w11, [sp, #412]
- .long 0x0e1c3c4b // mov w11, v2.s[3]
- .long 0x4ebf9407 // mla v7.4s, v0.4s, v31.4s
- .long 0x4ebf9403 // mla v3.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb90183eb // str w11, [sp, #384]
- .long 0x0e0c3c0b // mov w11, v0.s[1]
- .long 0xb902cbeb // str w11, [sp, #712]
- .long 0x0e143c0b // mov w11, v0.s[2]
- .long 0xb902d3eb // str w11, [sp, #720]
- .long 0x0e1c3c0b // mov w11, v0.s[3]
- .long 0xb902f3eb // str w11, [sp, #752]
- .long 0x1e26000b // fmov w11, s0
- .long 0x3dc0a7e0 // ldr q0, [sp, #656]
- .long 0x0e1c3c70 // mov w16, v3.s[3]
- .long 0xb9010bf0 // str w16, [sp, #264]
- .long 0xb9028feb // str w11, [sp, #652]
- .long 0x4ebf9411 // mla v17.4s, v0.4s, v31.4s
- .long 0x4ebf9404 // mla v4.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0x0e0c3c10 // mov w16, v0.s[1]
- .long 0xb9025ff0 // str w16, [sp, #604]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0xb9027bf0 // str w16, [sp, #632]
- .long 0x0e1c3c10 // mov w16, v0.s[3]
- .long 0xb90287f0 // str w16, [sp, #644]
- .long 0x1e260010 // fmov w16, s0
- .long 0xb9021bf0 // str w16, [sp, #536]
- .long 0x0e0c3e30 // mov w16, v17.s[1]
- .long 0xb90093f0 // str w16, [sp, #144]
- .long 0x0e143e30 // mov w16, v17.s[2]
- .long 0x3dc0afe0 // ldr q0, [sp, #688]
- .long 0xb9010ff0 // str w16, [sp, #268]
- .long 0x0e1c3e30 // mov w16, v17.s[3]
- .long 0xb90133f0 // str w16, [sp, #304]
- .long 0x0e0c3c90 // mov w16, v4.s[1]
- .long 0xb9006ff0 // str w16, [sp, #108]
- .long 0x0e143c90 // mov w16, v4.s[2]
- .long 0xb90107f0 // str w16, [sp, #260]
- .long 0x0e1c3c90 // mov w16, v4.s[3]
- .long 0x4ebf9414 // mla v20.4s, v0.4s, v31.4s
- .long 0x4ebf9406 // mla v6.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb90117f0 // str w16, [sp, #276]
- .long 0x0e0c3c10 // mov w16, v0.s[1]
- .long 0xb90283f0 // str w16, [sp, #640]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0xb90293f0 // str w16, [sp, #656]
- .long 0x0e1c3c10 // mov w16, v0.s[3]
- .long 0xb902b3f0 // str w16, [sp, #688]
- .long 0x1e260010 // fmov w16, s0
- .long 0xb9023bf0 // str w16, [sp, #568]
- .long 0x0e143e90 // mov w16, v20.s[2]
- .long 0xb9006bf0 // str w16, [sp, #104]
- .long 0x0e1c3e90 // mov w16, v20.s[3]
- .long 0x3dc093e0 // ldr q0, [sp, #576]
- .long 0xb9012bf0 // str w16, [sp, #296]
- .long 0x0e0c3cd0 // mov w16, v6.s[1]
- .long 0xb9011bf0 // str w16, [sp, #280]
- .long 0x0e143cd0 // mov w16, v6.s[2]
- .long 0xb90123f0 // str w16, [sp, #288]
- .long 0x0e1c3cd0 // mov w16, v6.s[3]
- .long 0xb90113f0 // str w16, [sp, #272]
- .long 0x1e2600d0 // fmov w16, s6
- .long 0x4ebf9416 // mla v22.4s, v0.4s, v31.4s
- .long 0x4ebf9410 // mla v16.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb90057f0 // str w16, [sp, #84]
- .long 0x0e0c3c10 // mov w16, v0.s[1]
- .long 0xb90217f0 // str w16, [sp, #532]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0xb9021ff0 // str w16, [sp, #540]
- .long 0x0e1c3c10 // mov w16, v0.s[3]
- .long 0xb90243f0 // str w16, [sp, #576]
- .long 0x1e260010 // fmov w16, s0
- .long 0xb90203f0 // str w16, [sp, #512]
- .long 0x0e0c3ed0 // mov w16, v22.s[1]
- .long 0xb90067f0 // str w16, [sp, #100]
- .long 0x0e143ed0 // mov w16, v22.s[2]
- .long 0xb90103f0 // str w16, [sp, #256]
- .long 0x0e1c3ed0 // mov w16, v22.s[3]
- .long 0x3dc08be0 // ldr q0, [sp, #544]
- .long 0xb9014bf0 // str w16, [sp, #328]
- .long 0x0e0c3e10 // mov w16, v16.s[1]
- .long 0xb900aff0 // str w16, [sp, #172]
- .long 0x0e143e10 // mov w16, v16.s[2]
- .long 0xb900b7f0 // str w16, [sp, #180]
- .long 0x0e1c3e10 // mov w16, v16.s[3]
- .long 0xb90127f0 // str w16, [sp, #292]
- .long 0x1e260210 // fmov w16, s16
- .long 0x4ebf940f // mla v15.4s, v0.4s, v31.4s
- .long 0x4ebf9412 // mla v18.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb900f7f0 // str w16, [sp, #244]
- .long 0x0e0c3c10 // mov w16, v0.s[1]
- .long 0xb9020bf0 // str w16, [sp, #520]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0xb9020ff0 // str w16, [sp, #524]
- .long 0x0e1c3c10 // mov w16, v0.s[3]
- .long 0xb90213f0 // str w16, [sp, #528]
- .long 0x1e260010 // fmov w16, s0
- .long 0xb901fff0 // str w16, [sp, #508]
- .long 0x0e0c3df0 // mov w16, v15.s[1]
- .long 0xb90087f0 // str w16, [sp, #132]
- .long 0x0e143df0 // mov w16, v15.s[2]
- .long 0xb900abf0 // str w16, [sp, #168]
- .long 0x0e1c3df0 // mov w16, v15.s[3]
- .long 0xb9014ff0 // str w16, [sp, #332]
- .long 0x1e2601f0 // fmov w16, s15
- .long 0x3dc09be0 // ldr q0, [sp, #608]
- .long 0xb9005ff0 // str w16, [sp, #92]
- .long 0x0e0c3e50 // mov w16, v18.s[1]
- .long 0xb9007ff0 // str w16, [sp, #124]
- .long 0x0e143e50 // mov w16, v18.s[2]
- .long 0xb9008ff0 // str w16, [sp, #140]
- .long 0x0e1c3e50 // mov w16, v18.s[3]
- .long 0x0e1c3ceb // mov w11, v7.s[3]
- .long 0xb9012ff0 // str w16, [sp, #300]
- .long 0x1e260250 // fmov w16, s18
- .long 0x4ebf941d // mla v29.4s, v0.4s, v31.4s
- .long 0x4ebf9417 // mla v23.4s, v0.4s, v31.4s
- .long 0x4ebf9c00 // mul v0.4s, v0.4s, v31.4s
- .long 0xb9023fea // str w10, [sp, #572]
- .long 0xb9011feb // str w11, [sp, #284]
- .long 0xb90063f0 // str w16, [sp, #96]
- .long 0x0e0c3c10 // mov w16, v0.s[1]
- .long 0xf9400129 // ldr x9, [x9]
- .long 0xb90207f0 // str w16, [sp, #516]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0xb90223f0 // str w16, [sp, #544]
- .long 0x0e1c3c10 // mov w16, v0.s[3]
- .long 0xb90263f0 // str w16, [sp, #608]
- .long 0x1e260010 // fmov w16, s0
- .long 0xb901fbf0 // str w16, [sp, #504]
- .long 0x0e0c3fb0 // mov w16, v29.s[1]
- .long 0xb90073f0 // str w16, [sp, #112]
- .long 0x0e143fb0 // mov w16, v29.s[2]
- .long 0xb9007bf0 // str w16, [sp, #120]
- .long 0x0e1c3fb0 // mov w16, v29.s[3]
- .long 0x8b244924 // add x4, x9, w4, uxtw #2
- .long 0xb900fff0 // str w16, [sp, #252]
- .long 0x0d408080 // ld1 {v0.s}[0], [x4]
- .long 0x0e0c3ee4 // mov w4, v23.s[1]
- .long 0xb9008be4 // str w4, [sp, #136]
- .long 0x0e143ee4 // mov w4, v23.s[2]
- .long 0xb90083e4 // str w4, [sp, #128]
- .long 0x0e1c3ee4 // mov w4, v23.s[3]
- .long 0xb900fbe4 // str w4, [sp, #248]
- .long 0x1e2602e4 // fmov w4, s23
- .long 0x8b314931 // add x17, x9, w17, uxtw #2
- .long 0xb90077e4 // str w4, [sp, #116]
- .long 0x0e0c3c2c // mov w12, v1.s[1]
- .long 0x0e143c36 // mov w22, v1.s[2]
- .long 0x1e260034 // fmov w20, s1
- .long 0x0d408221 // ld1 {v1.s}[0], [x17]
- .long 0xb941dff1 // ldr w17, [sp, #476]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0e0c3cf9 // mov w25, v7.s[1]
- .long 0x0e143ce5 // mov w5, v7.s[2]
- .long 0x8b314931 // add x17, x9, w17, uxtw #2
- .long 0x0d409220 // ld1 {v0.s}[1], [x17]
- .long 0x1e2600eb // fmov w11, s7
- .long 0x0e0c3e78 // mov w24, v19.s[1]
- .long 0x0e143e67 // mov w7, v19.s[2]
- .long 0x4ea01c17 // mov v23.16b, v0.16b
- .long 0x0d408100 // ld1 {v0.s}[0], [x8]
- .long 0x8b3e4928 // add x8, x9, w30, uxtw #2
- .long 0x0d409101 // ld1 {v1.s}[1], [x8]
- .long 0x8b354928 // add x8, x9, w21, uxtw #2
- .long 0x0d409100 // ld1 {v0.s}[1], [x8]
- .long 0xb941f7e8 // ldr w8, [sp, #500]
- .long 0x1e26026d // fmov w13, s19
- .long 0x4ea11c33 // mov v19.16b, v1.16b
- .long 0x4ebf9dc1 // mul v1.4s, v14.4s, v31.4s
- .long 0xbc685926 // ldr s6, [x9, w8, uxtw #2]
- .long 0xb941f3e8 // ldr w8, [sp, #496]
- .long 0x0e0c3c31 // mov w17, v1.s[1]
- .long 0x4ebf95db // mla v27.4s, v14.4s, v31.4s
- .long 0x0e0c3e86 // mov w6, v20.s[1]
- .long 0xbc685927 // ldr s7, [x9, w8, uxtw #2]
- .long 0xb941efe8 // ldr w8, [sp, #492]
- .long 0x1e260297 // fmov w23, s20
- .long 0x4ebf95d5 // mla v21.4s, v14.4s, v31.4s
- .long 0x3dc03bf4 // ldr q20, [sp, #224]
- .long 0xbc685930 // ldr s16, [x9, w8, uxtw #2]
- .long 0xb941ebe8 // ldr w8, [sp, #488]
- .long 0xb901eff1 // str w17, [sp, #492]
- .long 0x0e143c31 // mov w17, v1.s[2]
- .long 0xb901f3f1 // str w17, [sp, #496]
- .long 0x0e1c3c31 // mov w17, v1.s[3]
- .long 0xb901f7f1 // str w17, [sp, #500]
- .long 0x1e260031 // fmov w17, s1
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0xb901ebf1 // str w17, [sp, #488]
- .long 0x0d40810f // ld1 {v15.s}[0], [x8]
- .long 0x8b2d4928 // add x8, x9, w13, uxtw #2
- .long 0x0e0c3f6d // mov w13, v27.s[1]
- .long 0xb90043ed // str w13, [sp, #64]
- .long 0x0e143f6d // mov w13, v27.s[2]
- .long 0xb90047ed // str w13, [sp, #68]
- .long 0x0e1c3f6d // mov w13, v27.s[3]
- .long 0xb900e3ed // str w13, [sp, #224]
- .long 0x1e26036d // fmov w13, s27
- .long 0x4ea01c12 // mov v18.16b, v0.16b
- .long 0xb9002fed // str w13, [sp, #44]
- .long 0x0e0c3ead // mov w13, v21.s[1]
- .long 0x6e140612 // mov v18.s[2], v16.s[0]
- .long 0x0d408110 // ld1 {v16.s}[0], [x8]
- .long 0xb9004bed // str w13, [sp, #72]
- .long 0x0e143ead // mov w13, v21.s[2]
- .long 0xb90053ed // str w13, [sp, #80]
- .long 0x0e1c3ead // mov w13, v21.s[3]
- .long 0x1e26004f // fmov w15, s2
- .long 0x0e0c3c7a // mov w26, v3.s[1]
- .long 0x0e143c73 // mov w19, v3.s[2]
- .long 0x1e260061 // fmov w1, s3
- .long 0x4ebf95bc // mla v28.4s, v13.4s, v31.4s
- .long 0x4ebf95b8 // mla v24.4s, v13.4s, v31.4s
- .long 0x4ebf9da2 // mul v2.4s, v13.4s, v31.4s
- .long 0xad4637e3 // ldp q3, q13, [sp, #192]
- .long 0xb900d3ed // str w13, [sp, #208]
- .long 0x1e2602ad // fmov w13, s21
- .long 0x8b344928 // add x8, x9, w20, uxtw #2
- .long 0xb90037ed // str w13, [sp, #52]
- .long 0x1e26009b // fmov w27, s4
- .long 0x4ebf9528 // mla v8.4s, v9.4s, v31.4s
- .long 0x4ebf953e // mla v30.4s, v9.4s, v31.4s
- .long 0x4ebf9d24 // mul v4.4s, v9.4s, v31.4s
- .long 0x4eb21e49 // mov v9.16b, v18.16b
- .long 0x0d408112 // ld1 {v18.s}[0], [x8]
- .long 0x0e0c3c48 // mov w8, v2.s[1]
- .long 0xb9004fe8 // str w8, [sp, #76]
- .long 0x0e143c48 // mov w8, v2.s[2]
- .long 0xb9005be8 // str w8, [sp, #88]
- .long 0x0e1c3c48 // mov w8, v2.s[3]
- .long 0xb900c3e8 // str w8, [sp, #192]
- .long 0x1e260048 // fmov w8, s2
- .long 0x1e2602dc // fmov w28, s22
- .long 0x1e2603b0 // fmov w16, s29
- .long 0xad4d77f6 // ldp q22, q29, [sp, #416]
- .long 0xb9003fe8 // str w8, [sp, #60]
- .long 0xb941e3e8 // ldr w8, [sp, #480]
- .long 0x1e2600a3 // fmov w3, s5
- .long 0x6e1404d7 // mov v23.s[2], v6.s[0]
- .long 0x8b234931 // add x17, x9, w3, uxtw #2
- .long 0x0e0c3cae // mov w14, v5.s[1]
- .long 0x0e143caa // mov w10, v5.s[2]
- .long 0x4ebf9556 // mla v22.4s, v10.4s, v31.4s
- .long 0x4ebf954b // mla v11.4s, v10.4s, v31.4s
- .long 0x4ebf9d45 // mul v5.4s, v10.4s, v31.4s
- .long 0x4eb71eea // mov v10.16b, v23.16b
- .long 0x0d408237 // ld1 {v23.s}[0], [x17]
- .long 0x8b284931 // add x17, x9, w8, uxtw #2
- .long 0xb941e7e8 // ldr w8, [sp, #484]
- .long 0x8b2c492c // add x12, x9, w12, uxtw #2
- .long 0x0d40922f // ld1 {v15.s}[1], [x17]
- .long 0x8b384931 // add x17, x9, w24, uxtw #2
- .long 0x0d409192 // ld1 {v18.s}[1], [x12]
- .long 0x8b2e492c // add x12, x9, w14, uxtw #2
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0x0e0c3f88 // mov w8, v28.s[1]
- .long 0x6e1404f3 // mov v19.s[2], v7.s[0]
- .long 0x0d409230 // ld1 {v16.s}[1], [x17]
- .long 0x0d409197 // ld1 {v23.s}[1], [x12]
- .long 0xbc675922 // ldr s2, [x9, w7, uxtw #2]
- .long 0xbc765926 // ldr s6, [x9, w22, uxtw #2]
- .long 0xbc6a5927 // ldr s7, [x9, w10, uxtw #2]
- .long 0xb90033e8 // str w8, [sp, #48]
- .long 0x0e143f88 // mov w8, v28.s[2]
- .long 0xb9003be8 // str w8, [sp, #56]
- .long 0x0e1c3f88 // mov w8, v28.s[3]
- .long 0xb900bbe8 // str w8, [sp, #184]
- .long 0x1e260388 // fmov w8, s28
- .long 0x8b2f492a // add x10, x9, w15, uxtw #2
- .long 0xb90023e8 // str w8, [sp, #32]
- .long 0x0e0c3f08 // mov w8, v24.s[1]
- .long 0x6e1404f7 // mov v23.s[2], v7.s[0]
- .long 0x0d408147 // ld1 {v7.s}[0], [x10]
- .long 0xb90027e8 // str w8, [sp, #36]
- .long 0x0e143f08 // mov w8, v24.s[2]
- .long 0xb9002be8 // str w8, [sp, #40]
- .long 0x0e1c3f08 // mov w8, v24.s[3]
- .long 0x6e140450 // mov v16.s[2], v2.s[0]
- .long 0x6e1404d2 // mov v18.s[2], v6.s[0]
- .long 0x8b2b492a // add x10, x9, w11, uxtw #2
- .long 0xb900bfe8 // str w8, [sp, #188]
- .long 0x0e0c3c88 // mov w8, v4.s[1]
- .long 0x4eb01e19 // mov v25.16b, v16.16b
- .long 0x4eb21e50 // mov v16.16b, v18.16b
- .long 0x0d408152 // ld1 {v18.s}[0], [x10]
- .long 0xb901dfe8 // str w8, [sp, #476]
- .long 0x0e143c88 // mov w8, v4.s[2]
- .long 0xb901e3e8 // str w8, [sp, #480]
- .long 0x0e1c3c88 // mov w8, v4.s[3]
- .long 0xb901e7e8 // str w8, [sp, #484]
- .long 0x1e260088 // fmov w8, s4
- .long 0x1e260222 // fmov w2, s17
- .long 0x3dc073f1 // ldr q17, [sp, #448]
- .long 0xb901b3e8 // str w8, [sp, #432]
- .long 0xb940b3e8 // ldr w8, [sp, #176]
- .long 0x8b21492a // add x10, x9, w1, uxtw #2
- .long 0x4ebf959d // mla v29.4s, v12.4s, v31.4s
- .long 0x4ebf958d // mla v13.4s, v12.4s, v31.4s
- .long 0x4ebf9d80 // mul v0.4s, v12.4s, v31.4s
- .long 0x4ebf9471 // mla v17.4s, v3.4s, v31.4s
- .long 0x4ebf9474 // mla v20.4s, v3.4s, v31.4s
- .long 0x4ebf9c63 // mul v3.4s, v3.4s, v31.4s
- .long 0x4eb31e7f // mov v31.16b, v19.16b
- .long 0x0d408153 // ld1 {v19.s}[0], [x10]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0xb9419fe8 // ldr w8, [sp, #412]
- .long 0x6e14042f // mov v15.s[2], v1.s[0]
- .long 0x0d409147 // ld1 {v7.s}[1], [x10]
- .long 0x8b39492a // add x10, x9, w25, uxtw #2
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb941dbe8 // ldr w8, [sp, #472]
- .long 0x0d409152 // ld1 {v18.s}[1], [x10]
- .long 0x8b3a492a // add x10, x9, w26, uxtw #2
- .long 0x0d409153 // ld1 {v19.s}[1], [x10]
- .long 0xbc685926 // ldr s6, [x9, w8, uxtw #2]
- .long 0x0e1c3d08 // mov w8, v8.s[3]
- .long 0xbc655922 // ldr s2, [x9, w5, uxtw #2]
- .long 0xbc735924 // ldr s4, [x9, w19, uxtw #2]
- .long 0x6e1c04ca // mov v10.s[3], v6.s[0]
- .long 0x3d8007ea // str q10, [sp, #16]
- .long 0x8b22492a // add x10, x9, w2, uxtw #2
- .long 0xb900b3e8 // str w8, [sp, #176]
- .long 0x0e1c3fc8 // mov w8, v30.s[3]
- .long 0x0d408146 // ld1 {v6.s}[0], [x10]
- .long 0x8b3b492a // add x10, x9, w27, uxtw #2
- .long 0xb900a7e8 // str w8, [sp, #164]
- .long 0x0e0c3ca8 // mov w8, v5.s[1]
- .long 0x0d40815b // ld1 {v27.s}[0], [x10]
- .long 0xb901a3e8 // str w8, [sp, #416]
- .long 0x0e143ca8 // mov w8, v5.s[2]
- .long 0xb901c3e8 // str w8, [sp, #448]
- .long 0x0e1c3ca8 // mov w8, v5.s[3]
- .long 0xb901dbe8 // str w8, [sp, #472]
- .long 0x1e2600a8 // fmov w8, s5
- .long 0xb9019fe8 // str w8, [sp, #412]
- .long 0xb94093e8 // ldr w8, [sp, #144]
- .long 0x8b37492a // add x10, x9, w23, uxtw #2
- .long 0x0d408155 // ld1 {v21.s}[0], [x10]
- .long 0x6e140427 // mov v7.s[2], v1.s[0]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0xb9406fe8 // ldr w8, [sp, #108]
- .long 0x0d409146 // ld1 {v6.s}[1], [x10]
- .long 0x6e140452 // mov v18.s[2], v2.s[0]
- .long 0x6e140493 // mov v19.s[2], v4.s[0]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0xb94197e8 // ldr w8, [sp, #404]
- .long 0x0d40915b // ld1 {v27.s}[1], [x10]
- .long 0x8b26492a // add x10, x9, w6, uxtw #2
- .long 0x0d409155 // ld1 {v21.s}[1], [x10]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb9410fe8 // ldr w8, [sp, #268]
- .long 0x1e26030b // fmov w11, s24
- .long 0x8b304930 // add x16, x9, w16, uxtw #2
- .long 0x6e1c043f // mov v31.s[3], v1.s[0]
- .long 0xbc685922 // ldr s2, [x9, w8, uxtw #2]
- .long 0xb94107e8 // ldr w8, [sp, #260]
- .long 0x4eb61ec1 // mov v1.16b, v22.16b
- .long 0x0e0c3c25 // mov w5, v1.s[1]
- .long 0x6e140446 // mov v6.s[2], v2.s[0]
- .long 0xbc685924 // ldr s4, [x9, w8, uxtw #2]
- .long 0xb9406be8 // ldr w8, [sp, #104]
- .long 0x4ea61cd8 // mov v24.16b, v6.16b
- .long 0x0e143c37 // mov w23, v1.s[2]
- .long 0x1e26003e // fmov w30, s1
- .long 0xbc685925 // ldr s5, [x9, w8, uxtw #2]
- .long 0xb94057e8 // ldr w8, [sp, #84]
- .long 0x6e14049b // mov v27.s[2], v4.s[0]
- .long 0x0e0c3fc2 // mov w2, v30.s[1]
- .long 0x6e1404b5 // mov v21.s[2], v5.s[0]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0x0e1c3c28 // mov w8, v1.s[3]
- .long 0xb9006be8 // str w8, [sp, #104]
- .long 0x0e1c3d68 // mov w8, v11.s[3]
- .long 0x0d408156 // ld1 {v22.s}[0], [x10]
- .long 0xb9006fe8 // str w8, [sp, #108]
- .long 0xb9411be8 // ldr w8, [sp, #280]
- .long 0x8b3c492a // add x10, x9, w28, uxtw #2
- .long 0x0d408146 // ld1 {v6.s}[0], [x10]
- .long 0x0e143fdb // mov w27, v30.s[2]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0xb94067e8 // ldr w8, [sp, #100]
- .long 0x0d409156 // ld1 {v22.s}[1], [x10]
- .long 0x1e2603c1 // fmov w1, s30
- .long 0x4ebf1ffe // mov v30.16b, v31.16b
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0xb94123e8 // ldr w8, [sp, #288]
- .long 0x0d409146 // ld1 {v6.s}[1], [x10]
- .long 0x0e0c3d63 // mov w3, v11.s[1]
- .long 0x0e143d7c // mov w28, v11.s[2]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb94433e8 // ldr w8, [sp, #1072]
- .long 0x1e260171 // fmov w17, s11
- .long 0x8b2b492b // add x11, x9, w11, uxtw #2
- .long 0x6e140436 // mov v22.s[2], v1.s[0]
- .long 0xbc685922 // ldr s2, [x9, w8, uxtw #2]
- .long 0xb9419be8 // ldr w8, [sp, #408]
- .long 0x1e260113 // fmov w19, s8
- .long 0x0e0c3d1a // mov w26, v8.s[1]
- .long 0x6e1c0449 // mov v9.s[3], v2.s[0]
- .long 0xbc685924 // ldr s4, [x9, w8, uxtw #2]
- .long 0xb94103e8 // ldr w8, [sp, #256]
- .long 0x0e143d19 // mov w25, v8.s[2]
- .long 0x6e1c048f // mov v15.s[3], v4.s[0]
- .long 0xbc685925 // ldr s5, [x9, w8, uxtw #2]
- .long 0xb940f7e8 // ldr w8, [sp, #244]
- .long 0x3d8027e9 // str q9, [sp, #144]
- .long 0x6e1404a6 // mov v6.s[2], v5.s[0]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0x0e0c3c08 // mov w8, v0.s[1]
- .long 0xb90123e8 // str w8, [sp, #288]
- .long 0x0e143c08 // mov w8, v0.s[2]
- .long 0xb90197e8 // str w8, [sp, #404]
- .long 0x0e1c3c08 // mov w8, v0.s[3]
- .long 0xb9019be8 // str w8, [sp, #408]
- .long 0x1e260008 // fmov w8, s0
- .long 0xb90103e8 // str w8, [sp, #256]
- .long 0xb9405fe8 // ldr w8, [sp, #92]
- .long 0x3d810fe6 // str q6, [sp, #1072]
- .long 0x4ebd1fa0 // mov v0.16b, v29.16b
- .long 0x0d408149 // ld1 {v9.s}[0], [x10]
- .long 0x8b28492a // add x10, x9, w8, uxtw #2
- .long 0x0e1c3c08 // mov w8, v0.s[3]
- .long 0xb9005fe8 // str w8, [sp, #92]
- .long 0x0d40815d // ld1 {v29.s}[0], [x10]
- .long 0xb94063ea // ldr w10, [sp, #96]
- .long 0x0e0c3c15 // mov w21, v0.s[1]
- .long 0x0e143c04 // mov w4, v0.s[2]
- .long 0x1e260008 // fmov w8, s0
- .long 0x4ead1da0 // mov v0.16b, v13.16b
- .long 0x0e1c3c0c // mov w12, v0.s[3]
- .long 0x8b2a4926 // add x6, x9, w10, uxtw #2
- .long 0xb90067ec // str w12, [sp, #100]
- .long 0x0e0c3c6c // mov w12, v3.s[1]
- .long 0x0d4080cc // ld1 {v12.s}[0], [x6]
- .long 0xb90107ec // str w12, [sp, #260]
- .long 0x0e143c6c // mov w12, v3.s[2]
- .long 0xb9010fec // str w12, [sp, #268]
- .long 0x0e1c3c6c // mov w12, v3.s[3]
- .long 0xb9011bec // str w12, [sp, #280]
- .long 0x1e26006c // fmov w12, s3
- .long 0xb900f7ec // str w12, [sp, #244]
- .long 0xb940afec // ldr w12, [sp, #172]
- .long 0x0d40821f // ld1 {v31.s}[0], [x16]
- .long 0x0e0c3c07 // mov w7, v0.s[1]
- .long 0x0e143c0a // mov w10, v0.s[2]
- .long 0x8b2c4930 // add x16, x9, w12, uxtw #2
- .long 0xb94087ec // ldr w12, [sp, #132]
- .long 0x0d409209 // ld1 {v9.s}[1], [x16]
- .long 0x1e260014 // fmov w20, s0
- .long 0x4eb11e20 // mov v0.16b, v17.16b
- .long 0x8b2c4930 // add x16, x9, w12, uxtw #2
- .long 0xb9407fec // ldr w12, [sp, #124]
- .long 0x0d40921d // ld1 {v29.s}[1], [x16]
- .long 0x0e0c3c16 // mov w22, v0.s[1]
- .long 0x0e1c3c06 // mov w6, v0.s[3]
- .long 0x8b2c4930 // add x16, x9, w12, uxtw #2
- .long 0xb94073ec // ldr w12, [sp, #112]
- .long 0x0d40920c // ld1 {v12.s}[1], [x16]
- .long 0x1e26000d // fmov w13, s0
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x8b2c4930 // add x16, x9, w12, uxtw #2
- .long 0xb940b7ec // ldr w12, [sp, #180]
- .long 0x0d40921f // ld1 {v31.s}[1], [x16]
- .long 0xbc6c5921 // ldr s1, [x9, w12, uxtw #2]
- .long 0xb940abec // ldr w12, [sp, #168]
- .long 0x6e140429 // mov v9.s[2], v1.s[0]
- .long 0xbc6c5922 // ldr s2, [x9, w12, uxtw #2]
- .long 0xb9408fec // ldr w12, [sp, #140]
- .long 0x6e14045d // mov v29.s[2], v2.s[0]
- .long 0xbc6c5923 // ldr s3, [x9, w12, uxtw #2]
- .long 0xb9407bec // ldr w12, [sp, #120]
- .long 0x6e14046c // mov v12.s[2], v3.s[0]
- .long 0xbc6c5924 // ldr s4, [x9, w12, uxtw #2]
- .long 0xb94077ec // ldr w12, [sp, #116]
- .long 0x6e14049f // mov v31.s[2], v4.s[0]
- .long 0x8b2c4930 // add x16, x9, w12, uxtw #2
- .long 0x0e143c0c // mov w12, v0.s[2]
- .long 0x4eb41e80 // mov v0.16b, v20.16b
- .long 0x0e1c3c0e // mov w14, v0.s[3]
- .long 0x0d40820b // ld1 {v11.s}[0], [x16]
- .long 0xb900b7ee // str w14, [sp, #180]
- .long 0xb94083ee // ldr w14, [sp, #128]
- .long 0x0e0c3c18 // mov w24, v0.s[1]
- .long 0x0e143c10 // mov w16, v0.s[2]
- .long 0x1e26000f // fmov w15, s0
- .long 0xbc6e5921 // ldr s1, [x9, w14, uxtw #2]
- .long 0xb9408bee // ldr w14, [sp, #136]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4091cb // ld1 {v11.s}[1], [x14]
- .long 0xb94173ee // ldr w14, [sp, #368]
- .long 0x6e14042b // mov v11.s[2], v1.s[0]
- .long 0xbc6e5922 // ldr s2, [x9, w14, uxtw #2]
- .long 0xb9402fee // ldr w14, [sp, #44]
- .long 0x6e1c0459 // mov v25.s[3], v2.s[0]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4081c5 // ld1 {v5.s}[0], [x14]
- .long 0xb94043ee // ldr w14, [sp, #64]
- .long 0x3d805ff9 // str q25, [sp, #368]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4091c5 // ld1 {v5.s}[1], [x14]
- .long 0xb94153ee // ldr w14, [sp, #336]
- .long 0xbc6e5921 // ldr s1, [x9, w14, uxtw #2]
- .long 0xb94047ee // ldr w14, [sp, #68]
- .long 0x6e1c0430 // mov v16.s[3], v1.s[0]
- .long 0xbc6e5922 // ldr s2, [x9, w14, uxtw #2]
- .long 0xb94037ee // ldr w14, [sp, #52]
- .long 0x6e140445 // mov v5.s[2], v2.s[0]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4081c4 // ld1 {v4.s}[0], [x14]
- .long 0xb9404bee // ldr w14, [sp, #72]
- .long 0x3d8057f0 // str q16, [sp, #336]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4091c4 // ld1 {v4.s}[1], [x14]
- .long 0xb94053ee // ldr w14, [sp, #80]
- .long 0xbc6e5921 // ldr s1, [x9, w14, uxtw #2]
- .long 0xb94163ee // ldr w14, [sp, #352]
- .long 0x6e140424 // mov v4.s[2], v1.s[0]
- .long 0xbc6e5922 // ldr s2, [x9, w14, uxtw #2]
- .long 0xb9403fee // ldr w14, [sp, #60]
- .long 0x6e1c0457 // mov v23.s[3], v2.s[0]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4081ca // ld1 {v10.s}[0], [x14]
- .long 0xb9404fee // ldr w14, [sp, #76]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4091ca // ld1 {v10.s}[1], [x14]
- .long 0xb94183ee // ldr w14, [sp, #384]
- .long 0xbc6e5921 // ldr s1, [x9, w14, uxtw #2]
- .long 0xb9411fee // ldr w14, [sp, #284]
- .long 0x6e1c0427 // mov v7.s[3], v1.s[0]
- .long 0xbc6e5922 // ldr s2, [x9, w14, uxtw #2]
- .long 0xb9410bee // ldr w14, [sp, #264]
- .long 0x6e1c0452 // mov v18.s[3], v2.s[0]
- .long 0xbc6e5920 // ldr s0, [x9, w14, uxtw #2]
- .long 0xb9405bee // ldr w14, [sp, #88]
- .long 0x6e1c0413 // mov v19.s[3], v0.s[0]
- .long 0xbc6e5926 // ldr s6, [x9, w14, uxtw #2]
- .long 0xb94023ee // ldr w14, [sp, #32]
- .long 0x3d8063e7 // str q7, [sp, #384]
- .long 0x0d40816e // ld1 {v14.s}[0], [x11]
- .long 0xb94033eb // ldr w11, [sp, #48]
- .long 0x8b2e492e // add x14, x9, w14, uxtw #2
- .long 0x0d4081cd // ld1 {v13.s}[0], [x14]
- .long 0x6e1404ca // mov v10.s[2], v6.s[0]
- .long 0x8b2b492b // add x11, x9, w11, uxtw #2
- .long 0x0d40916d // ld1 {v13.s}[1], [x11]
- .long 0xb94027eb // ldr w11, [sp, #36]
- .long 0x8b2b492b // add x11, x9, w11, uxtw #2
- .long 0x0d40916e // ld1 {v14.s}[1], [x11]
- .long 0xb9403beb // ldr w11, [sp, #56]
- .long 0xbc6b5921 // ldr s1, [x9, w11, uxtw #2]
- .long 0xb9402beb // ldr w11, [sp, #40]
- .long 0x6e14042d // mov v13.s[2], v1.s[0]
- .long 0xbc6b5922 // ldr s2, [x9, w11, uxtw #2]
- .long 0xb94133eb // ldr w11, [sp, #304]
- .long 0x6e14044e // mov v14.s[2], v2.s[0]
- .long 0xbc6b5920 // ldr s0, [x9, w11, uxtw #2]
- .long 0xb94117eb // ldr w11, [sp, #276]
- .long 0x6e1c0418 // mov v24.s[3], v0.s[0]
- .long 0xbc6b5926 // ldr s6, [x9, w11, uxtw #2]
- .long 0x3d804ff8 // str q24, [sp, #304]
- .long 0x8b33492b // add x11, x9, w19, uxtw #2
- .long 0x6e1c04db // mov v27.s[3], v6.s[0]
- .long 0x3d805bfb // str q27, [sp, #352]
- .long 0x0d40817c // ld1 {v28.s}[0], [x11]
- .long 0x8b21492b // add x11, x9, w1, uxtw #2
- .long 0x0d40817b // ld1 {v27.s}[0], [x11]
- .long 0x8b3a492b // add x11, x9, w26, uxtw #2
- .long 0x0d40917c // ld1 {v28.s}[1], [x11]
- .long 0x8b22492b // add x11, x9, w2, uxtw #2
- .long 0x0d40917b // ld1 {v27.s}[1], [x11]
- .long 0xb9412beb // ldr w11, [sp, #296]
- .long 0xbc795920 // ldr s0, [x9, w25, uxtw #2]
- .long 0xbc7b5926 // ldr s6, [x9, w27, uxtw #2]
- .long 0xf941e7e1 // ldr x1, [sp, #968]
- .long 0xbc6b5921 // ldr s1, [x9, w11, uxtw #2]
- .long 0xb94113eb // ldr w11, [sp, #272]
- .long 0x6e14041c // mov v28.s[2], v0.s[0]
- .long 0x6e1404db // mov v27.s[2], v6.s[0]
- .long 0x6e1c0435 // mov v21.s[3], v1.s[0]
- .long 0xbc6b5922 // ldr s2, [x9, w11, uxtw #2]
- .long 0x8b3e492b // add x11, x9, w30, uxtw #2
- .long 0x0d408179 // ld1 {v25.s}[0], [x11]
- .long 0x8b31492b // add x11, x9, w17, uxtw #2
- .long 0x0d408178 // ld1 {v24.s}[0], [x11]
- .long 0x8b25492b // add x11, x9, w5, uxtw #2
- .long 0x0d409179 // ld1 {v25.s}[1], [x11]
- .long 0x8b23492b // add x11, x9, w3, uxtw #2
- .long 0x0d409178 // ld1 {v24.s}[1], [x11]
- .long 0xb9414beb // ldr w11, [sp, #328]
- .long 0xbc775921 // ldr s1, [x9, w23, uxtw #2]
- .long 0x6e1c0456 // mov v22.s[3], v2.s[0]
- .long 0xbc7c5922 // ldr s2, [x9, w28, uxtw #2]
- .long 0xbc6b5920 // ldr s0, [x9, w11, uxtw #2]
- .long 0xb94127eb // ldr w11, [sp, #292]
- .long 0x6e140439 // mov v25.s[2], v1.s[0]
- .long 0x3dc10fe1 // ldr q1, [sp, #1072]
- .long 0x6e140458 // mov v24.s[2], v2.s[0]
- .long 0xbc6b5926 // ldr s6, [x9, w11, uxtw #2]
- .long 0x4eb6d5e8 // fsub v8.4s, v15.4s, v22.4s
- .long 0x6e1c0401 // mov v1.s[3], v0.s[0]
- .long 0x3d810fe1 // str q1, [sp, #1072]
- .long 0x6e1c04c9 // mov v9.s[3], v6.s[0]
- .long 0x0d408106 // ld1 {v6.s}[0], [x8]
- .long 0x8b344928 // add x8, x9, w20, uxtw #2
- .long 0x0d408107 // ld1 {v7.s}[0], [x8]
- .long 0x8b354928 // add x8, x9, w21, uxtw #2
- .long 0x0d409106 // ld1 {v6.s}[1], [x8]
- .long 0x8b274928 // add x8, x9, w7, uxtw #2
- .long 0x0d409107 // ld1 {v7.s}[1], [x8]
- .long 0xb9414fe8 // ldr w8, [sp, #332]
- .long 0xbc645921 // ldr s1, [x9, w4, uxtw #2]
- .long 0xbc6a5922 // ldr s2, [x9, w10, uxtw #2]
- .long 0x4e28cf56 // fmla v22.4s, v26.4s, v8.4s
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb9412fe8 // ldr w8, [sp, #300]
- .long 0x6e140426 // mov v6.s[2], v1.s[0]
- .long 0x6e140447 // mov v7.s[2], v2.s[0]
- .long 0x6e1c041d // mov v29.s[3], v0.s[0]
- .long 0xbc685930 // ldr s16, [x9, w8, uxtw #2]
- .long 0xb940ffe8 // ldr w8, [sp, #252]
- .long 0xf941efe2 // ldr x2, [sp, #984]
- .long 0xf941f3e3 // ldr x3, [sp, #992]
- .long 0x6e1c060c // mov v12.s[3], v16.s[0]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb940fbe8 // ldr w8, [sp, #248]
- .long 0xf941f7e4 // ldr x4, [sp, #1000]
- .long 0x6e1c043f // mov v31.s[3], v1.s[0]
- .long 0xbc685922 // ldr s2, [x9, w8, uxtw #2]
- .long 0xb940e3e8 // ldr w8, [sp, #224]
- .long 0x6e1c044b // mov v11.s[3], v2.s[0]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb940d3e8 // ldr w8, [sp, #208]
- .long 0x6e1c0405 // mov v5.s[3], v0.s[0]
- .long 0xbc685930 // ldr s16, [x9, w8, uxtw #2]
- .long 0xb940c3e8 // ldr w8, [sp, #192]
- .long 0x6e1c0604 // mov v4.s[3], v16.s[0]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb940bbe8 // ldr w8, [sp, #184]
- .long 0xbc6c5930 // ldr s16, [x9, w12, uxtw #2]
- .long 0x6e1c042a // mov v10.s[3], v1.s[0]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0x8b2d4928 // add x8, x9, w13, uxtw #2
- .long 0x0d408103 // ld1 {v3.s}[0], [x8]
- .long 0x8b364928 // add x8, x9, w22, uxtw #2
- .long 0x6e1c040d // mov v13.s[3], v0.s[0]
- .long 0xbc705921 // ldr s1, [x9, w16, uxtw #2]
- .long 0x0d409103 // ld1 {v3.s}[1], [x8]
- .long 0xb940bfe8 // ldr w8, [sp, #188]
- .long 0x6e140603 // mov v3.s[2], v16.s[0]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0x8b2f4928 // add x8, x9, w15, uxtw #2
- .long 0x0d408102 // ld1 {v2.s}[0], [x8]
- .long 0x8b384928 // add x8, x9, w24, uxtw #2
- .long 0x6e1c040e // mov v14.s[3], v0.s[0]
- .long 0x0d409102 // ld1 {v2.s}[1], [x8]
- .long 0xb940b3e8 // ldr w8, [sp, #176]
- .long 0x6e140422 // mov v2.s[2], v1.s[0]
- .long 0xbc685930 // ldr s16, [x9, w8, uxtw #2]
- .long 0xb940a7e8 // ldr w8, [sp, #164]
- .long 0x6e1c061c // mov v28.s[3], v16.s[0]
- .long 0xbc685931 // ldr s17, [x9, w8, uxtw #2]
- .long 0xb9406be8 // ldr w8, [sp, #104]
- .long 0x6e1c063b // mov v27.s[3], v17.s[0]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb9431be8 // ldr w8, [sp, #792]
- .long 0x6e1c0419 // mov v25.s[3], v0.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408114 // ld1 {v20.s}[0], [x8]
- .long 0xb9406fe8 // ldr w8, [sp, #108]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb9405fe8 // ldr w8, [sp, #92]
- .long 0x6e1c0418 // mov v24.s[3], v0.s[0]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb94333e8 // ldr w8, [sp, #816]
- .long 0x6e1c0426 // mov v6.s[3], v1.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409114 // ld1 {v20.s}[1], [x8]
- .long 0xb94343e8 // ldr w8, [sp, #832]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408114 // ld1 {v20.s}[2], [x8]
- .long 0xb94313e8 // ldr w8, [sp, #784]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408111 // ld1 {v17.s}[0], [x8]
- .long 0xb94067e8 // ldr w8, [sp, #100]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb94353e8 // ldr w8, [sp, #848]
- .long 0x6e1c0407 // mov v7.s[3], v0.s[0]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb94317e8 // ldr w8, [sp, #788]
- .long 0x3dc007e0 // ldr q0, [sp, #16]
- .long 0x6e1c0434 // mov v20.s[3], v1.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409111 // ld1 {v17.s}[1], [x8]
- .long 0xb9431fe8 // ldr w8, [sp, #796]
- .long 0x4eb2d400 // fsub v0.4s, v0.4s, v18.4s
- .long 0x4e20cf52 // fmla v18.4s, v26.4s, v0.4s
- .long 0x4eb3d7c0 // fsub v0.4s, v30.4s, v19.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408111 // ld1 {v17.s}[2], [x8]
- .long 0xb94323e8 // ldr w8, [sp, #800]
- .long 0x4e20cf53 // fmla v19.4s, v26.4s, v0.4s
- .long 0x3dc027e0 // ldr q0, [sp, #144]
- .long 0xbc685921 // ldr s1, [x9, w8, uxtw #2]
- .long 0xb9427fe8 // ldr w8, [sp, #636]
- .long 0x3d80cbf2 // str q18, [sp, #800]
- .long 0x3d80d7f3 // str q19, [sp, #848]
- .long 0x4eb5d400 // fsub v0.4s, v0.4s, v21.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408110 // ld1 {v16.s}[0], [x8]
- .long 0xb942afe8 // ldr w8, [sp, #684]
- .long 0x4e20cf55 // fmla v21.4s, v26.4s, v0.4s
- .long 0x3d80d3f5 // str q21, [sp, #832]
- .long 0xbc665920 // ldr s0, [x9, w6, uxtw #2]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409110 // ld1 {v16.s}[1], [x8]
- .long 0xb942efe8 // ldr w8, [sp, #748]
- .long 0x3d80cff6 // str q22, [sp, #816]
- .long 0x6e1c0403 // mov v3.s[3], v0.s[0]
- .long 0x6e1c0431 // mov v17.s[3], v1.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408110 // ld1 {v16.s}[2], [x8]
- .long 0xb9423fe8 // ldr w8, [sp, #572]
- .long 0x3dc063e1 // ldr q1, [sp, #384]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408108 // ld1 {v8.s}[0], [x8]
- .long 0xb940b7e8 // ldr w8, [sp, #180]
- .long 0x4ea4d42f // fsub v15.4s, v1.4s, v4.4s
- .long 0x4e2fcf44 // fmla v4.4s, v26.4s, v15.4s
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb9430fe8 // ldr w8, [sp, #780]
- .long 0x6e1c0402 // mov v2.s[3], v0.s[0]
- .long 0xbc685932 // ldr s18, [x9, w8, uxtw #2]
- .long 0xb9428be8 // ldr w8, [sp, #648]
- .long 0x3dc05fe0 // ldr q0, [sp, #368]
- .long 0x6e1c0650 // mov v16.s[3], v18.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409108 // ld1 {v8.s}[1], [x8]
- .long 0xb942abe8 // ldr w8, [sp, #680]
- .long 0x4ebfd400 // fsub v0.4s, v0.4s, v31.4s
- .long 0x4e20cf5f // fmla v31.4s, v26.4s, v0.4s
- .long 0x3dc057e0 // ldr q0, [sp, #336]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408108 // ld1 {v8.s}[2], [x8]
- .long 0xb942cfe8 // ldr w8, [sp, #716]
- .long 0x4eabd400 // fsub v0.4s, v0.4s, v11.4s
- .long 0x4e20cf4b // fmla v11.4s, v26.4s, v0.4s
- .long 0x4ea5d6e0 // fsub v0.4s, v23.4s, v5.4s
- .long 0xbc685932 // ldr s18, [x9, w8, uxtw #2]
- .long 0xb9428fe8 // ldr w8, [sp, #652]
- .long 0x4e20cf45 // fmla v5.4s, v26.4s, v0.4s
- .long 0x6e1c0648 // mov v8.s[3], v18.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40811e // ld1 {v30.s}[0], [x8]
- .long 0xb9421be8 // ldr w8, [sp, #536]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408112 // ld1 {v18.s}[0], [x8]
- .long 0xb942cbe8 // ldr w8, [sp, #712]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40911e // ld1 {v30.s}[1], [x8]
- .long 0xb9425fe8 // ldr w8, [sp, #604]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409112 // ld1 {v18.s}[1], [x8]
- .long 0xb942d3e8 // ldr w8, [sp, #720]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d40811e // ld1 {v30.s}[2], [x8]
- .long 0xb9427be8 // ldr w8, [sp, #632]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408112 // ld1 {v18.s}[2], [x8]
- .long 0xb942f3e8 // ldr w8, [sp, #752]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb94287e8 // ldr w8, [sp, #644]
- .long 0x6e1c041e // mov v30.s[3], v0.s[0]
- .long 0xbc685933 // ldr s19, [x9, w8, uxtw #2]
- .long 0xb9423be8 // ldr w8, [sp, #568]
- .long 0x3dc04fe0 // ldr q0, [sp, #304]
- .long 0x4ebed694 // fsub v20.4s, v20.4s, v30.4s
- .long 0x6e1c0672 // mov v18.s[3], v19.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408113 // ld1 {v19.s}[0], [x8]
- .long 0xb94203e8 // ldr w8, [sp, #512]
- .long 0x4eadd400 // fsub v0.4s, v0.4s, v13.4s
- .long 0x4e20cf4d // fmla v13.4s, v26.4s, v0.4s
- .long 0x3dc05be0 // ldr q0, [sp, #352]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40810f // ld1 {v15.s}[0], [x8]
- .long 0xb94283e8 // ldr w8, [sp, #640]
- .long 0x4eaed400 // fsub v0.4s, v0.4s, v14.4s
- .long 0x4e20cf4e // fmla v14.4s, v26.4s, v0.4s
- .long 0x4e34cf5e // fmla v30.4s, v26.4s, v20.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409113 // ld1 {v19.s}[1], [x8]
- .long 0xb94217e8 // ldr w8, [sp, #532]
- .long 0x4eaad652 // fsub v18.4s, v18.4s, v10.4s
- .long 0x4e32cf4a // fmla v10.4s, v26.4s, v18.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40910f // ld1 {v15.s}[1], [x8]
- .long 0xb94293e8 // ldr w8, [sp, #656]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408113 // ld1 {v19.s}[2], [x8]
- .long 0xb9421fe8 // ldr w8, [sp, #540]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d40810f // ld1 {v15.s}[2], [x8]
- .long 0xb941ffe8 // ldr w8, [sp, #508]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408101 // ld1 {v1.s}[0], [x8]
- .long 0xb942b3e8 // ldr w8, [sp, #688]
- .long 0xbc685920 // ldr s0, [x9, w8, uxtw #2]
- .long 0xb94243e8 // ldr w8, [sp, #576]
- .long 0x6e1c0413 // mov v19.s[3], v0.s[0]
- .long 0xbc685935 // ldr s21, [x9, w8, uxtw #2]
- .long 0xb9420be8 // ldr w8, [sp, #520]
- .long 0x3dc10fe0 // ldr q0, [sp, #1072]
- .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s
- .long 0x6e1c06af // mov v15.s[3], v21.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409101 // ld1 {v1.s}[1], [x8]
- .long 0xb9420fe8 // ldr w8, [sp, #524]
- .long 0x4eb9d400 // fsub v0.4s, v0.4s, v25.4s
- .long 0x4e20cf59 // fmla v25.4s, v26.4s, v0.4s
- .long 0x4eb8d520 // fsub v0.4s, v9.4s, v24.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408101 // ld1 {v1.s}[2], [x8]
- .long 0xb94213e8 // ldr w8, [sp, #528]
- .long 0x4e20cf58 // fmla v24.4s, v26.4s, v0.4s
- .long 0x4ea6d7a0 // fsub v0.4s, v29.4s, v6.4s
- .long 0x4e20cf46 // fmla v6.4s, v26.4s, v0.4s
- .long 0xbc685935 // ldr s21, [x9, w8, uxtw #2]
- .long 0xb941fbe8 // ldr w8, [sp, #504]
- .long 0x4ea7d589 // fsub v9.4s, v12.4s, v7.4s
- .long 0x4e29cf47 // fmla v7.4s, v26.4s, v9.4s
- .long 0x6e1c06a1 // mov v1.s[3], v21.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408115 // ld1 {v21.s}[0], [x8]
- .long 0xb94207e8 // ldr w8, [sp, #516]
- .long 0x4e31cf53 // fmla v19.4s, v26.4s, v17.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409115 // ld1 {v21.s}[1], [x8]
- .long 0xb941ebe8 // ldr w8, [sp, #488]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408100 // ld1 {v0.s}[0], [x8]
- .long 0xb941b3e8 // ldr w8, [sp, #432]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40811d // ld1 {v29.s}[0], [x8]
- .long 0xb941efe8 // ldr w8, [sp, #492]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409100 // ld1 {v0.s}[1], [x8]
- .long 0xb941dfe8 // ldr w8, [sp, #476]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d40911d // ld1 {v29.s}[1], [x8]
- .long 0xb94223e8 // ldr w8, [sp, #544]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408115 // ld1 {v21.s}[2], [x8]
- .long 0xb941f3e8 // ldr w8, [sp, #496]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408100 // ld1 {v0.s}[2], [x8]
- .long 0xb941e3e8 // ldr w8, [sp, #480]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d40811d // ld1 {v29.s}[2], [x8]
- .long 0xb94263e8 // ldr w8, [sp, #608]
- .long 0xbc68592c // ldr s12, [x9, w8, uxtw #2]
- .long 0xb941f7e8 // ldr w8, [sp, #500]
- .long 0x6e1c0595 // mov v21.s[3], v12.s[0]
- .long 0xbc685936 // ldr s22, [x9, w8, uxtw #2]
- .long 0xb941e7e8 // ldr w8, [sp, #484]
- .long 0x4eb5d610 // fsub v16.4s, v16.4s, v21.4s
- .long 0x4e30cf55 // fmla v21.4s, v26.4s, v16.4s
- .long 0x6e1c06c0 // mov v0.s[3], v22.s[0]
- .long 0xbc685937 // ldr s23, [x9, w8, uxtw #2]
- .long 0xb9419fe8 // ldr w8, [sp, #412]
- .long 0x4ea3d796 // fsub v22.4s, v28.4s, v3.4s
- .long 0x4e36cf43 // fmla v3.4s, v26.4s, v22.4s
- .long 0x4ea2d776 // fsub v22.4s, v27.4s, v2.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4e36cf42 // fmla v2.4s, v26.4s, v22.4s
- .long 0x0d408116 // ld1 {v22.s}[0], [x8]
- .long 0xb94103e8 // ldr w8, [sp, #256]
- .long 0x6e1c06fd // mov v29.s[3], v23.s[0]
- .long 0x4ea0d510 // fsub v16.4s, v8.4s, v0.4s
- .long 0x4e30cf40 // fmla v0.4s, v26.4s, v16.4s
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408117 // ld1 {v23.s}[0], [x8]
- .long 0xb941a3e8 // ldr w8, [sp, #416]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409116 // ld1 {v22.s}[1], [x8]
- .long 0xb94123e8 // ldr w8, [sp, #288]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409117 // ld1 {v23.s}[1], [x8]
- .long 0xb941c3e8 // ldr w8, [sp, #448]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408116 // ld1 {v22.s}[2], [x8]
- .long 0xb94197e8 // ldr w8, [sp, #404]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408117 // ld1 {v23.s}[2], [x8]
- .long 0xb941dbe8 // ldr w8, [sp, #472]
- .long 0xbc68593b // ldr s27, [x9, w8, uxtw #2]
- .long 0xb9419be8 // ldr w8, [sp, #408]
- .long 0x6e1c0776 // mov v22.s[3], v27.s[0]
- .long 0xbc68593c // ldr s28, [x9, w8, uxtw #2]
- .long 0xb940f7e8 // ldr w8, [sp, #244]
- .long 0x4eb6d5f0 // fsub v16.4s, v15.4s, v22.4s
- .long 0x4e30cf56 // fmla v22.4s, v26.4s, v16.4s
- .long 0x6e1c0797 // mov v23.s[3], v28.s[0]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d408109 // ld1 {v9.s}[0], [x8]
- .long 0xb94107e8 // ldr w8, [sp, #260]
- .long 0x4eb7d421 // fsub v1.4s, v1.4s, v23.4s
- .long 0x4e21cf57 // fmla v23.4s, v26.4s, v1.4s
- .long 0x3dc0e7f0 // ldr q16, [sp, #912]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x0d409109 // ld1 {v9.s}[1], [x8]
- .long 0xb9410fe8 // ldr w8, [sp, #268]
- .long 0x8b284928 // add x8, x9, w8, uxtw #2
- .long 0x4d408109 // ld1 {v9.s}[2], [x8]
- .long 0xb9411be8 // ldr w8, [sp, #280]
- .long 0xbc685934 // ldr s20, [x9, w8, uxtw #2]
- .long 0xf941ebe8 // ldr x8, [sp, #976]
- .long 0x6e1c0689 // mov v9.s[3], v20.s[0]
- .long 0x4ea9d7a1 // fsub v1.4s, v29.4s, v9.4s
- .long 0x4e21cf49 // fmla v9.4s, v26.4s, v1.4s
- .long 0x3dc0dbe1 // ldr q1, [sp, #864]
- .long 0xf9400505 // ldr x5, [x8, #8]
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x4ea1d601 // fsub v1.4s, v16.4s, v1.4s
- .long 0x3dc0cbf0 // ldr q16, [sp, #800]
- .long 0x4ea5d610 // fsub v16.4s, v16.4s, v5.4s
- .long 0x4e30cc25 // fmla v5.4s, v1.4s, v16.4s
- .long 0x3dc0d7f0 // ldr q16, [sp, #848]
- .long 0x4ea4d610 // fsub v16.4s, v16.4s, v4.4s
- .long 0x4e30cc24 // fmla v4.4s, v1.4s, v16.4s
- .long 0x3dc0d3f0 // ldr q16, [sp, #832]
- .long 0x4eadd610 // fsub v16.4s, v16.4s, v13.4s
- .long 0x4e30cc2d // fmla v13.4s, v1.4s, v16.4s
- .long 0x3dc0cff0 // ldr q16, [sp, #816]
- .long 0x4eaed610 // fsub v16.4s, v16.4s, v14.4s
- .long 0x4e30cc2e // fmla v14.4s, v1.4s, v16.4s
- .long 0x4ea6d7f0 // fsub v16.4s, v31.4s, v6.4s
- .long 0x4e30cc26 // fmla v6.4s, v1.4s, v16.4s
- .long 0x4ea7d570 // fsub v16.4s, v11.4s, v7.4s
- .long 0x4e30cc27 // fmla v7.4s, v1.4s, v16.4s
- .long 0x4ea3d730 // fsub v16.4s, v25.4s, v3.4s
- .long 0x4e30cc23 // fmla v3.4s, v1.4s, v16.4s
- .long 0x4ea2d710 // fsub v16.4s, v24.4s, v2.4s
- .long 0x4e30cc22 // fmla v2.4s, v1.4s, v16.4s
- .long 0x4eaad670 // fsub v16.4s, v19.4s, v10.4s
- .long 0x4e30cc2a // fmla v10.4s, v1.4s, v16.4s
- .long 0x4ea0d7d0 // fsub v16.4s, v30.4s, v0.4s
- .long 0x4e30cc20 // fmla v0.4s, v1.4s, v16.4s
- .long 0x4eb7d6b0 // fsub v16.4s, v21.4s, v23.4s
- .long 0x4e30cc37 // fmla v23.4s, v1.4s, v16.4s
- .long 0x4ea9d6d0 // fsub v16.4s, v22.4s, v9.4s
- .long 0x4e30cc29 // fmla v9.4s, v1.4s, v16.4s
- .long 0x3dc0dfe1 // ldr q1, [sp, #880]
- .long 0x3dc0ebf0 // ldr q16, [sp, #928]
- .long 0x4ea3d4c6 // fsub v6.4s, v6.4s, v3.4s
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x4ea1d601 // fsub v1.4s, v16.4s, v1.4s
- .long 0x4e26cc23 // fmla v3.4s, v1.4s, v6.4s
- .long 0x4ea2d4e6 // fsub v6.4s, v7.4s, v2.4s
- .long 0x4ea5d5b0 // fsub v16.4s, v13.4s, v5.4s
- .long 0x4e26cc22 // fmla v2.4s, v1.4s, v6.4s
- .long 0x4ea0d546 // fsub v6.4s, v10.4s, v0.4s
- .long 0x4e30cc25 // fmla v5.4s, v1.4s, v16.4s
- .long 0x4ea4d5d0 // fsub v16.4s, v14.4s, v4.4s
- .long 0x4e26cc20 // fmla v0.4s, v1.4s, v6.4s
- .long 0x4ea9d6e6 // fsub v6.4s, v23.4s, v9.4s
- .long 0x4e30cc24 // fmla v4.4s, v1.4s, v16.4s
- .long 0x4e26cc29 // fmla v9.4s, v1.4s, v6.4s
- .long 0x3dc0e3e1 // ldr q1, [sp, #896]
- .long 0x3dc0efe6 // ldr q6, [sp, #944]
- .long 0x4ea5d463 // fsub v3.4s, v3.4s, v5.4s
- .long 0x4ea4d442 // fsub v2.4s, v2.4s, v4.4s
- .long 0x4e21d821 // scvtf v1.4s, v1.4s
- .long 0x4ea1d4c1 // fsub v1.4s, v6.4s, v1.4s
- .long 0x4e23cc25 // fmla v5.4s, v1.4s, v3.4s
- .long 0x4e22cc24 // fmla v4.4s, v1.4s, v2.4s
- .long 0x4ea0d522 // fsub v2.4s, v9.4s, v0.4s
- .long 0x4e22cc20 // fmla v0.4s, v1.4s, v2.4s
- .long 0x4ea51ca1 // mov v1.16b, v5.16b
- .long 0x4ea41c82 // mov v2.16b, v4.16b
- .long 0xad5f97e4 // ldp q4, q5, [sp, #1008]
- .long 0x3dc107e6 // ldr q6, [sp, #1040]
- .long 0x3dc10be7 // ldr q7, [sp, #1056]
- .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00
- .long 0x911143ff // add sp, sp, #0x450
- .long 0xa9497bfd // ldp x29, x30, [sp, #144]
- .long 0xa9484ff4 // ldp x20, x19, [sp, #128]
- .long 0xa94757f6 // ldp x22, x21, [sp, #112]
- .long 0xa9465ff8 // ldp x24, x23, [sp, #96]
- .long 0xa94567fa // ldp x26, x25, [sp, #80]
- .long 0xa9446ffc // ldp x28, x27, [sp, #64]
- .long 0x6d4323e9 // ldp d9, d8, [sp, #48]
- .long 0x6d422beb // ldp d11, d10, [sp, #32]
- .long 0x6d4133ed // ldp d13, d12, [sp, #16]
- .long 0x6cca3bef // ldp d15, d14, [sp], #160
- .long 0xd61f00a0 // br x5
-#elif defined(__arm__)
+#if defined(__arm__)
BALIGN4
HIDDEN _sk_start_pipeline_vfp4
diff --git a/src/jumper/build_stages.py b/src/jumper/build_stages.py
index 517b049d0d..688ad60706 100755
--- a/src/jumper/build_stages.py
+++ b/src/jumper/build_stages.py
@@ -102,17 +102,6 @@ subprocess.check_call(['ld', '-r', '-o', 'win_merged.o',
'win_hsw.o', 'win_avx.o', 'win_sse41.o', 'win_sse2.o',
'win_8bit_hsw.o', 'win_8bit_sse41.o', 'win_8bit_sse2.o'])
-# iOS disallows the use of register x18,
-# so we need to use it as a least-common denominator.
-aarch64 = [ '--target=arm64-apple-ios' ]
-subprocess.check_call(clang + cflags + aarch64 +
- ['-c', stages] +
- ['-o', 'aarch64.o'])
-# TODO: need to work out relocations (adrp, lCPI, etc.)
-#subprocess.check_call(clang + cflags + aarch64 +
-# ['-c', stages_8bit] +
-# ['-o', '8bit_aarch64.o'])
-
vfp4 = [
'--target=armv7a-linux-gnueabihf',
'-mfpu=neon-vfpv4',
@@ -232,12 +221,7 @@ print ' #define BALIGN32 .balign 32'
print '#endif'
print '.text'
-print '#if defined(__aarch64__)'
-print 'BALIGN4'
-parse_object_file( 'aarch64.o', '.long')
-#parse_object_file('8bit_aarch64.o', '.long')
-
-print '#elif defined(__arm__)'
+print '#if defined(__arm__)'
print 'BALIGN4'
parse_object_file( 'vfp4.o', '.long', target='elf32-littlearm')
#parse_object_file('8bit_vfp4.o', '.long', target='elf32-littlearm')