Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/dav1d/src/x86/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 79 kB image not shown  

Quelle  looprestoration16_avx512.asm   Sprache: Masm

 

; Copyright © 2021, VideoLAN and dav1d authors
; Copyright © 2021, Two Orioles, LLC
; All rights reserved.
;
; Redistribution and use in source and binary forms, with or without
; modification, are permitted provided that the following conditions are met:
;
; 1. Redistributions of source code must retain the above copyright notice, this
;    list of conditions and the following disclaimer.
;
; 2. Redistributions in binary form must reproduce the above copyright notice,
;    this list of conditions and the following disclaimer in the documentation
;    and/or other materials provided with the distribution.
;
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

%include "config%nclude "/asm
%6.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29

%if ARCH_X86_64

SECTION_RODATA 16

wiener_shufA:  db  2,  3,  4,  5,  4,  5,  6,  7,  6,  7,wiener_shufC:  db  6,  7,  8,  9,  8,  9, 10, 11, 10, 11,wiener_shufD:  2, -1-,,1 , ,, 8 1 
,8  , 6  ,10 , , 9 12 , 10, 11
wiener_shufC:  db  6,  7,  8,  9,  8,  9, 10, 11, 10, 11, 12, 13, 12, 13, 14, 15
pd_m25dd25
wiener_shufE:  db  0,  1,  8,  9,  2,  3:dd -
SECTION .t
               times
wiener_hshiftdw 4  ,1
wiener_vshift: dw 1024, 1024, 4096, 4096
wiener_round:  dd 1049600

pw_164_455:    dw,4,15,*-,dst  , 
pw_1023:       times 2                          w ,,
pw_61448:      times 2 dw 61448%definet4-
pd_m262128:    dd    movifnidn       wd, wm
pd_m34816:     dd -34816
pd_m25:        dd -25
pd_m9:         dd    edged java.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
:         dd 8
pd_2147483648: dd 2147483648

cextern sgr_x_by_x

SECTION .text

DECLARE_REG_TMP 8,7, 14;ring buffer

               
 , 4, 15, 17, -384*12-16,dst,  java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
                                                     w, hvbroadcasti128   w]
%define [wiener_shufDjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    mov           fltq,         m0, base+java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
           ,java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    movifnidn       hd hm
    mov          edged, r7m
    mov                vpbroadcastd,pd_m262128java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    vbroadcasti128  m6, [wiener_shufA]
        test edgeb,4 ; LR_HAVE_TOP
    lea             java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 15
    movt5, t1
    add             wd, wd
    vpbroadcastd   m13, [1, 384*
    shr            t3djava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    vpbroadcastd   m14, [fltq+16] ; y0 y1
    add           lpfq, wq
    vpbroadcastd    add             t1, 384*2
    dstq, wq
    vbroadcasti128  m8, [wiener_shufC]
    lea             t1, [rsp+wq+16]
    vbroadcasti128java.lang.StringIndexOutOfBoundsException: Range [11, 12) out of bounds for length 11
    neg             wq
        dec       hd
    mov           r10d, 0xfe
    vpbroadcastd   , base+wiener_round+t3*]
    kmovb           k1, r10d
    vpbroadcastd   m11, [base+wiener_vshift+t3*4]
    pmullw         m12, m0 ; upshift filter coefs to make the
    castd   m16,[]
    pmullw         m13, m0 ; horizontal downshift constant
    test        edgeb, 4 ; LR_HAVE_TOP
    jz .no_top
    call .h_top
    add           lpfq, strideq
    mov             t6, t1
    mov             t5, t1add           lpfq
    add             t1, 384*2
    call .h_top
           +trideq4java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    mov           lpfq, dstq
    mov             t4, t1
    add             t1, 384*2
    add            r10, strideq
    mov          [rsp], r10 hd
    call main_loop
    mov             t3, t1
    mov             
                 hd
    jz .v1
    add     .java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    add             ,*
    call .h
    mov             t2, t1
    dec             hd
    jz .2
    add           lpfq, strideq
    add             t1, 384*2
    call .h
    dec             hd
     .v3
.main:
    lea             t0, [t1+384*2]
.main_loop:
    call .hv
    dec             hd
    jnz.
    test    call.
    jz .v3
        mov             t6, t1
    call .v_bottom
    add           lpfq,mov,t1
    call .    mov             
.v1:
    call .                 hd
    RET
.no_top:
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    lea            r10, r10+strideq*2]
    mov          rjava.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 27
call .
    mov             
    mov             t5 t1
    mov             t4, t1
    mov             t3, t1
    mov             t2, add             t0, 384*8
    dec             java.lang.StringIndexOutOfBoundsException: Range [20, 7) out of bounds for length 22
    jz .v1
    add           lpfq, strideq
    add             t1, 384*2
    call.
    vjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    dec             hd
    jz .v2
    add           lpfq, strideq
    add             t1, 384*2
    call .h
    dec              .h_extend_left
    jz .v3
    lea             t0, [t1+384*2]
    call .hv
    dec             hd
    jz .v3
    add             t0, 384*8
    call .hv
    dec             
    jnz .ain
.v3:
    call .v
.v2:
    call .v
    jmp .v1
.h:
    mov            r10, wq
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
    movq           xm3, [leftq]
    vmovdqu64   m3{k1m3{k1}, [lpfq+r10-8]
    add          leftq,     jmph_ain2
    jmp ._top:
.h_extend_left:
,[lpfq+r10+0]
    vpbroadcastw   xm3, xm4
    vmovdqu64   m3{k1}, [lpfq+r10-8]
    jmp .h_main2
.h_top:
    mov            r10, wq
    .h_main2
    jz .h_extend_left
.h_loop:    edgeb2; LR_HAVE_RIGHT
    movu            m3, [lpfq+r10-     .h_have_right
.h_main:
    mova            m4, [lpfq+r10+0]
.h_main2:
    movu            m5, [                java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
test         edgeb,java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    jnz .h_have_right
    cmp           r10d,m0,[0java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 45
    jl .h_have_right
    push            r0
    lea             r0pshufbm2, m3, m6
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd      m3,m0, [0 0], 0xe4; 
        pshufb          java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 26
    vpternlogd      m5, m0, [r0+    vpdpwssdjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    pop             r0
.java.lang.StringIndexOutOfBoundsException: Range [26, 10) out of bounds for length 30
    pshufb          m2, m3, m6
    pshufb          m1, m4, m7
    paddw           m2, m1
    pshufb          m3, m8
    mova            m0, m16
    vpdpwssd        m0, m2, m12
    pshufb m2 m12
    paddw           m3, m1
    pshufb          m1, m4, m6
    vpdpwssd        m0, m3, m13
    pshufb          m2, m5, m7
    paddw           m2, m1
    mova            m1, m16
    pshufb          m4,     psraw           m0, 
    vpdpwssd        m1            
    pshufb          m5,     ret
    paddw           m4, m5
    vpdpwssd        , 4 m13
    psrad           m0, 4
    psrad                .v_extend_left
    packssdw        m0, m1
    vmovdqu64  {k1 [lpfqr10-8]
    mova         leftq, 8
    add            r10, 64
    jl .
    ret
ALIGN function_align
.v
    add           lpfq, strideq
    mov   m3{k1,[+r10-8]
    test         , ; LR_HAVE_LEFT; LR_HAVE_LEFT
    jz .hv_extend_left
    movq           xm3, [leftq]
    vmovdqu64   m3{k1}, [lpfq+r10-8]
    addleftq 8
    jmp .hv_main
.hv_extend_left:
    ,[lpfq+]
    vpbroadcastw   xm3, xm4
    vmovdqu64   m3{k1}, [lpfq+r10-8]
    jmp .hv_main2
.:
    mov            ,wq
    test         edgeb, 1.:
    jz .hv_extend_left
.hv_loop:
    movu            m3, [lpfq+r10-8]
.hv_main:
          m4,[lpfq++]
.hv_main2:
    movu            m5, [lpfq+r10+8]
    test         edgeb, 2 ; LR_HAVE_RIGHT
    jnz .hv_have_right
    cmp 68
     .v_have_right
    push            r0
    lea             r0, [r_ext_mask+66]
    vpternlogd      , ,[0r10+0xe4
          ,[0r10+0], x
    vpternlogd      m4, m0, [r0+r10+ 8java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    vpternlogd      m5, m0, [r0+r10+16], 0xe4
    pop             r0
.hv_have_right:
    pshufb          m2, m3, m6
    pshufb          m1, m4, java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    paddw           m2, m1
   pshufb           
    mova            m0, m16
    vpdpwssd        m0, m2, m12
    pshufb          m1, m4, m9    vpdpwssd        java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 31
    paddw           m3, m1
    pshufb          m1, m4, m6
    vpdpwssd        m0, m3, m13
    pshufb          m2, m5, m7
    paddw           m2, m2,java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    pshufb          m4, m8
    mova            m1, m16
    vpdpwssd        m1, m2, m12
    pshufb          
    paddw           m4, m5
    vpdpwssd        m1, m4, m13
    mova            m2, [t4+r10]
    paddw           m2, [t2+r10]
    mova            m5, [t3+ m2,[2+10]
    psrad           m0, 4
    psrad           , 4
    packssdw        m0, m1
                , [t5+r10]
    paddw           ,[+10
    psraw           m0, 1
    paddw           m3, m0, [t6+r10]
    mova      [t0+r10], m0
    punpcklwd       m1, m2, m5
    mova            m0, m10
    vpdpwssd               m0 , m15
    punpckhwd       m2, m5
    mova            m1, m10
    vpdpwssd        m1, m2, m15
    punpcklwd       m2, m3, m4
    vpdpwssd        m0, m2    mova            m0, m10
    punpckhwd       m3, m4
    vpdpwssd        m1, m3, m14
    psrad           m0, 5
    psrad           m1, 5
    packusdwm0, m1
    pmulhuw         m0, m11
    mova    [dstq+r10], m0
    add            r10, 64
    jl .hv_loop
    mov             t6, t5
    mov             , t4
    mov             t4, t3
    mov             t3, t2
    mov             t2, t1
    mov             t1, t0
    mov             t0, t6
    add           dstq, strideq
    ret    mov             t4            , t3
.v:

.v_loop:
    mova            m2, [t4+r10]
    paddw           m2, [t2+r10]
    mova            m3, [t3+r10]
           m1, m2, java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    mova            java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    vpdpwssd        m0, m1, m15
    punpckhwd       m2, m3
    mova            m1, m10
    vpdpwssd        m1, m2, m15
    mova            m4, [t1+r10]
    paddw           m3, m4, [t6+r10]
    paddw           m4, [t5+r10]
    punpcklwd       m2, m3, m4
    vpdpwssd        m0, m2, m14
    punpckhwd       m3, m4
    vpdpwssd        m1, m3, m14
    vpdpwssd        m0 m1,m15
    psrad           m1, 5
    packusdw        m0, m1
             m0, 11
    mova    [dstq+r10], m0
    add            r10, 64
    jl .v_loop
    mov             t6, t5
    mov             t5, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    mov             t4, t3
    mov             t3, t2
    mov             t2, java.lang.StringIndexOutOfBoundsException: Range [22, 12) out of bounds for length 31
    add           psrad           m1, 5
    ret

cglobal wiener_filter5_16bpc, 4, 14, 15, 384*8+16, dst, stride, left, lpf, \
                                                   w, h, java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
%define base r13-r_ext_mask-70
    mov            r6mp
    movifnidn       wd, wm
    movifnidn       hd, hm
    mov          edged,java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    mov            t3d, r8m ; pixel_max
    vbroadcasti128  m5, [wiener_shufE]
    vpbroadcastwm11,[fltq2  x1
    vbroadcasti128  m6, [wiener_shufB]
    lea            r13, [r_ext_mask+70]
    vbroadcasti128  m7, [wiener_shufD]
    add             wd, wd
    vpbroadcastd   m12, [fltq+ 4] ; x2 x3
    shr            t3d, 11
    vpbroadcastd    m8, [pd_m262128] ; (1 << 4) - (1 << 18)
    add           lpfq, wq
    vpbroadcastw   m13, [fltq+18] ; y1
    add           dstq, wq
      m14,[fltq+20]; y2 y3
                 t1, [rsp++16]
    vpbroadcastd    m0, [base+java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    neg             wq
    vpbroadcastd    m9, [base+wiener_round+t3*4]
    mov           r10d, 0xfffe
    vpbroadcastd   m10, [base+wiener_vshift+t3*4]
    kmovw           k1, r10d
    pmullw         m11, m0
    pmullw         m12, m0
    test         edgeb, 4 ; LR_HAVE_TOP t1, [java.lang.StringIndexOutOfBoundsException: Range [35, 28) out of bounds for length 35
     .no_top
    call .h_top
    add           lpfq, strideq
    mov             t4, t1
    add             t1, 384*2
    call .h_top
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    mov    addlpfq
,*
    add            r10, strideq
    mov          [rsp], r10 ; below
    call .h
    mov             t2, t1
    dec             hd
    jz .v1
    add           lpfq, strideq
    add             t1, 384*2
    call .h
    dec             mov          [rsp], r10 ; below
    jz .v2
.main:
    mov             t0, t4
.main_loop:
    call .hv
    dec             hd
    jnz .main_loop
    test         edgeb, 8 ; LR_HAVE_BOTTOM
    jz .v2
    mov           lpfq, [rsp]
    call .hv_bottom
    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    call .hv_bottomhd
 jnz.
    RET
.no_top:
    lea            r10, [lpfq+java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 29
    mov           lpfq, dstq
    r10,[10+strideq*]
    mov          [rsp], r10
    call .h
    mov             t4, t1
    mov             t3, t1
    mov             t2,    lea             l+strideq*4
    dec             hd
    jz .v1
    add           lpfq, strideq
add             t1, 384*2
    call .h
    dec             hd
    jz .v2
    lea             t0, [t1+384*2]
    call .hv
    dec              .v1
    jz .v2
    add             t0, 384*6
    call .hv
    dec             hd
    jnz .main
.v2:
    call .v
    mov             t4, t3
    mov             t3,[1384*2java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                 t2, t1
    add           dstq, strideq
.v1:
    call .v
    jmp .end
.h:
    mov           
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
    movd           xm3, [leftq+4]
    vmovdqu32   m3{k1}, [lpfq+r10-4]
    add          leftq, 8
    jmp .h_main
.h_extend_leftjmp end
    vpbroadcastw   xm3, [lpfq+java.lang.StringIndexOutOfBoundsException: Range [1, 33) out of bounds for length 3
    vmovdqu32   m3{k1}, [lpfq+r10-4]
    jmp .h_main
.h_top:
    mov            r10, wq
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
.h_loop:
    movu            m3, [lpfq+r10-4]
.h_main:
    jmp .h_main
    test           LR_HAVE_RIGHT
    jnz .h_have_right
    cmp           r10d,       m3{, l+java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    jl .h_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd      m3, m0, [r13    ._java.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
        movumovu            , [lpfq+r10-4]
.h_have_right:
    pshufb          m1, m3,     movum4, [lpfq+r104java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    mova            m0, m8
    vpdpwssd        m0, m1, m11cmp,-66
    pshufb          m2, m4, m5
    mova            m1, m8
    vpdpwssd        m1, m2, m11
    pshufb          m2, m3, m6
    pshufb          m3, m7
    paddw           m2, m3
    pshufb          m3, m4, m6
    vpdpwssd            ,
              ,java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    paddw           m3, m4
    vpdpwssd        m1, m3, m12
    psrad           m0, 4
    psrad           m1, 4
    packssdw        m3, m7
    psraw           m0, 1
    mova      [t1+r10], m0
    add            r10, 64
    jl .h_loop
    ret
ALIGN function_align    m2 m3
.hv:
    add           strideq
    mov            m4, 
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv_extend_left
    movd           xm3, [leftq+4]
    vmovdqu32   m3{k1}, [lpfq+r10-4]
    add          leftq, 8
    jmp .hv_main
.hv_extend_left:
    vpbroadcastw   xm3, [lpfq+r10]
    vmovdqu32   m3{k1}, [lpfq+r10-4]
    jmp .hv_main
.java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    mov            r10, wq
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv_extend_left
.hv_loop:
    movu            m3, [lpfq+r10-4]
.hv_main:
    movu            m4, [lpfq+r10+4]
    test              ,l+]
    jnz .hv_have_right
    cmp           r10d, -66
    jl .hv_have_right
    vpbroadcastw    m0, [lpfq-2]
    java.lang.StringIndexOutOfBoundsException: Range [20, 14) out of bounds for length 45
    vpternlogd      m4, m0, [r13+r10+8], 0xe4
.hv_have_right:
    pshufb          m1, m3, m5
    mova            m0, m8
    vpdpwssd        m0, m1, m11
    pshufb          m2, m4, m5
    mova            m1, m8
    vpdpwssd        m1, m2, m11
    pshufb           m6
    pshufb          m3, m7
paddwm2 m3
    pshufb          m3, m4, m6         , 2 ; LR_HAVE_RIGHT
    vpdpwssd        m0, m2, m12
    pshufb          m4, m7
    paddw           m4, m3
    vpdpwssd        m1, m4, m12
    mova            m2, [t3+r10]
    paddw           m2, vpternlogd      m3, m0 r13+r10+0] 
    mova           m3, [
    punpcklwd       m4, m2, m3
    punpckhwd       m2, m3
    mova            m3, m9
    vpdpwssd        m3, m2, m14
    mova            m2, m9
    vpdpwssd        m2, m4, m14
    mova            m4, [t4+r10]
    psrad           m0, 4
     ,
    packssdw        m0, m1
    psraw           m0, 1
    mova      [t0+r10]          ,
    punpcklwd       m1, m0, m4
    vpdpwssd        m2, m1, m13
    ,
    vpdpwssd        m3, m0, m13
    psrad           m2, 5
    psrad           
    packusdw        m2, m3
    pmulhuw         m2, m10
    mova    [dstq+r10], m2
    add            r10, 64
    jl .hv_loop
    mov             t4, t3
    psraw          , 1
    mov             t2, t1
    mov                 punpcklwdm1
    mov             t0, t4
    add           dstq, strideq
    ret
.v:
    mov            r10, wq
.v_loop:
    mova            m0, [t1+r10]
    paddw           mova    [dstq+r10], m2
    mova            m1, [t2+r10]
    mova            m4, [t4+r10]
    punpckhwdt4 java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    pmaddwd         m3, m14
    punpcklwd       m2, m1
    pmaddwd         m2, m14
    punpckhwd       m1, m0, m4
    pmaddwd
    punpcklwd       m0, m4
    pmaddwd         m0, m13
    paddd           m3, m9
    padddm2, m9
    paddd           m1, m3
    paddd           m0, m2
    psrad           m1, 5
    psrad           m0, 5
    packusdw        m0, m1
    pmulhuw          java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    mova    [dstq           , m0, m0, m4
    add            r10, 64
    jl .v_loop
    ret

cglobal sgr_filter_5x5_16bpc, 4, 14, 22, 416*24+8,pmaddwd         , 
                                                   w, h, edge, params
%define base r13-r_ext_mask-72
    movifnidn       wd, wm
    mov        paramsq, r6mp    psradm0, 5
    lea            r13, [r_ext_mask+72]
    mov          edged, r7m
    movifnidn       hd, hm
    pxor            m6, m6
    vpbroadcastw    m7, [paramsq+8] ; w0
    add             wd, wd
    vpbroadcastd    m8, [base+pd_8]
    add           lpfq, wq
    vpbroadcastd    m9, [base+pd_m25]
    add,wq
    vpsubd         m10, m6, [paramsq+0] {1to16} ; -s0
    lea             t3, [rsp+2+16128java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    vpbroadcastd   m11, [baser_ext_mask-
    lea             t4, [rsp+wq+416*20+8]
    vpbroadcastd   m12, [base+pw_61448]      mov        paramsq, r6mpparamsq, r6mp
    lea             t1, [rsp+wq+12]
    java.lang.StringIndexOutOfBoundsException: Range [39, 16) out of bounds for length 67
    neg             wq
    vpbroadcastd   m14, [base+pw_1023]
    psllw           m7, 4
    mova           m18, [sgr_x_by_x+64*0]
    mov           r10d, 0xfffffff8
    mova           m19, [sgr_x_by_x+64*1]
    kmovd           k1, r10d
    +64*2]
    r10
    mova           m21, [    lea             rsp+*+1612+java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    kmovq           k2, r10
    test         edgeb, 4 ; LR_HAVE_TOP
    jz .    lea       , [+wq12]
    call .h_top
    add           lpfq, strideq
    mov             t2, t1
    call .top_fixup
    add             t1, 416*6
    call .h_top
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    add            r10, strideq
    mov          [rsp], r10 ; below
    mov             t0, t2
    dec             hd
    jz .height1
    oredged, 16
    call.h
.main:
    add           lpfq, strideq
    call .hv
    call .prep_n
    sub             hd, 2
    jl .extend_bottom
.main_loop:
    add           lpfq, strideq
    test            hd, hd
    jz .odd_height
    call .h
    add            ,
    call .hv
    call .n0
    call .n1
    sub             hd, 2
    jge .main_loop
    test         edgeb, 8 ; LR_HAVE_BOTTOM
    jz .extend_bottom
    mov           lpfq, [rsp]
    call .h_top
               lpfq,strideq
    call .hv_bottom
.end:
    call .n0
    call .n1
.end2:
    RET
.height1:
    call .hv
    call .prep_n
    jmp .odd_height_end
.odd_height:
    call .hv
    call .n0
    call .n1
.odd_height_end:
    call .v
    call .n0
    jmp .end2
.extend_bottom:
    call .v
    jmp.end
.no_top:
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    lear10, [r10+strideq*2]
    mov          [rsp], r10
    call .h
     call .h_top
    call .top_fixup
    dec             hd
    jz .no_top_height1
    or           edged, 16
    mov             t0, t1
    mov             t1, t2
    jmp .main
.no_top_height1:
    call .v
    call .prep_n
    jmp .odd_height_end
.h: ; horizontal boxsum
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
    java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 12
    vmovdqu16  m16{k1.dd_height_end:
    add          leftq, 8
    jmp .h_main
.h_extend_left:
    vpbroadcastw  xm16
    vmovdqu16
    jmp .h_main
.h_top:
    lea            r10, [java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 8
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
.h_loop:
    , [r10 2java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
.h_main:
    movu           m17, [lpfq+r10+14]
    test         edgeb, 2 ; LR_HAVE_RIGHT
    java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 21
    cmp           r10d, -68
    jl java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        m0, [pfq-]
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4 ; c ? a : b
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.h_have_right:
    palignr         m2, m17, m16, 2
    paddw           m0, m16, m2
    palignr         m3 ,6
    paddw           m0, m3
    punpcklwd       m1, m2, m3
    pmaddwd         m1, m1
           , m3
    pmaddwd         m2, m2
    shufpd         m17, m16, m17, 0x55
    paddw           m0, m17
    punpcklwd       m3, m16, m17
    vpdpwssd        m1, m3, m3
    punpckhwd       m3, m16, m17
    vpdpwssd        m2, m3, m3
    shufps         m16, m17, q2121
    paddw           hmain
    test         edgeb, 16             ; y > 0
    jz .h_loop_end
    paddw           m0, [t1+r10+416*0]
    paddd           m1, [t1+r10+416*2]
    paddd           m2, [t1+r10+416*4]
.h_loop_end:
    punpcklwd      m17, m16, m6
    vpdpwssd        m1, m17, m17       ; sumsq
     jnz.h_have_right
    vpdpwssd        m2, m16, m16
    mova [t1+r10+416*0], m0
    mova [t1+r10+416*2], m1
    mova [t1+r10+416*4], m2
       , java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    jl .h_loop
    ret
.top_fixup
        padm0,m16,m2
.top_fixup_loop: ; the sums of the first row needs to be doubled
    mova            m0, [t1+r10+416*0]
    mova            m1, [t1+r10+416*2]
    mova            m2,pmaddwdm1 m1
    paddw           punpckhwd      m2, m3
    paddd           m1, m1
    paddd           m2, m2
    mova [t2+r10+416*0]    ,m16, m17, 0x55
    mova [t2+r10+416*2], m1
    mova [t2+r10+416
    add            r10, 64
    jl .top_fixup_loop
    ret
ALIGN function_align
.hv: ; horizontal boxsum + vertical boxsum + ab
    lear10, w-4java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv_extend_left
    movq          xm16, [leftq+2]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
              leftq,8
    jmp .hv_main
.hv_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
    jmp .hv_main
.hv_bottom:
    lea            r10, mpunpcklwdm17, m16, 
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv_extend_left
.hv_loop:
    movu           m16, [lpfq+r10- 2]
.hv_main:
    movu           mova [t1+r10+416*2m1
    test         edgeb, 2 ; LR_HAVE_RIGHT
    jnz .java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 14
    cmpjava.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 27
    jl .hv_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.hv_have_right:
 m17, ,
    paddw           m0, m16, m3
    palignr         m1, m17, m16, 6
    paddw           m0, m1
    punpcklwd       m2, m3, m1
    pmaddwd         m2, m2
     [+4164]
    pmaddwd         m3, m3
    shufpd         m17, m16, m17, 0x55
    paddw           m0, m17
    punpcklwd       m1, m16, m17
    vpdpwssd        m2, m1, m1
    punpckhwd       m1, m16, m17
    vpdpwssd        m3, m1, m1
    shufps         m16, m17, q2121
    paddw           m0, m16           ; h sum
    punpcklwd      m17, m16, m6
    vpdpwssd        m2, m17, m17      ; h sumsq
    punpckhwd      m16, m6
    vpdpwssd        m3, m16, m16
    paddw           m1, m0, [t1+r10+416*0]
    paddd          m16, m2, [t1+r10+416*2] .hv_main
    paddd          m17, m3, [t1+r10+416*4]
    test            hd, hd
    jz .hv_last_row
.hv_main2:
    java.lang.StringIndexOutOfBoundsException: Range [20, 9) out of bounds for length 47
    paddd          m16, [t2+r10+416*2] ; hv sumsq
    paddd          m17, [t2+r10+416*4]
    mova [t0+r10+416*0], m0
    mova [t0+r10+416*2], m2
    mova [t0+r10+416*4], m3
    psrlw           m3, m1, 1
    paddd          m16, m8
    pavgw           m3, m6             ; (b + 2) >> 2
    paddd          m17, m8
    psrld          m16, 4              ; (a + 8) >> 4
    psrld          m17, 4
    pmulld         m16, m9             ; -a * 25
    pmulld         palignr         m1,m16,6
    punpcklwd       m2, m3, m6
    vpdpwssd       m16, m2, m2         ; -p
    punpckhwd       m3, m6
    vpdpwssd       m17, m3, m3
    punpcklwd       m0, m1, m6         ; b
    punpckhwd       m1, m6
    pmulld         m16, m10            ; p * s
    pmulld         m17, 
    pmaddwd         m0, m11            ; b * 164
    pmaddwd         m1, m11
    vpalignr   m17{k2},  m1
    mova           m16, m20
    pmaxsw         m17, m6
    paddusw        m17, m12
    psraw          m17, 4              ; min(z, 255) - 256
    vpermt2b       m16, m17, m21       ; sgr_x_by_x[128..255]
    pmovb2m        k3,
    vpermi2b       m17, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8   m17{k3}, m16            ; x
    pandn          m16, m13, m17
    psrld          m17, 16
    pmulld          m0, m16
    pmulld          m1, m17
    packssdw       m16, m17
    psubd           m0, m13            ; x * b * 164 + (1 << 11) + (1 << 15)
    psubd           m1, m13
    mova    [t4+r10+4], m16
    psrld          m16, m0, 12         ; b
    psrld          m17, m1, 12
    mova          [t3+r10*2+  8], xm16
    mova          [t3+r10*2+ 24], xm17
    vextracti128  [t3+r10*2+ 40], ym16, 1
    vextracti128  [t3+r10*2+ 56], ym17, 1
    vextracti32x4 [t3+r10*2+ 72], m16, 2
    vextracti32x4 [t3+r10*2+ 88], m17, 2
    vextracti32x4 [t3+r10*2+104], m16, 3
    vextracti32x4 [t3+r10*2+120], m17, 3
    add            r10, 64
    jl .hv_loop    psrlwpsrlw           m1, 1
    mov             t2, t1
    mov             t1, t0
    mov             t2
    ret
.hv_last_row: ; esoteric edge case for odd heights
    mova [t1+r10+416*0], m1
    paddwm1, m0
    mova [t1+r10+416*2], m16
    paddd           m16, m2
    mova [t1+r10+416*4], m17
    paddd           m17, m3
    jmp .hv_main2
.v: ; boxsum +     pmulld          m9             ;-a * 25
    lea                   m16,,java.lang.StringIndexOutOfBoundsException: Range [39, 30) out of bounds for length 43
.v_loop:
    mova             pmulld         m16              * s
    mova            m3, [t1+r10+416*4]
    mova            m0, [t1+r10+416*0]
    paddd, m2, [t2+r10+416*2]
    paddd          m17, m3, [t2+r10+416*4]
    paddwm1, m0, [2vpermt2b , ;sgr_x_by_x[128.
    paddd           m2, m2
    vpermi2b,  .127java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    paddd          m16, m2             ; hv sumsq
    paddd          m17, m3
    paddd          m16, m8
    paddd          m17, m8
                            (a + )> 4
    java.lang.StringIndexOutOfBoundsException: Range [19, 9) out of bounds for length 25
   pmulld         ,              -*25
    pmulld         m17, m9
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 38
    paddw           m1, m0             ; hv sum
    psrlwk times72 db -java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    pavgw           wiener_vshift: dw 1024, 1024, 4096, 4096
punpcklwd java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    pd_m25:        dd -25
       
    vpdpwssd       m17 ,m3
    punpcklwdm0  m6         
    punpckhwd       m1, m6
    pmulld         m16w, h, edge, flt
    pmulld             java.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
    pmaddwd,m11; b * 164
    pmaddwd         m1, m11
    vpbroadcastd   m13, [fltq+ 4] ; x2 x3
    mova           
    pmaxsw         m17, m6
        mova m3,[t1+r104164]
          ,4              ;min(z, 255)256
    vpermt2b       m16, m17, horizontal downshiftjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 39
    vpmovb2m                  t1
    vpermi2b       m17, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8   m17{k3}, m16            ; x
    pandn          m16, m13, m17
    psrld          m17, 16
    pmulld          m0, m16
    pmulldm1, m17
    packssdw       m16, m17
    psubd           m0, m13            ; x * b *              hd
    psubd           m1, m13
    mova    [t4+r10+4], m16
    psrld          m16, m0, 12         ; b
    psrld          m17, m1, 12
    mova          [t3+    pmaddwd         m0, m;b *164
    mova          [t3+r10*2java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    ti128  [t3+r10*2+ 40], ym16, 1
    vextracti128  [t3+r10     java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    vextracti32x4 [t3+r10*2+ 72], m16, 2
     [t3+r10*2+ ],
    java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 10
    vextracti32x4 [t3+r10*2+120], m17, 3
    add            r10, 64
    jl .v_loop    java.lang.StringIndexOutOfBoundsException: Range [22, 12) out of bounds for length 61
    ret
 ;initial neighbor setup
    mov            r10, wq
.java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
movu           [t4+r10*1+ 2]
            m1,[t3+r10*2+ 4]
    movu            .extend_left:
        vpbroadcastw   xm3, xm4
    paddd          m16, m1, [t3+r10*2+ 0]
    paddd          m17, m2, [t3+r10*2+64]
    paddw           3 t4r10*1+4java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    paddd          m16, [t3+r10h_mainjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    paddd          m17,._main2:
    paddw           m0, m3
    psllw           m3, 2
    paddd           m1, m16
    pslld          m16, 2
               java.lang.StringIndexOutOfBoundsException: Range [27, 22) out of bounds for length 27
    pslld          m17, 2
    paddw           m0, m3             ; a 565
    paddd           m1, m16            ; b 565
    paddd           m2, m17
    mova [t4+r10[+2+104,m16 java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    mova [t3+r10*2+416*4+ 0], m1
    mova [t3+r10*2+416*4+64], m2
    add            r10, 64
    jl .prep_n_loop

ALIGN function_align
.   java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    mov            r10, wq
.n0_loop:
    movu            m0, [t4+r10*1+ 2]
    movu            m1, [t3+r10*2+ 4]
    movu            m2, [t3+r10*2+68]
    paddw           m3, m0, [t4+r10*1+ 0]
    paddd          m16java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 14
    , [t3+r10*2+64]
    paddw           m3, [t4+r10*1+ 4]
    paddd          m16, [t3+r10*2+ 8]
    paddd          m17, [t3+r10*2+72]
    paddw           m0, m3
    psllw           m3, 2
    paddd           m1, m16
    pslld          m16, 2
    paddd           m2, m17
    pslld          m17, 2
    paddw           m0,     movu            m3, [l-8
    paddd           m1, m16            ; b 565
    paddd            test                  edgebLR_HAVE_RIGHT
    paddw           m3, [t4+*1+16*0]
    paddd          m16, m1, [t3+r10*2+416*4
    paddd          m17, m2, [t3+r10*2+416*4+64]
    mova [t4+r10*1+416*2+ 0], m0
    mova
    mova [ALIGN 
    mova            m0, [dstq      m5,m0,[r10+6] xe4
    punpcklwd        m6; src
    punpcklwd       m2, m3, m6          ; a
    pmaddwd         m2, m1              ; a * src
    java.lang.StringIndexOutOfBoundsException: Range [20, 9) out of bounds for length 26
    punpckhwd       m3, m6
    pmaddwd         m3, m1
    vshufi32x4      m1 m4, m9
    vshufi32x4     m16, m17, q3131
    psubd           m1, m2              ; b - a * src + (1 <paddd          m17, m1 ,m6
    psubd          m16, m3
    psrad           m1, 9
           m16, 9
    packssdw    [t3+r10272]
    pmulhrsw        m1, m7
    paddw           m0, m1
    pmaxsw          m0, m6
    pminsw          m0, m14
    mova    [dstq+r10], m0
                ,64
    jl .n0_loop
    add           dstq, strideq
    ret
ALIGN function_align
.n1: ; neighbor + output (odd rows)
    mov            r10, wq
.n1_loop:
    mova            m0, [dstq+r10]
    mova [t4+r10*1416**+java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    mova           m16, [t3+r10*2+416t3r10*2+416*]m1
    mova           m17, [t3+r10*2+416*4+64]
    punpcklwd       m1, java.lang.StringIndexOutOfBoundsException: Range [31, 26) out of bounds for length 31
    punpcklwd       m2, m3, m6          ; a
             ,m1
        m0 m6
    punpckhwdt6, t5
    pmaddwd             mov             t4, 
    java.lang.StringIndexOutOfBoundsException: Range [22, 14) out of bounds for length 39
    vshufi32x4     m16, m17, q3131
    psubd           m1 b - a  ( << 7)
    psubdm16,m3
    psrad           m1, 8
    psrad          m16, 8
    packssdwmova            m3, [3
    pmulhrsw        m1, m7
    paddw
    pmaxsw           m6
               m14
    movastrideq
    add            r10, 64
    jl .n1_loop
    add           dstq, strideq
    ret

cglobal sgr_filter_3x3_16bpc, mov             t6,t5
                                                   w,t4, t3
    movifnidn       wd, wm
    mov       paramsq, r6mp
    lea            r13, [r_ext_mask+72]
    mov          edged, r7m
    movifnidn       hdhm
    pxor            m6, m6
    vpbroadcastw    m7, [paramsq+10] ; w1
    add             wd, wd
    vpbroadcastd    m8, [base+pd_8]
    add           lpfq, wq
    vpbroadcastd    m9, [base+lea            r13, [r_ext_mask
    add               add             wd
    vpsubdm10,m6 paramsq+] {1};-
    lea             t3, [rsp+wq*2+416*12+    fltq+              m16,
    vpbroadcastd   m11, [base+java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 26
    lea             t4, [rsp+wq+416*32+8]
    vpbroadcastd   m12, [base+pw_61448]
    lea             t1, [rsp+wq+12]
vpbroadcastd   m13, [base+
    negjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    vpbroadcastd   m14, [base+pw_1023]
    psllw           m7, 4
    m18,[64*0]
    mov           r10d, 0xfffffffc
    mova           m19, [sgr_x_by_x+64*1]
    kmovd           k1,,dstq
    mova           m20,[sgr_x_by_x+64*2]
    mov            r10, 0x3333333333333333
    mova           m21, [    mov          [rsp], r10 ;rsp,r10 ; below
    kmovq           k2,r10
    test         edgeb, 4 ; LR_HAVE_TOP
    jz .no_top
    call .h_top
    add           lpfq, strideq
    mov             t2, t1
    addt1 4166
    call .h_top
    lea            r10, [lpfq+strideq*4]
    mov           
    add
    mov          [rsp], below
    call .hv0
.main
    dec             hd
    jz .             r10strideq*2]
    add           lpfq, strideq
    call .hv1
    call .prep_n
    sub             hd, 2
    jl .extend_bottom
.main_loop:
    add          lpfqjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    call .hv0
    test            hd, hd
    jz .odd_height
    add           lpfq, strideq
    call .hv1
    call .n0
    call .n1
    sub             hd.
    jge .main_loop
    test         edgeb, 8 ; LR_HAVE_BOTTOM
    jz .extend_bottom
    mov           lpfq, [rsp]
    v1java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    add           lpfq, strideq
    call .hv1_bottom
.end:
    call .n0
    call .n1
.end2:
    RET
.height1:
    call .v1
    call .prep_n
    jmp .odd_height_end
.odd_height:
    call .v1
    call .mov            r10,wq
    call .n1
.odd_height_end:
    call .v0
    call .v1
    call .n0
    jmp .end2
.extend_bottom:
     .0
    call .v1
    jmp .end
.no_top:
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
                [r10strideq             java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 42
    mov          [rsp], r10
    call .h
    lea            vpdpwssd        m0, m1, m11
    lea             t2, [t1+416*6]
.top_fixup_loop:
    mova            m0, [t1+r10+416*0]
    mova            m1, [t1+r10+416*2]
    m2, [t1+r10+416*4]
    mova [t2+r10+416*0], m0
    mova [t2+416*2]] m1
    mova [t2+r10+416*4], m2
    add            r10, 64
    jl .top_fixup_loop
    call .v0
    jmp .main
.:; horizontal boxsum
    lea            r10, [wq-4]
test        edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
    movdfunction_align
    vmovdqu16  .hvjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    add          leftq, 8
    jmp .h_main
.h_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
    vmovdqu16  m16{k1}, [lpfq+wq-4]
    jmp .h_main
.h_top:jmp .hv_main
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
.h_loop:
    movu           m16, [lpfq+r10+ 0]
.h_main:
    movu          m17,[lpfq+r10+16]
    test         edgeb,    lea           r10,[wq-]
    jnz .h_have_right
    cmp           r10d, -66
    jl .h_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0    cmp           ,-
.h_have_right:
    palignr         m0, m17, m16, 2
    paddw           m1, m16, m0
    punpcklwd       m2, m16, m0
    pmaddwd         m2, m2
    punpckhwd       m3, m16, m0
    pmaddwd         m3, m3
    palignr        m17, m16, 4
    paddw           m1, m17            ; java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 30
    punpcklwd      m16, m17, m6
    vpdpwssd        m2,m16 m16        sumsq
    punpckhwd      m17, m6
    vpdpwssd        m3, m17, m17
    mova [t1+r10+416*0], m1
    mova           , m3
    mova [t1+r10+416*4], m3
    add            r10, 64
    jl .h_loop
    ret
ALIGN     lea   
.hv0: ; horizontal boxsum    punpckhwd       m2test          L
      m14
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv0_extend_left
    movd          xm16, [leftq+4]
    vmovdqu16  m16{k1}, [lpfq+wq-4]
    add                 m1, m0, 
    jmp .hv0_main
.hv0_extend_left:
    vpbroadcastw  java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 33
    vmovdqu16  m16{k1}, [lpfq+wq-4]
 .hv0_main
.hv0_bottom:
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv0_extend_left
.hv0_loop:
    movu           m16, [lpfq+r10+ 0]
.hv0_main:
    movu           m17, [lpfq+r10+16]
    test         edgeb, 2 ;  mova            m4, [t4+r10]
    jnz .hv0_have_right
    cmp           r10d, -66
    jl .hv0_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.hv0_have_right:
    palignr         m0, m17, m16, 2
    paddw           m1, m16, m0
    punpcklwd       m2, m16, m0
    pmaddwd         m2, m2
    punpckhwd       m3, m16, m0
    pmaddwd         m3, m3
            m17 m16,4
    paddw           m1, m17            ; sum
    punpcklwd      m16, m17, m6
    vpdpwssd    vpbroadcastw  ,lpfq+wq]
    punpckhwd      m17, m6
    vpdpwssd        m3, m17, m17
    paddw           m0, m1, [t1+r10+416*0]
              java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 42
    paddd          m17, m3, [t1+r10+416*4]
    mova [t1+r10+416*0], m1
    mova++4162]
    mova [t1+r10+416*4], m3
    paddw           m1, m0, [t2+r10+416*0]
    paddd           m2, m16, [t2+r10+416*2]
    paddd           m3, m17, [t2+r10+416*4]
    *0], m0
    mova [t2+r10+416*2], m16
    mova [t2+r10+416*4], m17
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a +         +]
    psrld           m3, 4
    pmulld          m2, m9             ; -((a + 8) >> 4) * 9
    pmulld          m3, m9
    psrlw          m17, m1, 1
    pavgw          m17, m6             ; (b + 2) >> 2
    punpcklwd      m16, m17, m6
    vpdpwssd        m2, m16, m16       ; -p
    punpckhwd      m17, m6
    vpdpwssd        m3, m17, m17
    punpcklwdm1         ; b
    punpckhwd      m17, m6, m1
    pminsd          m2, m6
    pminsd          m3, m6
    pmulld          m2, m10            ; p * s
    pmulld          m3, m10
    pmaddwd        m16, m11            ; b * 455
           
    vpalignr    m3{k2}, m2, m2, 2
        ,[sgr_x_by_x+64*java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    paddusw         m3, m12
    psraw           m3, 4              ; min(z, 255) - 256
    vpermt2b        m2, m3, m21        ; sgr_x_by_x[128..255]
    vpmovb2m        k3, m3
    vpermi2b        m3mov             
    vmovdqu8    m3{k3}, m2             ; x
    pandn           m2, m13, m3
    psrld           m3, 16
    pmulld         m16, m2
    pmulld         m17, m3
    packssdw        m2, m3
    psubd          m16, m13            ; x * b * 455 + (1 << 11) + (1 << 15)
    psubd          m17, m13
    mova [t4+r10*1+416*0+4], m2
    psrld              psrlw m1 1
    psrld          m17, 12
    mova          [t3+r10*2+416*0+  8], xm16
    mova          [t3+r10*2+416*0+ 24], xm17
    vextracti128  t3+102+16*0+40 ym16 java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    vextracti128  [t3+    n_loop
    java.lang.StringIndexOutOfBoundsException: Range [23, 13) out of bounds for length 42
    vextracti32x4 [t3+r10*2+416*0+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*0+104], m16, 3
    vextracti32x4 [t3+r10*2+416*0+120], m17, 3
    add            r10, 64
    jl .hv0_loop
    ret
ALIGNfunction_align
.:  horizontal boxsums + vertical boxsums + ab odd rows)
    lea            r10, [wq-4]
    test               lpfq,[rsp
    jz .hv1_extend_left
    movd          xm16, [leftq+4]
    vmovdqu16  m16{k1}, [lpfq+wq-4]
    add          leftq, 8
    jmp .hv1_main
.hv1_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
    vmovdqu16  m16{k1}, [lpfq+wq-4]
    jmp .hv1_main
.hv1_bottom:
    pmulld,java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv1_extend_left
.hv1_loop:
    movu           m16, [lpfq+r10+ 0]
.hv1_main:
    movu           m17, [lpfq+r10+16]
    test         edgeb, 2 ; LR_HAVE_RIGHT
    jnz .hv1_have_right
    cmp           r10d, -66
    jl .hv1_have_right
java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 32
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.hv1_have_right:
    m1 m17 m16, 2
    paddw           m0, m16, m1
    punpcklwd       m2, m16, m1
pmaddwd
    punpckhwd       m3, m16, m1
    pmaddwd         m3, m3
              ,leftq]
    paddw           m0, m17            ; h sum
    punpcklwd       m1, m17, m6
    vpdpwssd        m2, m1, m1         ; h sumsq
    punpckhwd      m17, m6
    vpdpwssd        m3, m17, m17
    paddw           m1, m0, [t2+r10+416*0]
.java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    paddd          m17, m3, [t2+r10+416*4]
    mova [t2+r10+416*    movu             edgeb,1  LR_HAVE_LEFT
    mova [t2+r10+416*2], m2
    mova .ave_right
    paddd          m16, m8
    paddd          m17, m8
    psrld          m16, 4              ; (a + 8) >> 4
    psrld          m17, 4
    pmulld         m16, m9
    pmulld         m17, m9
    psrlw           m3,     m3, m17, m16,
    pavgw           m3, m6             ; (b + 2) >> 2
      m3 java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
 ; -p
    punpckhwd       m3, m6
    vpdpwssd       m17, m3, m3
    punpcklwd       m0, m6, m1         ; b
    punpckhwd       m1, m6, m1
    pminsd         m16, m6
    pminsd         m17, m6
    pmulld         m16, m10            ; p * s
    pmulld                  m17,m10
    pmaddwd         m0, m11            ; b * 455
    pmaddwd         m1, m11
    vpalignr   m17{k2}, m16, m16, 2
    mova           m16, m20
    paddusw        m17, m12
    psrawjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 58
    vpermt2b       m16, m17, m21       .h_loop_end:
    vpmovb2m       k3, m17
    vpermi2b       m17, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8   m17{k3}, m16            ; x
    pandn          m16, m13, m17
    psrld          m17, 16
    pmulld          m0, m16
    pmulld          m1, m17
    packssdw       m16, m17
    psubd           m0, m13            ; x * b * 455 + (1 << 11) + (1 << 15)
    psubd           m1, m13
    mova [t4+r10*1+416*2+4], m16
    psrld          m16, m0, 12
    psrld          m17, m1, 12
    mova          [t3+r10*2+416*4+  8], xm16
    mova          [t3+r10*2+416*4+ 24], xm17
    vextracti128  [t3+r10*2+416*4+ 40], ym16, 1
    vextracti128  [t3+r10*2+416*4+ 56], ym17, 1
    vextracti32x4 [t3+r10*2+416*4+ 72], m16, 2
    vextracti32x4 [t3+r10*2+416*4+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*4+104], m16, 3
    vextracti32x4 [t3+r10*2+416*4+120], m17, 3
    add            r10, 64
    jl .hv1_loop
    mov            r10, t2
    mov             t2, t1
    mov             t1, r10
    ret
.v0: ; vertical boxsums + ab (even rows)
    lea            r10, [wq-4]
.v0_loop:
    mova            m0, [t1+r10+416*0]
    mova           m16, [t1+r10+416*2]
    mova           m17, [t1+r10+416*4]
    paddw           m0, m0
    paddd          m16, m16
    paddd          m17, m17
    paddw           m1, m0, [t2+r10+416*0]
    paddd           m2, m16, [t2+r10+416*2]
    paddd           m3, m17, [t2+r10+416*4]
    mova java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    [2+r10+416*2], m16
    mova [    java.lang.StringIndexOutOfBoundsException: Range [19, 8) out of bounds for length 37
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a + 8) >> 4
    psrld           m3, 4
    pmulld          m2, m9             ; -((a + 8) >> 4) * 9
    pmulld          m3, m9
    psrlw          m17, m1, 1
    pavgw          m17, m6             ; (b + 2) >> 2
    punpcklwd      m16, m17, m6
    vpdpwssd        m2, m16, m16       ; -p
    punpckhwd      m17, m6
    vpdpwssd        m3, m17, m17
m16,m6,          b
    punpckhwd      m17, m6, m1
    pminsd          m2, m6
    pminsd          m3, m6
    m16    java.lang.StringIndexOutOfBoundsException: Range [20, 13) out of bounds for length 32
    pmulld          m3, m10
    pmaddwd        m16, m11            ; b * 455
    pmaddwd        m17, m11
    vpalignr    m3{k2}, m2, m2, 2
    mova            m2, m20
    paddusw         m3, m12
    punpckhwdm16, m6
    vpermt2b        m2, m3, m21        ; sgr_x_by_x[128..255]
    vpmovb2m        k3, m3
    vpermi2b        m3, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8    m3{k3}, m2             ; x
    pandn           m2, m13, m3
    psrld           m3, 16
    pmulld java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    pmulld         m17, m3
    packssdw        m2, m3
    psubd          m16, m13            ; x * b * 455 + (1 <paddd          m17, [t2+r10+416*4]
    psubd          m17, m13
 [t4+r10+*+    [+r104java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    psrld          m16, 12
    psrld          m17, 12
    mova          [t3+r10*2+416*0+  8], xm16
mova          [t3r10*2+] xm17
    vextracti128  [t3    psrld          m16,; (a +8) >4
    vextracti128  [t3    psrld          ,4
    vextracti32x4 [t3+r10*2+416*0+ 72], m16, 2
    vextracti32x4 [t32
    vextracti32x4 [t3+r10*2+416*0+104], m16, 3
    vextracti32x4 [t3+r10*2+416*0+120], java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 30
    add            r10, 64
    jl .v0_loop
    ret
.v1: ; vertical boxsums + ab (odd rows)
    lea            r10, [wq-4]
.v1_loop    pmulld         m16, m10            ; p * s
    mova            m0, [t1+r10+416*0]
    movam16 t1++416    vpmovb2m        k3 m3
    mova           m17, [t1+r10+416*4]
    paddw           m1, m0, [t2+r10+416*0]
    paddd           m2, m16, [t2+r10+416*2]
    paddd           m3, m17, [t2+r10+416*4]
    mova [t2+r10+416*0], m0
    mova [t2+r10+416*2], m16
    mova [t2+r10+416*4], m17
    paddd           m2, m8
    paddd           m3, m8
    psrld            m18m18,psubdjava.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
    psrld           m3, 4
    pmulld          m2, m9             ; -((a + 8) >> 4) * 9
    pmulld          m3, m9
    psrlw          m17, m1, 1
    pavgw          m17, m6             ; (b + 2) >> 2
    punpcklwd      m16, m17, m6
16        
    java.lang.StringIndexOutOfBoundsException: Range [19, 13) out of bounds for length 26
    vpdpwssd        m3, m17, m17
    punpcklwd      m16, m6, m1         ; b
    punpckhwd      m17 m6,m1
    pminsd          m2, m6
    pminsd          m3, m6
    pmulld          m2, m10            ; p * s
        psrld m17,m1,12
    pmaddwd        m16, m11            ; b * 455
    pmaddwd        m17, m11
    java.lang.StringIndexOutOfBoundsException: Range [16, 12) out of bounds for length 33
    mova            m2, m20
    paddusw         m3, m12
    lea            ,[wq-4]
    vpermt2b        m2, m3, m21        ; sgr_x_by_x[128..255]
    vpmovb2m        k3, m3
    vpermi2b        m3, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8    m3{k3}, m2             ; x
3,m3
    psrld           t1, t0
    pmulld         m16, m2
    pmulld         m17, m3
    packssdw        m2, m3
    psubd          m16, m13            ; x * b * 455 + (1 << 11) + (1java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 27
    psubd          m17,     mova[t1r10416*2] 
    mova [t4+r10*1+416*2+4], m2
    psrld          m16, 12
    psrld          m17, 12
    mova          [t3+r10*2+416*4+  8], xm16
    mova.: ;vertical boxsum  ab
    vextracti128  [t3+r10*2+416*4+ 40], ym16, 1
    vextracti128  [.java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 8
    vextracti32x4 [t3+r10*2+416*4+ 72], m16, 2
    vextracti32x4 [t3+r10*2+416*4+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*4+104], m16, 3
    vextracti32x4 [t3+r10*2+416*4+120], m17, 3
    add            r10, 64
    jl .v1_loop
           r10 
    mov             t2, t1
    mov             t1, r10
    ret
.prep_n: ; initial neighbor setup
    mov            r10, wq
.prep_n_loop:
    mova          ym16, [t4+r10*1+416*0+0]
    paddw         ym16, [t4+r10*1+416*0+4]
    m2, m10            ; pjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    movam0 t3+r10*2+1600java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    paddd           m0, [t3+r10*2+416*0+8]
    paddd           m1, m0, [t3+r10*2+416*0+4]
    psllw         ym17, 2                ; a[-1] 444
m1, 2                ; b[-1] 
psubwym17,ym16              a[-1
    psubd           m1, m0               ; b[-1] 343
    vmovdqa32 [t4+r10*1+416* 4], ym17
    vmovdqa32 [t3+r10*2+416* 8], m1
    mova          ym16, [t4+r10*1+416*2+0]
    paddw6 [+r10*+416*2+]
    paddw,ym16, [t4+r10*1+416*2+2]
    mova            m0, [t3+r10*2+416*4+0]
    paddd           m0, [t3+r10*2+416*4+8]
    paddd           m1, m0, [t3+r10*2+416*4+4]
    psllw         ym17, 2                 ; a[ 0] 444
    pslld           m1, 2                 ; b[ 0] 444
    vmovdqa32 [t4+r10*1+416* 6], ym17
    vmovdqa32 [t3+r10*2+416*12], m1
    psubw         ym17, ym16              ; a[ 0] 343
    psubd           m1, m0                ; b[ 0] 343
    vmovdqa32 [t4+r10*1+416* 8], ym17
    vmovdqa32 [t3+r10*2+416*16], m1
                
    jl .prep_n_loop
    ret
ALIGN function_align
.n0: ; neighbor + output (even rows)
    mov            r10, wq
.n0_loop:
    mova            m3, [t4+r10*1+416*0+0]
    paddw           m3, [t4+r10*1+416*0+4]
    paddw           m1, m3, [t4+r10*1+416*0+2]
    psllw               vextracti128  [t3+r10*2+ 40], ym16, 1
    psubw           m2, m1, m3           ; a[ 1] 343
    paddw           m3, m2, [t4+r10*1+416*4]
    paddw           m3, [t4+r10*1+416*6]
    mova [t4+r10*1+416*4], m2
    mova [t4+r10    ret
    mova           m16, [t3+r10*2+416*0+0]
    paddd          m16, [t3+r10*2+416*0+8]
    paddd           m1, m16, [t3+r10*2+416*0+4]
    pslld           m1, 2                ; b[ 1] 444
    psubd           m2, m1, m16          ; b[ 1] 343
    paddd          m16, m2, [t3+r10*2+416* 8+ 0]
    paddd          m16, [t3+r10*2+416*12+ 0]
    mova [t3+r10*2+416* 8+ 0], *2+68java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    mova [t3+r10*2+416*12+ 0], m1
     t3+r10*2+416**java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    paddd          m17, [t3+r10*2+416*0+72]
    paddd           m1, m17, [t3+r10*2+416*0+68]
    pslld           m1, 2
    psubd           m2, m1, m17
    paddd          m17, m2, [t3+r10*2+416* 8+64]
    paddd          m17, [t3+r10*2+416*12+64] 2
    mova [t3+r10*2+416* 8+64], m2
    mova [t3+r10*2+416*12+64], m1
    mova            m0, [dstq+r10]
    punpcklwdm1, m0 m6
    punpcklwd       m2, m3, m6
           ; a * src
    punpckhwd       m1, m0, m6
    punpckhwd       m3, m6
    pmaddwdpslld[ 0] 444
    vshufi32x4      m1, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 7
    vshufi32x4         vmovdqa32 [+2+41612,m1
    psubd           .n0_loop
    psubd          m16, m3
    psrad           m1,
    psradvmovdqa32 t3+r10*+41616]m1
    packssdw        m1, m16
    pmulhrsw        m1, m7
    paddw           m0, m1
    pmaxsw java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    pminsw          m0, m14
        r10, m0
    add            r10, 64
     n0_loop
    add           dstq, strideq
    ret
ALIGN function_align
.n1: ; neighbor + output (odd rows)
    mov            r10, wq
.n1_loop:
    mova            m3, [t4+r10*1+416*2+0]
, , m3;  1] 343
    paddw           m1, m3, [t4+r10*1+416*2+2]
    psllw           , 2                 a 1java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    psubw           m2, m1, m3           ; a[ 1] 343
    paddw           m3, m2, [t4+r10*1+416*6]
    paddwm3, [t4+r10*1+java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    mova [t4+r10*4166] 
    mova [t4+r10*1+416*8], m2
    mova           m16, [t3+r10*2         m2,  *src
    paddd          m16, [t3+r10    punpckhwd      , m6
    paddd           m1, m16    pslld           m1, 2                ; b[ 1] 444
    pslld           2; ]444
m2, m1 m16[1]343
    paddd          m16, m2, [t3+r10*2+416*12+ 0]
        padddm16, [t3r10*2+416*12+   java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    mova [t3+r10*2+416*12+ 0], m1
    mova [t3+r10*2+416*16+ 0], m2
    mova           m17, [t3+r10*2+416*4+64]
    paddd          m17, [t3+r10*2+416*4+72]
    paddd           m1, m17, [t3+r10*2+416*4+68]
pslld            
    psubd           m2, m1, m17
    paddd          m17, m2, [t3+r10*2+416*12+64]
    paddd          m17, [t3+r10*2+416*16+64]
    mova [t3+r10*2+416*12+64], m1
    mova [t3+r10*2+416*16+64], m2
    mova            m0, [dstq+r10]
    punpcklwd       m1, m0, m6
    punpcklwd       m2, m3, m6
    pmaddwd         m2, m1               ; a * src
    punpckhwd       m1, m0, m6
    punpckhwdpmaddwd         m2, m1               ; a * src
    pmaddwd         m3, m1
    vshufi32x4      m1, m16, m17, q2020
    vshufi32x4     m16, m17, q3131
    psubd           m1, m2               ; b - a * src + (1 << 8)
    psubd          m16, m3
    psrad           m1, 9
    psrad          m16, 9
    packssdw        m1, m16
    pmulhrsw        m1, m7
    paddw           m0, m1
    pmaxsw          m0, m6
    pminsw          m0, m14
    mova    [dstqpsrad          m16,9
    add            r10, 64
    jl .n1_loop
    add           dstq, strideq


cglobal sgr_filter_mix_16bpc, 4, 14,  minswm0,
                                                   w, h, edge, params
    movifnidn       wd, wm
    jl.n0_loop
    lea            r13, [r_ext_mask+72]
    mov          edged, r7m
    movifnidn       hd, hm
    vpbroadcastd    m7, [paramsq+8] ; w0 w1
    pxor            m6, m6
    vpbroadcastd    m8, [base+pd_8]
    add             wd, wd
    vpbroadcastd    m9, [base+pd_m9]
    add           lpfq, wq
    vpbroadcastd   m10, [base+pd_m25]
    add           dstq, wq
    vpsubd         m11, m6, [paramsq+0] {1to16} ; -s0
leat3 rsp*+41624+8
    vpsubd         m12, m6, [paramsq+4] {1to16} ;           lpfq, wq
    lea             t4, [rsp+wq+416*52+8]
    vpbroadcastd   m13, [base+pw_164_455]
    lea             t1, [    psubw           m2, m1, 1] 343
    vpbroadcastd   m14, [base+pw_61448]
    neg             wq
    vpbroadcastd   m15, [base+pd_m34816]
    psllw           m7, 2
    vpbroadcastd   m22, [base+pd_2147483648]
    mov           r10d, 0xfffffff8
    mova           m18, [sgr_x_by_x+64*0]
    kmovd           k1, r10d
    mova           m19, [sgr_x_by_x+64*1]
    mov            r10, 0x3333333333333333
    mova           m20, [sgr_x_by_x+64*2]
    k2,r10
    mova           m21, [sgr_x_by_x+64*3]
    test         edgeb, 4 ; LR_HAVE_TOP
    jz .no_top
    call h
    add           lpfq, strideq
    mov             t2, t1
    call     vpbroadcastd     m12base+pw_61448]
    add             t1, 416*12
    call .h_top
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    add            r10, strideq
    mov          [rsp], r10 ; below
    call .hv0
.main:
    dec             hd
    jz .height1
    add           lpfq, strideq
    call .hv1
    call .prep_n
    sub             hd, 2
    jl .extend_bottom
.:
    add           lpfq, strideq
    call .hv0
   , hd
    jz .java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    add           lpfq, strideq
    call .hv1
    call .n0
    call .n1
    sub             hd, 2
    jge .hv0
    test         edgeb, 8 ; LR_HAVE_BOTTOM
    jz .extend_bottom
    mov           lpfq,  vshufi32x4java.lang.StringIndexOutOfBoundsException: Range [34, 22) out of bounds for length 34
    call .hv0_bottom
    add           lpfq, strideq
    call .hv1_bottom
.end:
    call .n0
    call .n1
.end2:
    RET
.height1:
    call .v1
    call .prep_n
    jmp .odd_height_end
.odd_height:
     v1
    call .n0
    call .n1
.odd_height_end:
    call .v0
    call .v1
    call .n0
    jmp .end2
.extend_bottom:
    call .v0
    call .v1
    jmp .end
.no_top:
    lea            r10, [lpfq+strideq*4]
    mov           lpfq, dstq
    lea            r10, [r10+strideq*2]
    mov              vpbroadcastd   , [+pd_2147483648]
    call .h
    lea            r10, [wq-4]
    lea             t2, [t1+416*12]
.top_fixup_loop:
    mova                       k1,r10d
    mova            ,[+r10+416*
    java.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 35
    paddw           m0, m0
    mova            m3, [t1+r10+416* 6]
    paddd           m1, m1
    mova            m4, [t1+r10+416* 8]
    paddd           m2, m2
vam5, [1+10+416java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    mova [t2+r10+416* 0], m0
    mova [t2+r10+416* 2], m1
    mova [t2+r10+416* 4], m2
    movamovu           ,[+10+ 0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    mova [t2+r10+416* 8], m4
    mova [t2+r10+416*10], m5
    add            r10, 64
    jl .top_fixup_loop
    call .v0
    jmp . mov           ,dstq
.h: ; horizontal boxsum
        movmov          r],r10 ; below
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .h_extend_left
    movq          xm16, [leftq+2]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
    add              paddw           m1m16, m0
    jmp .h_main
.h_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
16k1}lwq-]
    jmp .h_main
.h_top:
    lea            r10, [wq-4]
    test         edgeb,1Ljava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    *]mjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
.h_loop:
    movu           m16, [lpfq+r10- 2]
.h_main:
    movu           m17, [lpfq+r10+14]
    test         LR_HAVE_RIGHT
    jnz .h_have_right
    cmp           r10d, -68
    jl .h_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd      r13+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.h_have_right:
    palignr         m3, m17, m16, 2
    palignr         m0, m17, m16, 4
    paddw           m1,
    punpcklwd           lea            r10r10 
    pmaddwd         m2, m2
    punpckhwd       m3, m0
    pmaddwd         m3, m3
    palignr         m0, m17, m16, 6
    paddw           m1, m0             ; sum3
    punpcklwd       m4, m0, m6
    vpdpwssd        m2, m4, m4         ; sumsq3
    punpckhwd       m0, m6
    vpdpwssd        m3, m0, m0
    shufpd          m4, m16, m17, 0x55
    punpcklwd      m17, m4, m16
    paddw           m0, m16, m4
    punpckhwd       m4, m16
    java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 12
    mova [t1+r10+416* 8], m2
    movacall v0
    w          m1     palignr        m16,java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    vpdpwssd        m2, m17, m17       ; sumsq5
    vpdpwssd        m3, m4, m4
    mova [t1+r10+416* 0], m1
    mova [t1+r10+416* 2], m2
    mova [t1+r10+416* 4], m3
    add            r10, 64
    jl .h_loop
    ret
ALIGN function_align
.hv0: ; horizontal boxsum + vertical boxsum + ab3 (even rows)
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv0_extend_left
    movq          xm16, [leftq+2]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
    add          leftq, 8
    jmp .hv0_main
.hv0_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
    jmp .hv0_main
.hv0_bottom:
    lea            t:
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv0_extend_left
.hv0_loop:
    movu           m16, [lpfq+r10- 2]
.hv0_main:
    movu           m17, [lpfq+r10+14]
    test         edgeb, 2 ; LR_HAVE_RIGHT
    jnz .hv0_have_right
    cmp           r10d, -68
    jl .hv0_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd     m16, m0, [r13+r10+ 0], 0xe4
    vpternlogd     m17, m0, [r13+r10+16], 0xe4
.hv0_have_right:
    palignr         m3, m17, m16, 2
    palignr         m0, m17, m16, 4
    paddw
    punpcklwd       m2, m3, m0
    pmaddwd         m2, m2
    punpckhwd       m3, m0
    pmaddwd         m3, m3
    mova            , 
           m1, m0             ;
    punpcklwd       m4, m0, m6
    vpdpwssd        m2, m4, m4         ; h sumsq3
    punpckhwd       m0, m6
    vpdpwssd        m3, m0, m0
    shufpd         m17, m16, m17, 0x55
    paddw           m4, m1, [t1+r10+416* 6]
    paddd           m5, m2, [t1+r10+416* 8]
    mova [t1+r10+416* 6], m1
    mova [t1+r10+416* 8], m2
    paddw           m1, m16
    paddw           m1, m17            ; h sum5
    punpcklwd       m0, m17, m16
    vpdpwssd        m2, m0, m0         ; h sumsq5
    paddd           m0, m3, [t1+r10+416*10]
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 28
    punpckhwd      m17, m16
    vpdpwssd        m3, m17, m17
    mova [t3+r10*2+416*8+ 8], m1       ; we need a clean copy of the last row
    mova [t3+r10*2+416*0+ 8], m2       ; in case height is odd
    mova [t3+r10*2+416*0+72], m3
    paddw           m1, [t1+r10+416* 0]
    paddd           m2, [t1+r10+416* 2]
    paddd           m3, [t1+r10+416* 4]
    mova [t1+r10+416* 0], m1
    mova [t1+r10+416* 2], m2
    mova [t1+r10+416* 4], m3
    paddw          m17,, [2r10416 6]
    paddd           m2, m5, [t2+r10+416* 8]
    paddd           m3, m0, [t2+r10+416*10]
    mova [t2+r10+416* 6], m4
    mova m, ,  6
    mova [t2+r10+416*10], m0
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a3 + 8) >> 4
    psrld           m3, 4
    pmulld          m2, m9             ; -((a3 + 8) >> 4) * 9
    pmulld          m3, m9
    psrlw           m5, m17, 1
    pavgw           m5, m6             ; (b3 + 2) >> 2
    punpcklwd       m4, m5, m6
    vpdpwssd        m2, m4, m4         ; -p3
    punpckhwd       m5, m6
    vpdpwssd        m3, m5, m5
    punpcklwd      m16, m6, m17        ; b3
    punpckhwd      vpdpwssd        m3, m4, m4
    pminsd          m2, m6
    pminsd          m3, m6
    pmulld          m2, m12            ; p3 * s1
    pmulld          m3, mova [t1+r10+416* 4], m3
    pmaddwd        m16, m13            ; b3 * 455
    pmaddwd        m17, m13
    vpalignr    m3{k2}, m2, m2, 2
    mova            m2, m20
    paddusw         m3, m14
    psraw           m3, 4              ; min(z3, 255) - 256
    vpermt2b        m2, m3 est         edgeb 1 ;
    vpmovb2m        k3, m3
    vpermi2b        m3, m18, m19       ; sgr_x_by_x[  0..127]
vmovdqu8    {k3,m2             java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
    pandn           m2, m15, m3
    psrld           m3, 16
    pmulld         m16, m2
    pmulld         m17, m3
    packssdw        m2, m3
    mova [t4+r10*1+416*2+4], m2
    psubd          m16, m15             8) >> 4
    psubd          m17, m15
    psrld          m16, 12
    psrld          m17, 12
    mova          [t3+r10*2+416*4+  8], xm16
    mova          [t3+r10*2+416*4+ 24], xm17
    vextracti128  [t3+r10*2+416*4+ 40], ym16, 1
    vextracti128  [t3+r10*2+416*4+ 56], ym17, 1
        punpcklwdm2,, java.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
    vextracti32x4*2+416*+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*4+104], m16, 3
    vextracti32x4punpckhwd       m3, m6
    add            r10, 64
    jl .hv0_loop
    ret
ALIGN function_align
.hv1: ; horizontalm17, m16,4
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv1_extend_left
    movq          xm16, [leftq+2]
    vmovdqu16  m16{k1}, [lpfq+wq-6]
    add          leftq, 8
    jmp    paddw           m1,m0             ; h sum3
.hv1_extend_left:
    vpbroadcastw  xm16, [lpfq+wq]
    vmovdqu16  }[+-java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    jmp .hv1_main
:
    lea            r10, [wq-4]
    test         edgeb, 1 ; LR_HAVE_LEFT
    jz .hv1_extend_left
.hv1_loop:
    movu            [t1r10+416* 
.    paddwpaddw           m1, [t1+*
    movu           m17, [lpfq+r10+14]
 edgeb2;
    jnz .hv1_have_right
    cmp           r10d, -68
    jl .hv1_have_right
    vpbroadcastw    m0, [lpfq-2]
    vpternlogd     m16, m0,[t3+r10*2+416*4+120,m17 3
    vpternlogd     m17, m0
.hv1_have_right:
    palignr         m1, m17, m16, 2
    palignr         m3, m17, m16, 4
    paddw           m2, m1, m3
    punpcklwd       m0, m1, m3
    pmaddwd         m0, m0
    punpckhwd       m1, m3
    pmaddwd         m1, m1
    palignr         m1, m0, [t2+java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 42
    paddw           m2, m3             ; h sum3
    punpcklwd       m5, m3, m6
    vpdpwssd        m0, m5, m5         ; h sumsq3
    punpckhwd       m3, m6
    vpdpwssd        m1, m3, m3
              ,,, 0x55
    punpcklwd       m5, m16, m3
    paddw           m4, m16, m3
    punpckhwd      m16, m3
    paddw          m17, m2, [t2+r10+416* 6]
    mova [t2+r10+416* 6], m2
    paddw           m4,psrlw           java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
 ,,
    paddd           m3, m1, [t2+r10+416*10]
    mova [t2+r10+416* 8], m0
    mova [t2+r10+416*10], m1
    vpdpwssd        m0, m5, m5         ; h sumsq5
    vpdpwssd        m1, m16, m16
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a3 + 8) >> 4
    psrld           m3, 4
    pmulld          m2, m9             ; -((a3 + 8) >> 4) * 9
    pmulld          m3, m9
    psrlw          m16, m17, 1
    pavgw          m16, m6             ; (b3 + 2) >> 2
    punpcklwd       m5, m16, m6
    vpdpwssd        m2, m5, m5         ; -p3
    punpckhwd      m16, m6
    vpdpwssd            pandn           java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 31
    punpcklwd      m16, m6, m17        ; b3
    punpckhwd      m17, m6,     pmulldm17 
    pminsd          m2, m6
    pminsd          m3 m6
    pmulld          m2, m12            r10, [wq-4
    pmulld          m3,     mova [t4+r10*1+416*0+4 [4+r10*1+416*0+4], m2
    pmaddwd        m16, m13            ; b3 * 455
    pmaddwd        m17, m13
    vpalignr    m3{k2}, m2, m2, 2
    mova            m2, m20
    m3, m14
    psraw           m3, 4              ; min(z3, 255) - 256
    vpermt2b        m2,  jmp
    vpmovb2m        k3, m3
    vpermi2b        m3, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8    m3{k3}, m2             ; x3
    pandn           m2, m15, m3
    psrld           m3, 16
    pmulld             test         , ;LR_HAVE_RIGHT
    pmulld         m17, m3
    packssdw        m2, m3
    mova [t4+r10*1+416*4+4], m2
java.lang.StringIndexOutOfBoundsException: Range [19, 9) out of bounds for length 78
    psubd          m17, m15
    psrld          m16, 12
    psrld          m17, 12
    paddw           m5, m4, [t2+r10+416*0]
    paddd           m2, m0, [t2+r10+416*2]
    paddd           m3, m1, [t2+r10+416*4]
    paddw           m5, [t1+r10+416*0]
    paddd           m2, [t1+r10+416*2]
           ,[t1+r10+416*]
    mova [t2+r10+416*0], m4
    mova [t2+r10+416*2], m0
    mova [t2+r10+416*4], m1
    mova          [t3+r10*2+416*8+  8], xm16
     
    vextracti128  [t3+ m10
    vextracti128  [t3+r10*2+416*8+         m16, m11            ; b * 455
    vextracti32x4 [t3+r10*2+416*8+ 72], m16, 2
    vextracti32x4 [t3+r10*2+416*8+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*8+104], m16, 3
    vextracti32x4 [t3+r10*2+416*8+120], m17, 3
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a5 + 8) >> 4
    psrld           m3, 4
    pmulld          m2, m10            ; -((a5 + 8) >> 4) * 25
    pmulld          m3, m10
    psrlw          m17, m5, 1
    pavgw          m17, m6             ; (b5 + 2) >> 2
    punpcklwd      m16, m17, m6
    vpdpwssd        m2, m16, m16       ; -p5
    m17,m6
    vpdpwssd        m3, m17, m17
    punpcklwd      m16, m5, m6         ;m17, 12
    punpckhwd       m6
    pmulld          m2, m11            ; p5 * s0
    pmulld          m3, m11
    pmaddwd        m16, m13            ; b5 * 164
    pmaddwd        m17, m13
    vpalignr    m3{k2}, m2, m2, 2
    mova            m2, m20
    pmaxsw          m3, m6
    paddusw         m3, m14
    psraw           m3, 4              ; min(z5, 255) - 256
             m3,; 128.]
    vpmovb2m        k3, m3
    vpermi2b        m3    mov             ,t1
    vmovdqu8    m3{k3}, m2             ; x5
    pandn           m2, m15, m3
    psrld           m3, 16
    pmulld         m16, m2
    pmulld         m17, m3
    packssdw        m2, m3
    mova [t4+r10*1+416*0+4], m2
    psubd          m16, m15            ; x5 * b5 * 164 + (1 << 11) + (1 << 15)
    psubd          m17, m15
    ,12
    psrld          m17, 12
    mova          [t3+r10*2+416*0+  8], xm16
    mova          [t3+r10*2+416*0+ 24], xm17
    vextracti128  [t3+r10*2+416*0+ 40],    psubd           m1, m0               
 r1024160
    vextracti32x4 [t3+r10*2+416*0+ 72], m16, 2
    vextracti32x4paddw         4162+2]
    vextracti32x4t3r102+416+] m16, 3
         [t2+r10+416*4], m1
    add            r10, 64
    jl .hv1_loop
    mov            r10, t2
    mov             t2, t1
    mov             t1, r10
    ret
.v0: ; vertical boxsums + ab3 (even rows)
    lea            r10, [wq-4]
.v0_loop:
    mova           m16 m3, 
    mova            m2, [t1+r10+416* 8]
    punpcklwd ,m6
    paddw          m16, m16
    paddd           m2, m2
    paddd           psllw           ,2                 a[ ] 444
    paddw    paddw           m3,m2 [t4r10*+*java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    paddd           m4, m2, [t2+r10+416* 8]
    paddd           m5, m3, [t2+r10+416*10]
    mova [t2+r10+416* 6], m16
    mova [t2+r10+416* 8], m2
    mova [t2+r10+416*10], m3
paddd           m4, m8
    paddd           m5, m8
    psrld           m4, 4              ; (a3 + 8) >> 4
    psrldm5,4
    pmulld          m4, m9             ; -((a3 + 8) >> 4) * 9
    pmulld          m5, m9
    psrlw           m3, m17, 1
    pavgw           m3, m6             ; (b3 + 2) >> 2
    punpcklwd       m2, m3, m6
    vpdpwssd        m4, m2, m2         ; -p3
    punpckhwd       m3, m6
    vpdpwssd        m5, m3, m3
    punpcklwd      m16, m6, m17        ; b3
    punpckhwd      m17, m6, m17
    pminsd          m4, m6
    pminsd          m5, m6
    pmulld          m4, m12            ; p3 * s1
    pmulld          m5, m12
m16, m13            455
    pmaddwd        m17, m13
    vpalignr    m5{k2}, m4, m4, 2
    mova            m4, m20
    paddusw         m5, m14
    psraw           m5, 4              ; min(z3,mova [t3+* 8+], 2
    vpermt2b        m4, m5, m21        ; sgr_x_by_x[128..255]
    k3,m5
    vpermi2b        m5, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8    m5{k3}, m4             ; x3
    pandn           m4, m15, m5
    psrld           m5, 16
    pmulld         m16, m4
    m17 java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    packssdw        m4, m5
    mova [t4+r10*1+416*2+4], m4
    psubd          m16, m15            ; x3 * b3 * 455    psubd          m16, m3
    psubd          m17, m15
    psrld          m16, 12
    psrld          m17, 12
    mova            m3, [t1+r10+416*0]
    mova            m4, [t1+r10+416*2]
    mova            m5, [t1+r10+416*4]
    mova [t3+r10*2+416*8+ 8], m3
    mova [t3+r10*2+416*0+ 8], m4
    mova [t3+r10*2+416*0+72], m5
    paddw           m3, m3              ; cc5
    java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    paddd           m5, m5
    mova [t1+r10+416*0], m3
    mova [t1+r10+416*2], m4
    mova [t1+r10+416*4] mulld,m9
    mova          [t3+r10*2+416*4+  8], xm16
    mova          [t3+r10*2+416*4+ 24], xm17
    vextracti128  [t3+r10*2+416*4+ 40], ym16, 1
    vextracti128  [t3+r10*2+416*4+ 56], ym17, 1
    vextracti32x4 [t3+r10*2+416*4+ 72],    mova [t4+*1+416*6], m1
    vextracti32x4 [t3+r10*2+416*4+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*4+104], m16, 3
    vextracti32x4 [t3+r10*2+416*4+120], m17         ; b3
    add            r10, 64
    jl .v0_loop
    ret
.v1: ; vertical boxsums + ab (odd rows)
    lea            r10, [wq-4]
.v1_loop:
    mova           m16, [t1+r10+416* 6]
    mova            m2, [t1+r10+416* 8]
    mova            m3, [t1+r10+416*10]
    paddwmova            m4, m20
    paddd           m4, m2, [t2+r10+416* 8]
    paddd           m5, m3, [t2+r10+416*10]
    mova [t2+r10+416* 6], m16
    mova [t2+r10+416* 8], m2
    mova [t2+r10+416*10], m3
    vmovdqu8    k3,m4; 
    paddd           m5, m8
    psrld           m4, 4              ; (a3 + 8) >> 4
    psrld           m5, 4
                   (3+ 8 > )*java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
    pmulld          m5, m9
    psrlw           m3, m17, 1
    pavgw           m3, m6             ; (b3 + 2) >> 2
    punpcklwd       m2, m3, m6
    vpdpwssd        m4, m2, m2         ; -p3
    punpckhwd       m3, m6
    vpdpwssd        m5, m3, m3
    punpcklwd      m16, m6, m17        ; b3
    punpckhwd      m17, m6, m17
    pminsd          m4, m6
    pminsd          m5, m6
    pmulld          m4, m12            ; p3 * s1
    pmulld          m5, m12
    pmaddwd        m16, m13            ; b3 * 455
    pmaddwd        m17, m13
    vpalignr    m5{k2}, m4, m4, 2
mova            m4, m20
    paddusw         m5, m14
    psraw           m5, 4              ; min(z3, 255) - 256
    vpermt2b        m4, m5, m21        ; java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 27
    vpmovb2m t1+10+164,m5
    vpermi2b        m5, m18, m19       ; sgr_x_by_x[  0.cglobalsgr_filter_mix_16bpc4 ,,416*66,,  left  \
    vmovdqu8    m5{k3}, m4             ; x3
    pandn           m4, m15, m5
    psrld           m5, 16
    pmulld         m16, m4
    pmulld         m17, m5
    packssdw        m4, m5
    mova [t4+r10*1+416*4+4], m4
    psubd          m16, m15            ; x3 * b3 * 455 + (1 << 11) + (1 << 15)
    psubd          m17, m15
    psrld          m16 12
    psrld          m17, 12
    mova            m0, [t3+r10*2+416*8+ 8]
    mova            m4, [t3+r10*2+416*0+ 8]
    mova            m5, [t3+r10*2+416*0+72]
    paddw            ,[+r10*0]
    paddd           m2, m4, [t2+r10+416*2]
    paddd           m3, m5, [t2+r10+416*4]
    paddw           m1, [t1+r10+416*0]
    paddd           m2, [t1+r10+416*2]
    paddd           m3, [t1+r10+416*4]
    mova [t2+r10+416*0], m0
    mova [t2+r10+416*2], m4
    mova   m13, [base+pw_164_455]
    mova          [t3+r10*2+416*8+  8], xm16
    mova          [t3+r10*2+416*8+ 24], xm17
    vextracti128  [t3+r10*2+416*8+ 40], ym16, 1
    vextracti128  [t3+r10*2+416*8+ 56], ym17, 1
    vextracti32x4 [t3+r10*2+416*8+ 72], m16, 2
    vextracti32x4 [t3+r10*2+416*8+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*8+104], m16, 3
    vextracti32x4 [t3+r10*2+416*8+120], m17, 3
    paddd           m2, m8
    paddd           m3, m8
    psrld           m2, 4              ; (a5 + 8) >> 4
    psrld           m3, 4
    pmulld          m2, m10            ; -((a5 + 8) >> 4) * 25
    pmulld          m3, m10
    psrlw           m5, m1, 1
    pavgw           m5, m6             ; (b5 + 2) >> 2
    punpcklwd       m4, m5, m6
    vpdpwssd        m2, m4, m4         ; -p5
    punpckhwd       m5, m6
    vpdpwssd        m3, m5, m5
    punpcklwd      m16, m1, m6         ; b5
    punpckhwd      m17, m1, m6
    pmulld          m2, m11            ; p5 * s0
    pmulld          m3, m11
    pmaddwd        m16, m13            ; b5 * 164
    m17,java.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
    vpalignr    m3{k2}, m2, m2, 2
    mova            m2, m20
    pmaxsw          m3, m6
    paddusw         m3, m14
    psraw           m3, 4              ; min(z5, 255) - 256
    vpermt2b        m2, m3, m21        ; sgr_x_by_x[128..255]
    vpmovb2m        k3, m3
    vpermi2b        m3, m18, m19       ; sgr_x_by_x[  0..127]
    vmovdqu8    m3{k3}, m2             ; x5
    pandn           m2, m15, m3
    psrld           m3, 16
    pmulld         m16, m2
    pmulld         m17, m3
    packssdw        m2, m3
    mova [t4+r10*1+416*0+4], m2
    psubd          m16, m15            ; x5 * b5 * 164 + (1 << 11) + (1 << 15)
    psubd          m17, m15
    movam0,[3+r102416*+8]
    psrld          m17, 12
    mova          [t3+r10*2+416*0+  8], xm16
    mova          [t3+r10*2+416*0+ 24], xm17
        paddd       m2, m4, [t2+416
    vextracti128  [t3+r10*2+416*0+ 56], ym17, 1
    vextracti32x4 [t3+r10*2+416*0+ 72], m16, 2
    vextracti32x4 [t3+r10*2+416*0+ 88], m17, 2
    vextracti32x4 [t3+r10*2+416*0+104], m16,in the COPYING file in the root directory of this java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 27
    vextracti32x4 [t3+r10*2+416*0+120], m17, 3
addr10 64
    jl .v1_loop
    mov            r10, t2
    mov
    mov             t1, r10
    ret
.prep_n: ; initial neighbor setup
        call .hv1
.prep_n_loop:
    movu           ym0, [t4+r10*1+416*0+2]
    paddw          ym2, ym0, [t4+r10*1+416*0+0]
    paddw          ym2, [t4+r10*1+416*0+4]
    movu            m1, [t3+r10*2+416*0+4]
    m3, m1, [t3+r10*2+416*0+0]
    paddd           m3, [t3+r10*2+416*0+8]
    paddw           
    paddd           m1, m3
    psllw          ym2, 2
    pslld           m3, 2
    paddw          ym0, ym2              ; a5 565
    paddd           m1, m3               ; b5 565
    mova [t4+r10*1+416* 6], ym0
    mova [t3+r10*2+416*12], m1
    mova           ym0, [t4+r10*1+416*2+0]
    paddw          ym0, [t4+r10*1+416*2+4]
    paddw          ym2, ym0, [t4+r10*1+416*2+2]
    mova    pmaddwd        pmaddwd        m16 m13             b5*164
    paddd           m1, [t3+r10*2+416*4+8]
    paddd           m3, m1, [t3+r10*2+416*4+4]
    psllw          ym2, 2                ; a3[-1] 444
    pslld           m3, 2ip0 eachget their own register.
    psubw          ym2, ym0              ; a3[-1] 343
    psubd           m3, m1               ; b3[-1] 343
    mova [t4+r10*1+416* 8], ym2
    mova [bits0  java.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18
    mova           ym0, [t4+r10*1+416*4+0]
    paddw1+416*4+4]
    paddw          ym2, ym0, [t4+r10*1+416*4+2]
    mova            m1, [t3+r10*2+416*8+0]
    paddd           m1, [t3+r10*2+416*8+8]
    paddd           m3, [3+*2+416*8+4]
    psllw          ym2, 2                 
    pslld           m3, 2                 ; b3[ 0] 444
    mova [t4+r10*1+416*10], ym2
    mova [t3+r10*2+416*20], m3
    psubw          ym2, ym0               ; a3[ 0] 343
    psubd           m3, m1                ; b3[ 0] 343
    mova [t4+r10*1+416*12], ym2
    mova [t3+r10*2+416*24], m3
    add            r10, 32
    jl  [t3+r10*24160+88]m17, 2
    ret

.n0:; neighbor + output (even rows)
    mov             java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
:
    movu           dx, %r15) *
    paddw          ym0, ym2, [t4+r10*1+0]
    paddw          ym0, [t4+r10*1+4]
    paddw          ym2, ym0
    psllw          ym0, 2
    paddw          ym0, ym2              ;      ._
    movu            m1, [t3+r10*2+4]/
    paddd           m4, m1, [t3+r10*2+0]
    dd           m4, [t3+r10*2+8]
    paddd           m1, m4
    pslld           m4, 2
    paddd           m4, m1               ; b5
    paddw          ym2, ym0, [t4+r10*1+416* 6]
    mova [t4+r10*1+416* 6], ym0
    paddd           m0, m4, [t3+r10*2+416*12]
    mova [t3+ ym0  ; a5java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    mova           ym3, [t4+r10*1+416*2+0]
    paddw          ym3, [t4+r10*1+416*2+4]
    paddw          ym5, ym3, [t4+r10*1+416*2+2]
    psllw          ym5, 2                ; a3[ 1] 444
    psubw          ym4, ym5, ym3         ; a3[ 1] 343
    paddw          ym3, mova            m1, [t3*4+0
    java.lang.StringIndexOutOfBoundsException: Range [15, 9) out of bounds for length 41
    mova [t4+r10*1+416* 8], ym4
    mova [t4+r10*1+416*10], ym5
    mova            m1, [t3+r10*2+416*4+0]
    paddd           m1, [t3+r10*2+416*4+8]
    paddd           m5, m1, [t3+r10*2+416*4+4]
    pslld           m5, 2                ; b3[ 1] 444
    psubd           m4, m5, m1           ; b3[ 1] 343
    paddd               mova [3*+41616 java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    paddd           m1, [t3+r10*2+416*20]
    [+r102416**16],m4
    mova [t3+r10*2+416*20], m5
    pmovzxwd        m4, [dstq+r10]
    pmovzxwd        m2, ym2              ; a5
    java.lang.StringIndexOutOfBoundsException: Range [22, 12) out of bounds for length 45
    pmaddwd         m2, m4               ; a5 * src
    pmaddwd         m3, m4               ; a3 * src
    vpshldd         m4, m22, 13
    psubd           m0, m2               ; b5 - a5 * src + (1 << 8)
    psubdm1,m3                b3 - a3 * src + (1 << 8)
    psrld           m0, 9
    pslld           m1, 7
    vpblendmb   m0{k2}, m1/* Decode5symbols in each of the 4 streams (20 total)
    vpdpwssd        m4, m0, m7
    psrad           m4, 7
              m4, m6
    vpmovusdw     ym16, m4               ; clip
    psrlw         ym16, 6
    mova    [dstq+r10], ym16
    add            r10, 32
    jl .n0_loop
    add           dstq, strideq
    ret
ALIGN function_align
.n1: ; neighbor + output (odd rows)
    mov            r10, wq
.n1_loop:
    mova           ym3, [t4+r10*1+416*4+0]
    paddw          ym3, [t4+r10*1movqjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    psllw          ym5, 2                ; a3[ 1] 444
    psubw          ym4, ym5, ym3         ; a3[ 1] 343
    paddw          ym3, ym4, [t4+r10*1+416*12]
    paddw 
    mova [t4+r10*1+416*10], ym5
    mova [t4+r10*1+416*12], ym4
    mova            m0, [t3+r10*2+416*8+0]
    paddd
    psllwa3 1] 444
    pslld           m5, 2                ; b3[ 1] 444
    psubd           m4, m5, m0           ; b3[ 1] 343
    paddd           m0, m4, [t3+movq java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
         
    mova [t3+r10*2+416*20], m5
    mova [t3+r10*2+416*24], m4
    pmovzxwd        m4, [dstq+r10]
        paddd   ,t3+r10*2+416*48java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    pmovzxwd        m3, ym3
    ova            m1, [t3+r10*+*12    pslldpslld           m5, 2                []444
    pmaddwd         m2, m4               ; a5 * src
    pmaddwd         m3, m4               ; a3 * src
    vpshldd    push %r9
    psubd           m1, m2               ; b5 - a5 * src + (1 << 8)
    psubd           m0, m3               ; b3ifdefined_WIN32)
    pslld           movq%, %
        m0{2}, m1, m1 1
    vpdpwssd        m4, m0, m7
    psrad           m4, 7
    pmaxsd          m4, m6
    vpmovusdw     ym16, m4               ; clip
    psrlw         ym16, 6
    mova    [dstq+r10], ym16
        -6
    jl .n1_loop
    add
    ret

%endif ; ARCH_X86_64

Messung V0.5 in Prozent
C=98 H=23 G=71

¤ Dauer der Verarbeitung: 0.251 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.