Last active
June 24, 2022 16:04
-
-
Save SwapnilGaikwad/62ef6ef76e49843b7b7c8ccb9be4286b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // store safe | |
| G_M20155_IG01: | |
| stp fp, lr, [sp,#-16]! | |
| mov fp, sp | |
| ;; size=8 bbWeight=1 PerfScore 1.50 | |
| G_M20155_IG02: | |
| ld1 {v16.8h}, [x0] | |
| umaxp v17.8h, v16.8h, v16.8h | |
| umov x3, v17.d[0] | |
| tst x3, #0xd1ffab1e | |
| bne G_M20155_IG04 | |
| ;; size=20 bbWeight=1 PerfScore 6.50 | |
| G_M20155_IG03: | |
| mov x3, x1 | |
| uzp1 v16.16b, v16.16b, v16.16b | |
| st1 {v16.8b}, [x3] | |
| mov x4, #8 | |
| tbnz w1, #3, G_M20155_IG06 | |
| add x5, x0, #16 | |
| ld1 {v16.8h}, [x5] | |
| umaxp v17.8h, v16.8h, v16.8h | |
| umov x5, v17.d[0] | |
| tst x5, #0xd1ffab1e | |
| bne G_M20155_IG08 | |
| uzp1 v16.16b, v16.16b, v16.16b | |
| add x4, x3, #8 | |
| st1 {v16.8b}, [x4] | |
| b G_M20155_IG06 | |
| align [0 bytes for IG07] | |
| align [0 bytes] | |
| align [0 bytes] | |
| align [0 bytes] | |
| ;; size=60 bbWeight=0.50 PerfScore 7.25 | |
| G_M20155_IG04: | |
| mov x0, xzr | |
| ;; size=4 bbWeight=0.50 PerfScore 0.25 | |
| G_M20155_IG05: | |
| ldp fp, lr, [sp],#16 | |
| ret lr | |
| ;; size=8 bbWeight=0.50 PerfScore 1.00 | |
| G_M20155_IG06: | |
| and x1, x1, #15 | |
| mov x4, #16 | |
| sub x4, x4, x1 | |
| sub x1, x2, #16 | |
| ;; size=16 bbWeight=0.50 PerfScore 1.00 | |
| G_M20155_IG07: | |
| lsl x2, x4, #1 | |
| ldr q16, [x0, x2] | |
| add x2, x4, #8 | |
| lsl x5, x2, #1 | |
| ldr q17, [x0, x5] | |
| orr v18.8h, v16.8h, v17.8h | |
| umaxp v18.8h, v18.8h, v18.8h | |
| umov x5, v18.d[0] | |
| tst x5, #0xd1ffab1e | |
| bne G_M20155_IG10 | |
| add x2, x3, x4 | |
| uzp1 v16.16b, v16.16b, v17.16b | |
| st1 {v16.16b}, [x2] | |
| add x4, x4, #16 | |
| cmp x4, x1 | |
| bls G_M20155_IG07 | |
| ;; size=64 bbWeight=4 PerfScore 68.00 | |
| G_M20155_IG08: | |
| mov x0, x4 | |
| ;; size=4 bbWeight=0.50 PerfScore 0.25 | |
| G_M20155_IG09: | |
| ldp fp, lr, [sp],#16 | |
| ret lr | |
| ;; size=8 bbWeight=0.50 PerfScore 1.00 | |
| G_M20155_IG10: | |
| umaxp v17.8h, v16.8h, v16.8h | |
| umov x0, v17.d[0] | |
| tst x0, #0xd1ffab1e | |
| bne G_M20155_IG08 | |
| add x4, x3, x4 | |
| uzp1 v16.16b, v16.16b, v16.16b | |
| st1 {v16.8b}, [x4] | |
| mov x4, x2 | |
| b G_M20155_IG08 | |
| ;; size=36 bbWeight=0.50 PerfScore 3.75 | |
| ; Total bytes of code 228, prolog size 8, PerfScore 113.30, instruction count 61, allocated bytes for code 228 (MethodHash=74c3b144) for method System.Text.Tests.Demo:NarrowUtf16ToAscii_Intrinsified(long,long,long):long | |
| ; ============================================================ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment