github.com/apache/arrow/go/v14@v14.0.2/parquet/internal/utils/_lib/unpack_bool_neon.s (about) 1 .text 2 .file "unpack_bool.c" 3 .globl bytes_to_bools_neon // -- Begin function bytes_to_bools_neon 4 .p2align 2 5 .type bytes_to_bools_neon,@function 6 bytes_to_bools_neon: // @bytes_to_bools_neon 7 // %bb.0: 8 stp x29, x30, [sp, #-16]! // 16-byte Folded Spill 9 cmp w1, #1 // =1 10 mov x29, sp 11 b.lt .LBB0_12 12 // %bb.1: 13 mov w9, w1 14 mov x8, xzr 15 lsl x9, x9, #3 16 mov w10, #5 17 b .LBB0_3 18 .LBB0_2: // in Loop: Header=BB0_3 Depth=1 19 add x8, x8, #8 // =8 20 cmp x9, x8 21 add x0, x0, #1 // =1 22 b.eq .LBB0_12 23 .LBB0_3: // =>This Inner Loop Header: Depth=1 24 cmp w8, w3 25 b.ge .LBB0_2 26 // %bb.4: // in Loop: Header=BB0_3 Depth=1 27 ldrb w12, [x0] 28 and x11, x8, #0xffffffff 29 orr x13, x11, #0x1 30 cmp w13, w3 31 and w12, w12, #0x1 32 strb w12, [x2, x11] 33 b.ge .LBB0_2 34 // %bb.5: // in Loop: Header=BB0_3 Depth=1 35 ldrb w14, [x0] 36 orr x12, x11, #0x2 37 cmp w12, w3 38 ubfx w14, w14, #1, #1 39 strb w14, [x2, x13] 40 b.ge .LBB0_2 41 // %bb.6: // in Loop: Header=BB0_3 Depth=1 42 ldrb w14, [x0] 43 orr x13, x11, #0x3 44 cmp w13, w3 45 ubfx w14, w14, #2, #1 46 strb w14, [x2, x12] 47 b.ge .LBB0_2 48 // %bb.7: // in Loop: Header=BB0_3 Depth=1 49 ldrb w14, [x0] 50 orr x12, x11, #0x4 51 cmp w12, w3 52 ubfx w14, w14, #3, #1 53 strb w14, [x2, x13] 54 b.ge .LBB0_2 55 // %bb.8: // in Loop: Header=BB0_3 Depth=1 56 ldrb w14, [x0] 57 orr x13, x11, x10 58 cmp w13, w3 59 ubfx w14, w14, #4, #1 60 strb w14, [x2, x12] 61 b.ge .LBB0_2 62 // %bb.9: // in Loop: Header=BB0_3 Depth=1 63 ldrb w14, [x0] 64 orr x12, x11, #0x6 65 cmp w12, w3 66 ubfx w14, w14, #5, #1 67 strb w14, [x2, x13] 68 b.ge .LBB0_2 69 // %bb.10: // in Loop: Header=BB0_3 Depth=1 70 ldrb w13, [x0] 71 orr x11, x11, #0x7 72 cmp w11, w3 73 ubfx w13, w13, #6, #1 74 strb w13, [x2, x12] 75 b.ge .LBB0_2 76 // %bb.11: // in Loop: Header=BB0_3 Depth=1 77 ldrb w12, [x0] 78 lsr w12, w12, #7 79 strb w12, [x2, x11] 80 b .LBB0_2 81 .LBB0_12: 82 ldp x29, x30, [sp], #16 // 16-byte Folded Reload 83 ret 84 .Lfunc_end0: 85 .size bytes_to_bools_neon, .Lfunc_end0-bytes_to_bools_neon 86 // -- End function 87 .ident "clang version 10.0.0-4ubuntu1 " 88 .section ".note.GNU-stack","",@progbits 89 .addrsig