github.com/bytedance/sonic@v1.11.7-0.20240517092252-d2edb31b167b/internal/native/avx2/lspace_text_amd64.go (about)

     1  // +build amd64
     2  // Code generated by asm2asm, DO NOT EDIT.
     3  
     4  package avx2
     5  
     6  var _text_lspace = []byte{
     7  	// .p2align 5, 0x00
     8  	// LCPI0_0
     9  	0x20, // .byte 32
    10  	0x00, //0x00000001 .byte 0
    11  	0x00, //0x00000002 .byte 0
    12  	0x00, //0x00000003 .byte 0
    13  	0x00, //0x00000004 .byte 0
    14  	0x00, //0x00000005 .byte 0
    15  	0x00, //0x00000006 .byte 0
    16  	0x00, //0x00000007 .byte 0
    17  	0x00, //0x00000008 .byte 0
    18  	0x09, //0x00000009 .byte 9
    19  	0x0a, //0x0000000a .byte 10
    20  	0x00, //0x0000000b .byte 0
    21  	0x00, //0x0000000c .byte 0
    22  	0x0d, //0x0000000d .byte 13
    23  	0x00, //0x0000000e .byte 0
    24  	0x00, //0x0000000f .byte 0
    25  	0x20, //0x00000010 .byte 32
    26  	0x00, //0x00000011 .byte 0
    27  	0x00, //0x00000012 .byte 0
    28  	0x00, //0x00000013 .byte 0
    29  	0x00, //0x00000014 .byte 0
    30  	0x00, //0x00000015 .byte 0
    31  	0x00, //0x00000016 .byte 0
    32  	0x00, //0x00000017 .byte 0
    33  	0x00, //0x00000018 .byte 0
    34  	0x09, //0x00000019 .byte 9
    35  	0x0a, //0x0000001a .byte 10
    36  	0x00, //0x0000001b .byte 0
    37  	0x00, //0x0000001c .byte 0
    38  	0x0d, //0x0000001d .byte 13
    39  	0x00, //0x0000001e .byte 0
    40  	0x00, //0x0000001f .byte 0
    41  	//0x00000020 .p2align 4, 0x90
    42  	//0x00000020 _lspace
    43  	0x55, //0x00000020 pushq        %rbp
    44  	0x48, 0x89, 0xe5, //0x00000021 movq         %rsp, %rbp
    45  	0x48, 0x8d, 0x04, 0x17, //0x00000024 leaq         (%rdi,%rdx), %rax
    46  	0x49, 0x89, 0xf1, //0x00000028 movq         %rsi, %r9
    47  	0x49, 0x29, 0xd1, //0x0000002b subq         %rdx, %r9
    48  	0x49, 0x83, 0xf9, 0x20, //0x0000002e cmpq         $32, %r9
    49  	0x0f, 0x82, 0x5a, 0x00, 0x00, 0x00, //0x00000032 jb           LBB0_4
    50  	0x48, 0x29, 0xd6, //0x00000038 subq         %rdx, %rsi
    51  	0x48, 0x83, 0xc6, 0xe0, //0x0000003b addq         $-32, %rsi
    52  	0x48, 0x89, 0xf1, //0x0000003f movq         %rsi, %rcx
    53  	0x48, 0x83, 0xe1, 0xe0, //0x00000042 andq         $-32, %rcx
    54  	0x48, 0x01, 0xd1, //0x00000046 addq         %rdx, %rcx
    55  	0x4c, 0x8d, 0x44, 0x0f, 0x20, //0x00000049 leaq         $32(%rdi,%rcx), %r8
    56  	0x83, 0xe6, 0x1f, //0x0000004e andl         $31, %esi
    57  	0xc5, 0xfe, 0x6f, 0x05, 0xa7, 0xff, 0xff, 0xff, //0x00000051 vmovdqu      $-89(%rip), %ymm0  /* LCPI0_0+0(%rip) */
    58  	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000059 .p2align 4, 0x90
    59  	//0x00000060 LBB0_2
    60  	0xc5, 0xfe, 0x6f, 0x08, //0x00000060 vmovdqu      (%rax), %ymm1
    61  	0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00000064 vpshufb      %ymm1, %ymm0, %ymm2
    62  	0xc5, 0xf5, 0x74, 0xca, //0x00000069 vpcmpeqb     %ymm2, %ymm1, %ymm1
    63  	0xc5, 0xfd, 0xd7, 0xd1, //0x0000006d vpmovmskb    %ymm1, %edx
    64  	0x83, 0xfa, 0xff, //0x00000071 cmpl         $-1, %edx
    65  	0x0f, 0x85, 0x63, 0x00, 0x00, 0x00, //0x00000074 jne          LBB0_3
    66  	0x48, 0x83, 0xc0, 0x20, //0x0000007a addq         $32, %rax
    67  	0x49, 0x83, 0xc1, 0xe0, //0x0000007e addq         $-32, %r9
    68  	0x49, 0x83, 0xf9, 0x1f, //0x00000082 cmpq         $31, %r9
    69  	0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00000086 ja           LBB0_2
    70  	0x49, 0x89, 0xf1, //0x0000008c movq         %rsi, %r9
    71  	0x4c, 0x89, 0xc0, //0x0000008f movq         %r8, %rax
    72  	//0x00000092 LBB0_4
    73  	0x4d, 0x85, 0xc9, //0x00000092 testq        %r9, %r9
    74  	0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00000095 je           LBB0_13
    75  	0x4e, 0x8d, 0x04, 0x08, //0x0000009b leaq         (%rax,%r9), %r8
    76  	0x48, 0xff, 0xc0, //0x0000009f incq         %rax
    77  	0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000000a2 movabsq      $4294977024, %rsi
    78  	//0x000000ac LBB0_6
    79  	0x0f, 0xbe, 0x50, 0xff, //0x000000ac movsbl       $-1(%rax), %edx
    80  	0x83, 0xfa, 0x20, //0x000000b0 cmpl         $32, %edx
    81  	0x0f, 0x87, 0x38, 0x00, 0x00, 0x00, //0x000000b3 ja           LBB0_8
    82  	0x48, 0x0f, 0xa3, 0xd6, //0x000000b9 btq          %rdx, %rsi
    83  	0x0f, 0x83, 0x2e, 0x00, 0x00, 0x00, //0x000000bd jae          LBB0_8
    84  	0x49, 0xff, 0xc9, //0x000000c3 decq         %r9
    85  	0x48, 0xff, 0xc0, //0x000000c6 incq         %rax
    86  	0x4d, 0x85, 0xc9, //0x000000c9 testq        %r9, %r9
    87  	0x0f, 0x85, 0xda, 0xff, 0xff, 0xff, //0x000000cc jne          LBB0_6
    88  	0x4c, 0x89, 0xc0, //0x000000d2 movq         %r8, %rax
    89  	//0x000000d5 LBB0_13
    90  	0x48, 0x29, 0xf8, //0x000000d5 subq         %rdi, %rax
    91  	0x5d, //0x000000d8 popq         %rbp
    92  	0xc5, 0xf8, 0x77, //0x000000d9 vzeroupper   
    93  	0xc3, //0x000000dc retq         
    94  	//0x000000dd LBB0_3
    95  	0x48, 0x29, 0xf8, //0x000000dd subq         %rdi, %rax
    96  	0xf7, 0xd2, //0x000000e0 notl         %edx
    97  	0x48, 0x63, 0xca, //0x000000e2 movslq       %edx, %rcx
    98  	0x48, 0x0f, 0xbc, 0xc9, //0x000000e5 bsfq         %rcx, %rcx
    99  	0x48, 0x01, 0xc8, //0x000000e9 addq         %rcx, %rax
   100  	0x5d, //0x000000ec popq         %rbp
   101  	0xc5, 0xf8, 0x77, //0x000000ed vzeroupper   
   102  	0xc3, //0x000000f0 retq         
   103  	//0x000000f1 LBB0_8
   104  	0x48, 0xf7, 0xd7, //0x000000f1 notq         %rdi
   105  	0x48, 0x01, 0xf8, //0x000000f4 addq         %rdi, %rax
   106  	0x5d, //0x000000f7 popq         %rbp
   107  	0xc5, 0xf8, 0x77, //0x000000f8 vzeroupper   
   108  	0xc3, //0x000000fb retq         
   109  }
   110