gitee.com/quant1x/gox@v1.7.6/num/asm/_avx2/aggregates.s (about)

     1  Sum_F64_D(double*, unsigned long):                        # @Sum_F64_D(double*, unsigned long)
     2          testq   %rsi, %rsi
     3          je      .LBB0_1
     4          cmpq    $16, %rsi
     5          jae     .LBB0_4
     6          vxorpd  %xmm0, %xmm0, %xmm0
     7          xorl    %eax, %eax
     8          jmp     .LBB0_11
     9  .LBB0_1:
    10          vxorps  %xmm0, %xmm0, %xmm0
    11          retq
    12  .LBB0_4:
    13          movq    %rsi, %rax
    14          andq    $-16, %rax
    15          leaq    -16(%rax), %rcx
    16          movq    %rcx, %r8
    17          shrq    $4, %r8
    18          addq    $1, %r8
    19          testq   %rcx, %rcx
    20          je      .LBB0_5
    21          movq    %r8, %rcx
    22          andq    $-2, %rcx
    23          vxorpd  %xmm0, %xmm0, %xmm0
    24          xorl    %edx, %edx
    25          vxorpd  %xmm1, %xmm1, %xmm1
    26          vxorpd  %xmm2, %xmm2, %xmm2
    27          vxorpd  %xmm3, %xmm3, %xmm3
    28  .LBB0_7:                                # =>This Inner Loop Header: Depth=1
    29          vaddpd  (%rdi,%rdx,8), %ymm0, %ymm0
    30          vaddpd  32(%rdi,%rdx,8), %ymm1, %ymm1
    31          vaddpd  64(%rdi,%rdx,8), %ymm2, %ymm2
    32          vaddpd  96(%rdi,%rdx,8), %ymm3, %ymm3
    33          vaddpd  128(%rdi,%rdx,8), %ymm0, %ymm0
    34          vaddpd  160(%rdi,%rdx,8), %ymm1, %ymm1
    35          vaddpd  192(%rdi,%rdx,8), %ymm2, %ymm2
    36          vaddpd  224(%rdi,%rdx,8), %ymm3, %ymm3
    37          addq    $32, %rdx
    38          addq    $-2, %rcx
    39          jne     .LBB0_7
    40          testb   $1, %r8b
    41          je      .LBB0_10
    42  .LBB0_9:
    43          vaddpd  (%rdi,%rdx,8), %ymm0, %ymm0
    44          vaddpd  32(%rdi,%rdx,8), %ymm1, %ymm1
    45          vaddpd  64(%rdi,%rdx,8), %ymm2, %ymm2
    46          vaddpd  96(%rdi,%rdx,8), %ymm3, %ymm3
    47  .LBB0_10:
    48          vaddpd  %ymm3, %ymm1, %ymm1
    49          vaddpd  %ymm2, %ymm0, %ymm0
    50          vaddpd  %ymm1, %ymm0, %ymm0
    51          vextractf128    $1, %ymm0, %xmm1
    52          vaddpd  %xmm1, %xmm0, %xmm0
    53          vpermilpd       $1, %xmm0, %xmm1        # xmm1 = xmm0[1,0]
    54          vaddsd  %xmm1, %xmm0, %xmm0
    55          cmpq    %rsi, %rax
    56          je      .LBB0_12
    57  .LBB0_11:                               # =>This Inner Loop Header: Depth=1
    58          vaddsd  (%rdi,%rax,8), %xmm0, %xmm0
    59          addq    $1, %rax
    60          cmpq    %rax, %rsi
    61          jne     .LBB0_11
    62  .LBB0_12:
    63          vzeroupper
    64          retq
    65  .LBB0_5:
    66          vxorpd  %xmm0, %xmm0, %xmm0
    67          xorl    %edx, %edx
    68          vxorpd  %xmm1, %xmm1, %xmm1
    69          vxorpd  %xmm2, %xmm2, %xmm2
    70          vxorpd  %xmm3, %xmm3, %xmm3
    71          testb   $1, %r8b
    72          jne     .LBB0_9
    73          jmp     .LBB0_10
    74  Sum_F32_F(float*, unsigned long):                        # @Sum_F32_F(float*, unsigned long)
    75          testq   %rsi, %rsi
    76          je      .LBB1_1
    77          cmpq    $32, %rsi
    78          jae     .LBB1_4
    79          vxorps  %xmm0, %xmm0, %xmm0
    80          xorl    %eax, %eax
    81          jmp     .LBB1_11
    82  .LBB1_1:
    83          vxorps  %xmm0, %xmm0, %xmm0
    84          retq
    85  .LBB1_4:
    86          movq    %rsi, %rax
    87          andq    $-32, %rax
    88          leaq    -32(%rax), %rcx
    89          movq    %rcx, %r8
    90          shrq    $5, %r8
    91          addq    $1, %r8
    92          testq   %rcx, %rcx
    93          je      .LBB1_5
    94          movq    %r8, %rcx
    95          andq    $-2, %rcx
    96          vxorps  %xmm0, %xmm0, %xmm0
    97          xorl    %edx, %edx
    98          vxorps  %xmm1, %xmm1, %xmm1
    99          vxorps  %xmm2, %xmm2, %xmm2
   100          vxorps  %xmm3, %xmm3, %xmm3
   101  .LBB1_7:                                # =>This Inner Loop Header: Depth=1
   102          vaddps  (%rdi,%rdx,4), %ymm0, %ymm0
   103          vaddps  32(%rdi,%rdx,4), %ymm1, %ymm1
   104          vaddps  64(%rdi,%rdx,4), %ymm2, %ymm2
   105          vaddps  96(%rdi,%rdx,4), %ymm3, %ymm3
   106          vaddps  128(%rdi,%rdx,4), %ymm0, %ymm0
   107          vaddps  160(%rdi,%rdx,4), %ymm1, %ymm1
   108          vaddps  192(%rdi,%rdx,4), %ymm2, %ymm2
   109          vaddps  224(%rdi,%rdx,4), %ymm3, %ymm3
   110          addq    $64, %rdx
   111          addq    $-2, %rcx
   112          jne     .LBB1_7
   113          testb   $1, %r8b
   114          je      .LBB1_10
   115  .LBB1_9:
   116          vaddps  (%rdi,%rdx,4), %ymm0, %ymm0
   117          vaddps  32(%rdi,%rdx,4), %ymm1, %ymm1
   118          vaddps  64(%rdi,%rdx,4), %ymm2, %ymm2
   119          vaddps  96(%rdi,%rdx,4), %ymm3, %ymm3
   120  .LBB1_10:
   121          vaddps  %ymm3, %ymm1, %ymm1
   122          vaddps  %ymm2, %ymm0, %ymm0
   123          vaddps  %ymm1, %ymm0, %ymm0
   124          vextractf128    $1, %ymm0, %xmm1
   125          vaddps  %xmm1, %xmm0, %xmm0
   126          vpermilpd       $1, %xmm0, %xmm1        # xmm1 = xmm0[1,0]
   127          vaddps  %xmm1, %xmm0, %xmm0
   128          vmovshdup       %xmm0, %xmm1            # xmm1 = xmm0[1,1,3,3]
   129          vaddss  %xmm1, %xmm0, %xmm0
   130          cmpq    %rsi, %rax
   131          je      .LBB1_12
   132  .LBB1_11:                               # =>This Inner Loop Header: Depth=1
   133          vaddss  (%rdi,%rax,4), %xmm0, %xmm0
   134          addq    $1, %rax
   135          cmpq    %rax, %rsi
   136          jne     .LBB1_11
   137  .LBB1_12:
   138          vzeroupper
   139          retq
   140  .LBB1_5:
   141          vxorps  %xmm0, %xmm0, %xmm0
   142          xorl    %edx, %edx
   143          vxorps  %xmm1, %xmm1, %xmm1
   144          vxorps  %xmm2, %xmm2, %xmm2
   145          vxorps  %xmm3, %xmm3, %xmm3
   146          testb   $1, %r8b
   147          jne     .LBB1_9
   148          jmp     .LBB1_10
   149  CumSum_F64_V(double*, unsigned long):                    # @CumSum_F64_V(double*, unsigned long)
   150          testq   %rsi, %rsi
   151          je      .LBB2_8
   152          leaq    -1(%rsi), %rcx
   153          movl    %esi, %eax
   154          andl    $3, %eax
   155          cmpq    $3, %rcx
   156          jae     .LBB2_3
   157          vxorpd  %xmm0, %xmm0, %xmm0
   158          xorl    %ecx, %ecx
   159          jmp     .LBB2_5
   160  .LBB2_3:
   161          andq    $-4, %rsi
   162          vxorpd  %xmm0, %xmm0, %xmm0
   163          xorl    %ecx, %ecx
   164  .LBB2_4:                                # =>This Inner Loop Header: Depth=1
   165          vaddsd  (%rdi,%rcx,8), %xmm0, %xmm0
   166          vmovsd  %xmm0, (%rdi,%rcx,8)
   167          vaddsd  8(%rdi,%rcx,8), %xmm0, %xmm0
   168          vmovsd  %xmm0, 8(%rdi,%rcx,8)
   169          vaddsd  16(%rdi,%rcx,8), %xmm0, %xmm0
   170          vmovsd  %xmm0, 16(%rdi,%rcx,8)
   171          vaddsd  24(%rdi,%rcx,8), %xmm0, %xmm0
   172          vmovsd  %xmm0, 24(%rdi,%rcx,8)
   173          addq    $4, %rcx
   174          cmpq    %rcx, %rsi
   175          jne     .LBB2_4
   176  .LBB2_5:
   177          testq   %rax, %rax
   178          je      .LBB2_8
   179          leaq    (%rdi,%rcx,8), %rcx
   180          xorl    %edx, %edx
   181  .LBB2_7:                                # =>This Inner Loop Header: Depth=1
   182          vaddsd  (%rcx,%rdx,8), %xmm0, %xmm0
   183          vmovsd  %xmm0, (%rcx,%rdx,8)
   184          addq    $1, %rdx
   185          cmpq    %rdx, %rax
   186          jne     .LBB2_7
   187  .LBB2_8:
   188          retq
   189  CumSum_F32_V(float*, unsigned long):                    # @CumSum_F32_V(float*, unsigned long)
   190          testq   %rsi, %rsi
   191          je      .LBB3_8
   192          leaq    -1(%rsi), %rcx
   193          movl    %esi, %eax
   194          andl    $3, %eax
   195          cmpq    $3, %rcx
   196          jae     .LBB3_3
   197          vxorps  %xmm0, %xmm0, %xmm0
   198          xorl    %ecx, %ecx
   199          jmp     .LBB3_5
   200  .LBB3_3:
   201          andq    $-4, %rsi
   202          vxorps  %xmm0, %xmm0, %xmm0
   203          xorl    %ecx, %ecx
   204  .LBB3_4:                                # =>This Inner Loop Header: Depth=1
   205          vaddss  (%rdi,%rcx,4), %xmm0, %xmm0
   206          vmovss  %xmm0, (%rdi,%rcx,4)
   207          vaddss  4(%rdi,%rcx,4), %xmm0, %xmm0
   208          vmovss  %xmm0, 4(%rdi,%rcx,4)
   209          vaddss  8(%rdi,%rcx,4), %xmm0, %xmm0
   210          vmovss  %xmm0, 8(%rdi,%rcx,4)
   211          vaddss  12(%rdi,%rcx,4), %xmm0, %xmm0
   212          vmovss  %xmm0, 12(%rdi,%rcx,4)
   213          addq    $4, %rcx
   214          cmpq    %rcx, %rsi
   215          jne     .LBB3_4
   216  .LBB3_5:
   217          testq   %rax, %rax
   218          je      .LBB3_8
   219          leaq    (%rdi,%rcx,4), %rcx
   220          xorl    %edx, %edx
   221  .LBB3_7:                                # =>This Inner Loop Header: Depth=1
   222          vaddss  (%rcx,%rdx,4), %xmm0, %xmm0
   223          vmovss  %xmm0, (%rcx,%rdx,4)
   224          addq    $1, %rdx
   225          cmpq    %rdx, %rax
   226          jne     .LBB3_7
   227  .LBB3_8:
   228          retq
   229  .LCPI4_0:
   230          .quad   0x3ff0000000000000              # double 1
   231  Prod_F64_D(double*, unsigned long):                      # @Prod_F64_D(double*, unsigned long)
   232          testq   %rsi, %rsi
   233          je      .LBB4_1
   234          cmpq    $16, %rsi
   235          jae     .LBB4_4
   236          vmovsd  .LCPI4_0(%rip), %xmm0           # xmm0 = mem[0],zero
   237          xorl    %eax, %eax
   238          jmp     .LBB4_11
   239  .LBB4_1:
   240          vmovsd  .LCPI4_0(%rip), %xmm0           # xmm0 = mem[0],zero
   241          retq
   242  .LBB4_4:
   243          movq    %rsi, %rax
   244          andq    $-16, %rax
   245          leaq    -16(%rax), %rcx
   246          movq    %rcx, %r8
   247          shrq    $4, %r8
   248          addq    $1, %r8
   249          testq   %rcx, %rcx
   250          je      .LBB4_5
   251          movq    %r8, %rcx
   252          andq    $-2, %rcx
   253          vbroadcastsd    .LCPI4_0(%rip), %ymm0   # ymm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0]
   254          xorl    %edx, %edx
   255          vmovapd %ymm0, %ymm1
   256          vmovapd %ymm0, %ymm2
   257          vmovapd %ymm0, %ymm3
   258  .LBB4_7:                                # =>This Inner Loop Header: Depth=1
   259          vmulpd  (%rdi,%rdx,8), %ymm0, %ymm0
   260          vmulpd  32(%rdi,%rdx,8), %ymm1, %ymm1
   261          vmulpd  64(%rdi,%rdx,8), %ymm2, %ymm2
   262          vmulpd  96(%rdi,%rdx,8), %ymm3, %ymm3
   263          vmulpd  128(%rdi,%rdx,8), %ymm0, %ymm0
   264          vmulpd  160(%rdi,%rdx,8), %ymm1, %ymm1
   265          vmulpd  192(%rdi,%rdx,8), %ymm2, %ymm2
   266          vmulpd  224(%rdi,%rdx,8), %ymm3, %ymm3
   267          addq    $32, %rdx
   268          addq    $-2, %rcx
   269          jne     .LBB4_7
   270          testb   $1, %r8b
   271          je      .LBB4_10
   272  .LBB4_9:
   273          vmulpd  (%rdi,%rdx,8), %ymm0, %ymm0
   274          vmulpd  32(%rdi,%rdx,8), %ymm1, %ymm1
   275          vmulpd  64(%rdi,%rdx,8), %ymm2, %ymm2
   276          vmulpd  96(%rdi,%rdx,8), %ymm3, %ymm3
   277  .LBB4_10:
   278          vmulpd  %ymm3, %ymm1, %ymm1
   279          vmulpd  %ymm2, %ymm0, %ymm0
   280          vmulpd  %ymm1, %ymm0, %ymm0
   281          vextractf128    $1, %ymm0, %xmm1
   282          vmulpd  %xmm1, %xmm0, %xmm0
   283          vpermilpd       $1, %xmm0, %xmm1        # xmm1 = xmm0[1,0]
   284          vmulsd  %xmm1, %xmm0, %xmm0
   285          cmpq    %rsi, %rax
   286          je      .LBB4_12
   287  .LBB4_11:                               # =>This Inner Loop Header: Depth=1
   288          vmulsd  (%rdi,%rax,8), %xmm0, %xmm0
   289          addq    $1, %rax
   290          cmpq    %rax, %rsi
   291          jne     .LBB4_11
   292  .LBB4_12:
   293          vzeroupper
   294          retq
   295  .LBB4_5:
   296          vbroadcastsd    .LCPI4_0(%rip), %ymm0   # ymm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0]
   297          xorl    %edx, %edx
   298          vmovapd %ymm0, %ymm1
   299          vmovapd %ymm0, %ymm2
   300          vmovapd %ymm0, %ymm3
   301          testb   $1, %r8b
   302          jne     .LBB4_9
   303          jmp     .LBB4_10
   304  .LCPI5_0:
   305          .long   0x3f800000                      # float 1
   306  Prod_F32_F(float*, unsigned long):                      # @Prod_F32_F(float*, unsigned long)
   307          testq   %rsi, %rsi
   308          je      .LBB5_1
   309          cmpq    $32, %rsi
   310          jae     .LBB5_4
   311          vmovss  .LCPI5_0(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
   312          xorl    %eax, %eax
   313          jmp     .LBB5_11
   314  .LBB5_1:
   315          vmovss  .LCPI5_0(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
   316          retq
   317  .LBB5_4:
   318          movq    %rsi, %rax
   319          andq    $-32, %rax
   320          leaq    -32(%rax), %rcx
   321          movq    %rcx, %r8
   322          shrq    $5, %r8
   323          addq    $1, %r8
   324          testq   %rcx, %rcx
   325          je      .LBB5_5
   326          movq    %r8, %rcx
   327          andq    $-2, %rcx
   328          vbroadcastss    .LCPI5_0(%rip), %ymm0   # ymm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
   329          xorl    %edx, %edx
   330          vmovaps %ymm0, %ymm1
   331          vmovaps %ymm0, %ymm2
   332          vmovaps %ymm0, %ymm3
   333  .LBB5_7:                                # =>This Inner Loop Header: Depth=1
   334          vmulps  (%rdi,%rdx,4), %ymm0, %ymm0
   335          vmulps  32(%rdi,%rdx,4), %ymm1, %ymm1
   336          vmulps  64(%rdi,%rdx,4), %ymm2, %ymm2
   337          vmulps  96(%rdi,%rdx,4), %ymm3, %ymm3
   338          vmulps  128(%rdi,%rdx,4), %ymm0, %ymm0
   339          vmulps  160(%rdi,%rdx,4), %ymm1, %ymm1
   340          vmulps  192(%rdi,%rdx,4), %ymm2, %ymm2
   341          vmulps  224(%rdi,%rdx,4), %ymm3, %ymm3
   342          addq    $64, %rdx
   343          addq    $-2, %rcx
   344          jne     .LBB5_7
   345          testb   $1, %r8b
   346          je      .LBB5_10
   347  .LBB5_9:
   348          vmulps  (%rdi,%rdx,4), %ymm0, %ymm0
   349          vmulps  32(%rdi,%rdx,4), %ymm1, %ymm1
   350          vmulps  64(%rdi,%rdx,4), %ymm2, %ymm2
   351          vmulps  96(%rdi,%rdx,4), %ymm3, %ymm3
   352  .LBB5_10:
   353          vmulps  %ymm3, %ymm1, %ymm1
   354          vmulps  %ymm2, %ymm0, %ymm0
   355          vmulps  %ymm1, %ymm0, %ymm0
   356          vextractf128    $1, %ymm0, %xmm1
   357          vmulps  %xmm1, %xmm0, %xmm0
   358          vpermilpd       $1, %xmm0, %xmm1        # xmm1 = xmm0[1,0]
   359          vmulps  %xmm1, %xmm0, %xmm0
   360          vmovshdup       %xmm0, %xmm1            # xmm1 = xmm0[1,1,3,3]
   361          vmulss  %xmm1, %xmm0, %xmm0
   362          cmpq    %rsi, %rax
   363          je      .LBB5_12
   364  .LBB5_11:                               # =>This Inner Loop Header: Depth=1
   365          vmulss  (%rdi,%rax,4), %xmm0, %xmm0
   366          addq    $1, %rax
   367          cmpq    %rax, %rsi
   368          jne     .LBB5_11
   369  .LBB5_12:
   370          vzeroupper
   371          retq
   372  .LBB5_5:
   373          vbroadcastss    .LCPI5_0(%rip), %ymm0   # ymm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
   374          xorl    %edx, %edx
   375          vmovaps %ymm0, %ymm1
   376          vmovaps %ymm0, %ymm2
   377          vmovaps %ymm0, %ymm3
   378          testb   $1, %r8b
   379          jne     .LBB5_9
   380          jmp     .LBB5_10
   381  .LCPI6_0:
   382          .quad   0x3ff0000000000000              # double 1
   383  CumProd_F64_V(double*, unsigned long):                   # @CumProd_F64_V(double*, unsigned long)
   384          testq   %rsi, %rsi
   385          je      .LBB6_8
   386          leaq    -1(%rsi), %rcx
   387          movl    %esi, %eax
   388          andl    $3, %eax
   389          cmpq    $3, %rcx
   390          jae     .LBB6_3
   391          vmovsd  .LCPI6_0(%rip), %xmm0           # xmm0 = mem[0],zero
   392          xorl    %ecx, %ecx
   393          jmp     .LBB6_5
   394  .LBB6_3:
   395          andq    $-4, %rsi
   396          vmovsd  .LCPI6_0(%rip), %xmm0           # xmm0 = mem[0],zero
   397          xorl    %ecx, %ecx
   398  .LBB6_4:                                # =>This Inner Loop Header: Depth=1
   399          vmulsd  (%rdi,%rcx,8), %xmm0, %xmm0
   400          vmovsd  %xmm0, (%rdi,%rcx,8)
   401          vmulsd  8(%rdi,%rcx,8), %xmm0, %xmm0
   402          vmovsd  %xmm0, 8(%rdi,%rcx,8)
   403          vmulsd  16(%rdi,%rcx,8), %xmm0, %xmm0
   404          vmovsd  %xmm0, 16(%rdi,%rcx,8)
   405          vmulsd  24(%rdi,%rcx,8), %xmm0, %xmm0
   406          vmovsd  %xmm0, 24(%rdi,%rcx,8)
   407          addq    $4, %rcx
   408          cmpq    %rcx, %rsi
   409          jne     .LBB6_4
   410  .LBB6_5:
   411          testq   %rax, %rax
   412          je      .LBB6_8
   413          leaq    (%rdi,%rcx,8), %rcx
   414          xorl    %edx, %edx
   415  .LBB6_7:                                # =>This Inner Loop Header: Depth=1
   416          vmulsd  (%rcx,%rdx,8), %xmm0, %xmm0
   417          vmovsd  %xmm0, (%rcx,%rdx,8)
   418          addq    $1, %rdx
   419          cmpq    %rdx, %rax
   420          jne     .LBB6_7
   421  .LBB6_8:
   422          retq
   423  .LCPI7_0:
   424          .long   0x3f800000                      # float 1
   425  CumProd_F32_V(float*, unsigned long):                   # @CumProd_F32_V(float*, unsigned long)
   426          testq   %rsi, %rsi
   427          je      .LBB7_8
   428          leaq    -1(%rsi), %rcx
   429          movl    %esi, %eax
   430          andl    $3, %eax
   431          cmpq    $3, %rcx
   432          jae     .LBB7_3
   433          vmovss  .LCPI7_0(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
   434          xorl    %ecx, %ecx
   435          jmp     .LBB7_5
   436  .LBB7_3:
   437          andq    $-4, %rsi
   438          vmovss  .LCPI7_0(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
   439          xorl    %ecx, %ecx
   440  .LBB7_4:                                # =>This Inner Loop Header: Depth=1
   441          vmulss  (%rdi,%rcx,4), %xmm0, %xmm0
   442          vmovss  %xmm0, (%rdi,%rcx,4)
   443          vmulss  4(%rdi,%rcx,4), %xmm0, %xmm0
   444          vmovss  %xmm0, 4(%rdi,%rcx,4)
   445          vmulss  8(%rdi,%rcx,4), %xmm0, %xmm0
   446          vmovss  %xmm0, 8(%rdi,%rcx,4)
   447          vmulss  12(%rdi,%rcx,4), %xmm0, %xmm0
   448          vmovss  %xmm0, 12(%rdi,%rcx,4)
   449          addq    $4, %rcx
   450          cmpq    %rcx, %rsi
   451          jne     .LBB7_4
   452  .LBB7_5:
   453          testq   %rax, %rax
   454          je      .LBB7_8
   455          leaq    (%rdi,%rcx,4), %rcx
   456          xorl    %edx, %edx
   457  .LBB7_7:                                # =>This Inner Loop Header: Depth=1
   458          vmulss  (%rcx,%rdx,4), %xmm0, %xmm0
   459          vmovss  %xmm0, (%rcx,%rdx,4)
   460          addq    $1, %rdx
   461          cmpq    %rdx, %rax
   462          jne     .LBB7_7
   463  .LBB7_8:
   464          retq