;
; jfdctfst.asm - fast integer FDCT (64-bit SSE2)
;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright (C) 2009, D. R. Commander.
;
; Based on the x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru.
; For conditions of distribution and use, see copyright notice in jsimdext.inc
;
; This file should be assembled with NASM (Netwide Assembler),
; can *not* be assembled with Microsoft's MASM or any compatible
; assembler (including Borland's Turbo Assembler).
; NASM is available from http://nasm.sourceforge.net/ or
; http://sourceforge.net/project/showfiles.php?group_id=6208
;
; This file contains a fast, not so accurate integer implementation of
; the forward DCT (Discrete Cosine Transform). The following code is
; based directly on the IJG's original jfdctfst.c; see the jfdctfst.c
; for more details.
;
; [TAB8]

%include "jsimdext.inc"
%include "jdct.inc"

; --------------------------------------------------------------------------

%define CONST_BITS      8       ; 14 is also OK.

%if CONST_BITS == 8
F_0_382 equ      98             ; FIX(0.382683433)
F_0_541 equ     139             ; FIX(0.541196100)
F_0_707 equ     181             ; FIX(0.707106781)
F_1_306 equ     334             ; FIX(1.306562965)
%else
; NASM cannot do compile-time arithmetic on floating-point constants.
%define DESCALE(x,n)  (((x)+(1<<((n)-1)))>>(n))
F_0_382 equ     DESCALE( 410903207,30-CONST_BITS)       ; FIX(0.382683433)
F_0_541 equ     DESCALE( 581104887,30-CONST_BITS)       ; FIX(0.541196100)
F_0_707 equ     DESCALE( 759250124,30-CONST_BITS)       ; FIX(0.707106781)
F_1_306 equ     DESCALE(1402911301,30-CONST_BITS)       ; FIX(1.306562965)
%endif

; --------------------------------------------------------------------------
        SECTION SEG_CONST

; PRE_MULTIPLY_SCALE_BITS <= 2 (to avoid overflow)
; CONST_BITS + CONST_SHIFT + PRE_MULTIPLY_SCALE_BITS == 16 (for pmulhw)

%define PRE_MULTIPLY_SCALE_BITS   2
%define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)

        alignz  16
        global  EXTN(jconst_fdct_ifast_sse2)

EXTN(jconst_fdct_ifast_sse2):

PW_F0707        times 8 dw  F_0_707 << CONST_SHIFT
PW_F0382        times 8 dw  F_0_382 << CONST_SHIFT
PW_F0541        times 8 dw  F_0_541 << CONST_SHIFT
PW_F1306        times 8 dw  F_1_306 << CONST_SHIFT

        alignz  16

; --------------------------------------------------------------------------
        SECTION SEG_TEXT
        BITS    64
;
; Perform the forward DCT on one block of samples.
;
; GLOBAL(void)
; jsimd_fdct_ifast_sse2 (DCTELEM *data)
;

; r10 = DCTELEM *data

%define wk(i)           rbp-(WK_NUM-(i))*SIZEOF_XMMWORD ; xmmword wk[WK_NUM]
%define WK_NUM          2

        align   16
        global  EXTN(jsimd_fdct_ifast_sse2)

EXTN(jsimd_fdct_ifast_sse2):
        push    rbp
        mov     rax,rsp                         ; rax = original rbp
        sub     rsp, byte 4
        and     rsp, byte (-SIZEOF_XMMWORD)     ; align to 128 bits
        mov     [rsp],rax
        mov     rbp,rsp                         ; rbp = aligned rbp
        lea     rsp, [wk(0)]
        collect_args

        ; ---- Pass 1: process rows.

        mov     rdx, r10        ; (DCTELEM *)

        movdqa  xmm0, XMMWORD [XMMBLOCK(0,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm1, XMMWORD [XMMBLOCK(1,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm2, XMMWORD [XMMBLOCK(2,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm3, XMMWORD [XMMBLOCK(3,0,rdx,SIZEOF_DCTELEM)]

        ; xmm0=(00 01 02 03 04 05 06 07), xmm2=(20 21 22 23 24 25 26 27)
        ; xmm1=(10 11 12 13 14 15 16 17), xmm3=(30 31 32 33 34 35 36 37)

        movdqa    xmm4,xmm0             ; transpose coefficients(phase 1)
        punpcklwd xmm0,xmm1             ; xmm0=(00 10 01 11 02 12 03 13)
        punpckhwd xmm4,xmm1             ; xmm4=(04 14 05 15 06 16 07 17)
        movdqa    xmm5,xmm2             ; transpose coefficients(phase 1)
        punpcklwd xmm2,xmm3             ; xmm2=(20 30 21 31 22 32 23 33)
        punpckhwd xmm5,xmm3             ; xmm5=(24 34 25 35 26 36 27 37)

        movdqa  xmm6, XMMWORD [XMMBLOCK(4,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm7, XMMWORD [XMMBLOCK(5,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm1, XMMWORD [XMMBLOCK(6,0,rdx,SIZEOF_DCTELEM)]
        movdqa  xmm3, XMMWORD [XMMBLOCK(7,0,rdx,SIZEOF_DCTELEM)]

        ; xmm6=( 4 12 20 28 36 44 52 60), xmm1=( 6 14 22 30 38 46 54 62)
        ; xmm7=( 5 13 21 29 37 45 53 61), xmm3=( 7 15 23 31 39 47 55 63)

        movdqa  XMMWORD [wk(0)], xmm2   ; wk(0)=(20 30 21 31 22 32 23 33)
        movdqa  XMMWORD [wk(1)], xmm5   ; wk(1)=(24 34 25 35 26 36 27 37)

        movdqa    xmm2,xmm6             ; transpose coefficients(phase 1)
        punpcklwd xmm6,xmm7             ; xmm6=(40 50 41 51 42 52 43 53)
        punpckhwd xmm2,xmm7             ; xmm2=(44 54 45 55 46 56 47 57)
        movdqa    xmm5,xmm1             ; transpose coefficients(phase 1)
        punpcklwd xmm1,xmm3             ; xmm1=(60 70 61 71 62 72 63 73)
        punpckhwd xmm5,xmm3             ; xmm5=(64 74 65 75 66 76 67 77)

        movdqa    xmm7,xmm6             ; transpose coefficients(phase 2)
        punpckldq xmm6,xmm1             ; xmm6=(40 50 60 70 41 51 61 71)
        punpckhdq xmm7,xmm1             ; xmm7=(42 52 62 72 43 53 63 73)
        movdqa    xmm3,xmm2             ; transpose coefficients(phase 2)
        punpckldq xmm2,xmm5             ; xmm2=(44 54 64 74 45 55 65 75)
        punpckhdq xmm3,xmm5             ; xmm3=(46 56 66 76 47 57 67 77)

        movdqa  xmm1, XMMWORD [wk(0)]   ; xmm1=(20 30 21 31 22 32 23 33)
        movdqa  xmm5, XMMWORD [wk(1)]   ; xmm5=(24 34 25 35 26 36 27 37)
        movdqa  XMMWORD [wk(0)], xmm7   ; wk(0)=(42 52 62 72 43 53 63 73)
        movdqa  XMMWORD [wk(1)], xmm2   ; wk(1)=(44 54 64 74 45 55 65 75)

        movdqa    xmm7,xmm0             ; transpose coefficients(phase 2)
        punpckldq xmm0,xmm1             ; xmm0=(00 10 20 30 01 11 21 31)
        punpckhdq xmm7,xmm1             ; xmm7=(02 12 22 32 03 13 23 33)
        movdqa    xmm2,xmm4             ; transpose coefficients(phase 2)
        punpckldq xmm4,xmm5             ; xmm4=(04 14 24 34 05 15 25 35)
        punpckhdq xmm2,xmm5             ; xmm2=(06 16 26 36 07 17 27 37)

        movdqa     xmm1,xmm0            ; transpose coefficients(phase 3)
        punpcklqdq xmm0,xmm6            ; xmm0=(00 10 20 30 40 50 60 70)=data0
        punpckhqdq xmm1,xmm6            ; xmm1=(01 11 21 31 41 51 61 71)=data1
        movdqa     xmm5,xmm2            ; transpose coefficients(phase 3)
        punpcklqdq xmm2,xmm3            ; xmm2=(06 16 26 36 46 56 66 76)=data6
        punpckhqdq xmm5,xmm3            ; xmm5=(07 17 27 37 47 57 67 77)=data7

        movdqa  xmm6,xmm1
        movdqa  xmm3,xmm0
        psubw   xmm1,xmm2               ; xmm1=data1-data6=tmp6
        psubw   xmm0,xmm5               ; xmm0=data0-data7=tmp7
        paddw   xmm6,xmm2               ; xmm6=data1+data6=tmp1
        paddw   xmm3,xmm5               ; xmm3=data0+data7=tmp0

        movdqa  xmm2, XMMWORD [wk(0)]   ; xmm2=(42 52 62 72 43 53 63 73)
        movdqa  xmm5, XMMWORD [wk(1)]   ; xmm5=(44 54 64 74 45 55 65 75)
        movdqa  XMMWORD [wk(0)], xmm1   ; wk(0)=tmp6
        movdqa  XMMWORD [wk(1)], xmm0   ; wk(1)=tmp7

        movdqa     xmm1,xmm7            ; transpose coefficients(phase 3)
        punpcklqdq xmm7,xmm2            ; xmm7=(02 12 22 32 42 52 62 72)=data2
        punpckhqdq xmm1,xmm2            ; xmm1=(03 13 23 33 43 53 63 73)=data3
        movdqa     xmm0,xmm4            ; transpose coefficients(phase 3)
        punpcklqdq xmm4,xmm5            ; xmm4=(04 14 24 34 44 54 64 74)=data4
        punpckhqdq xmm0,xmm5            ; xmm0=(05 15 25 35 45 55 65 75)=data5

        movdqa  xmm2,xmm1
        movdqa  xmm5,xmm7
        paddw   xmm1,xmm4               ; xmm1=data3+data4=tmp3
        paddw   xmm7,xmm0               ; xmm7=data2+data5=tmp2
        psubw   xmm2,xmm4               ; xmm2=data3-data4=tmp4
        psubw   xmm5,xmm0               ; xmm5=data2-data5=tmp5

        ; -- Even part

        movdqa  xmm4,xmm3
        movdqa  xmm0,xmm6
        psubw   xmm3,xmm1               ; xmm3=tmp13
        psubw   xmm6,xmm7               ; xmm6=tmp12
        paddw   xmm4,xmm1               ; xmm4=tmp10
        paddw   xmm0,xmm7               ; xmm0=tmp11

        paddw   xmm6,xmm3
        psllw   xmm6,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm6,[rel PW_F0707] ; xmm6=z1

        movdqa  xmm1,xmm4
        movdqa  xmm7,xmm3
        psubw   xmm4,xmm0               ; xmm4=data4
        psubw   xmm3,xmm6               ; xmm3=data6
        paddw   xmm1,xmm0               ; xmm1=data0
        paddw   xmm7,xmm6               ; xmm7=data2

        movdqa  xmm0, XMMWORD [wk(0)]   ; xmm0=tmp6
        movdqa  xmm6, XMMWORD [wk(1)]   ; xmm6=tmp7
        movdqa  XMMWORD [wk(0)], xmm4   ; wk(0)=data4
        movdqa  XMMWORD [wk(1)], xmm3   ; wk(1)=data6

        ; -- Odd part

        paddw   xmm2,xmm5               ; xmm2=tmp10
        paddw   xmm5,xmm0               ; xmm5=tmp11
        paddw   xmm0,xmm6               ; xmm0=tmp12, xmm6=tmp7

        psllw   xmm2,PRE_MULTIPLY_SCALE_BITS
        psllw   xmm0,PRE_MULTIPLY_SCALE_BITS

        psllw   xmm5,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm5,[rel PW_F0707] ; xmm5=z3

        movdqa  xmm4,xmm2               ; xmm4=tmp10
        psubw   xmm2,xmm0
        pmulhw  xmm2,[rel PW_F0382] ; xmm2=z5
        pmulhw  xmm4,[rel PW_F0541] ; xmm4=MULTIPLY(tmp10,FIX_0_541196)
        pmulhw  xmm0,[rel PW_F1306] ; xmm0=MULTIPLY(tmp12,FIX_1_306562)
        paddw   xmm4,xmm2               ; xmm4=z2
        paddw   xmm0,xmm2               ; xmm0=z4

        movdqa  xmm3,xmm6
        psubw   xmm6,xmm5               ; xmm6=z13
        paddw   xmm3,xmm5               ; xmm3=z11

        movdqa  xmm2,xmm6
        movdqa  xmm5,xmm3
        psubw   xmm6,xmm4               ; xmm6=data3
        psubw   xmm3,xmm0               ; xmm3=data7
        paddw   xmm2,xmm4               ; xmm2=data5
        paddw   xmm5,xmm0               ; xmm5=data1

        ; ---- Pass 2: process columns.

        ; xmm1=(00 10 20 30 40 50 60 70), xmm7=(02 12 22 32 42 52 62 72)
        ; xmm5=(01 11 21 31 41 51 61 71), xmm6=(03 13 23 33 43 53 63 73)

        movdqa    xmm4,xmm1             ; transpose coefficients(phase 1)
        punpcklwd xmm1,xmm5             ; xmm1=(00 01 10 11 20 21 30 31)
        punpckhwd xmm4,xmm5             ; xmm4=(40 41 50 51 60 61 70 71)
        movdqa    xmm0,xmm7             ; transpose coefficients(phase 1)
        punpcklwd xmm7,xmm6             ; xmm7=(02 03 12 13 22 23 32 33)
        punpckhwd xmm0,xmm6             ; xmm0=(42 43 52 53 62 63 72 73)

        movdqa  xmm5, XMMWORD [wk(0)]   ; xmm5=col4
        movdqa  xmm6, XMMWORD [wk(1)]   ; xmm6=col6

        ; xmm5=(04 14 24 34 44 54 64 74), xmm6=(06 16 26 36 46 56 66 76)
        ; xmm2=(05 15 25 35 45 55 65 75), xmm3=(07 17 27 37 47 57 67 77)

        movdqa  XMMWORD [wk(0)], xmm7   ; wk(0)=(02 03 12 13 22 23 32 33)
        movdqa  XMMWORD [wk(1)], xmm0   ; wk(1)=(42 43 52 53 62 63 72 73)

        movdqa    xmm7,xmm5             ; transpose coefficients(phase 1)
        punpcklwd xmm5,xmm2             ; xmm5=(04 05 14 15 24 25 34 35)
        punpckhwd xmm7,xmm2             ; xmm7=(44 45 54 55 64 65 74 75)
        movdqa    xmm0,xmm6             ; transpose coefficients(phase 1)
        punpcklwd xmm6,xmm3             ; xmm6=(06 07 16 17 26 27 36 37)
        punpckhwd xmm0,xmm3             ; xmm0=(46 47 56 57 66 67 76 77)

        movdqa    xmm2,xmm5             ; transpose coefficients(phase 2)
        punpckldq xmm5,xmm6             ; xmm5=(04 05 06 07 14 15 16 17)
        punpckhdq xmm2,xmm6             ; xmm2=(24 25 26 27 34 35 36 37)
        movdqa    xmm3,xmm7             ; transpose coefficients(phase 2)
        punpckldq xmm7,xmm0             ; xmm7=(44 45 46 47 54 55 56 57)
        punpckhdq xmm3,xmm0             ; xmm3=(64 65 66 67 74 75 76 77)

        movdqa  xmm6, XMMWORD [wk(0)]   ; xmm6=(02 03 12 13 22 23 32 33)
        movdqa  xmm0, XMMWORD [wk(1)]   ; xmm0=(42 43 52 53 62 63 72 73)
        movdqa  XMMWORD [wk(0)], xmm2   ; wk(0)=(24 25 26 27 34 35 36 37)
        movdqa  XMMWORD [wk(1)], xmm7   ; wk(1)=(44 45 46 47 54 55 56 57)

        movdqa    xmm2,xmm1             ; transpose coefficients(phase 2)
        punpckldq xmm1,xmm6             ; xmm1=(00 01 02 03 10 11 12 13)
        punpckhdq xmm2,xmm6             ; xmm2=(20 21 22 23 30 31 32 33)
        movdqa    xmm7,xmm4             ; transpose coefficients(phase 2)
        punpckldq xmm4,xmm0             ; xmm4=(40 41 42 43 50 51 52 53)
        punpckhdq xmm7,xmm0             ; xmm7=(60 61 62 63 70 71 72 73)

        movdqa     xmm6,xmm1            ; transpose coefficients(phase 3)
        punpcklqdq xmm1,xmm5            ; xmm1=(00 01 02 03 04 05 06 07)=data0
        punpckhqdq xmm6,xmm5            ; xmm6=(10 11 12 13 14 15 16 17)=data1
        movdqa     xmm0,xmm7            ; transpose coefficients(phase 3)
        punpcklqdq xmm7,xmm3            ; xmm7=(60 61 62 63 64 65 66 67)=data6
        punpckhqdq xmm0,xmm3            ; xmm0=(70 71 72 73 74 75 76 77)=data7

        movdqa  xmm5,xmm6
        movdqa  xmm3,xmm1
        psubw   xmm6,xmm7               ; xmm6=data1-data6=tmp6
        psubw   xmm1,xmm0               ; xmm1=data0-data7=tmp7
        paddw   xmm5,xmm7               ; xmm5=data1+data6=tmp1
        paddw   xmm3,xmm0               ; xmm3=data0+data7=tmp0

        movdqa  xmm7, XMMWORD [wk(0)]   ; xmm7=(24 25 26 27 34 35 36 37)
        movdqa  xmm0, XMMWORD [wk(1)]   ; xmm0=(44 45 46 47 54 55 56 57)
        movdqa  XMMWORD [wk(0)], xmm6   ; wk(0)=tmp6
        movdqa  XMMWORD [wk(1)], xmm1   ; wk(1)=tmp7

        movdqa     xmm6,xmm2            ; transpose coefficients(phase 3)
        punpcklqdq xmm2,xmm7            ; xmm2=(20 21 22 23 24 25 26 27)=data2
        punpckhqdq xmm6,xmm7            ; xmm6=(30 31 32 33 34 35 36 37)=data3
        movdqa     xmm1,xmm4            ; transpose coefficients(phase 3)
        punpcklqdq xmm4,xmm0            ; xmm4=(40 41 42 43 44 45 46 47)=data4
        punpckhqdq xmm1,xmm0            ; xmm1=(50 51 52 53 54 55 56 57)=data5

        movdqa  xmm7,xmm6
        movdqa  xmm0,xmm2
        paddw   xmm6,xmm4               ; xmm6=data3+data4=tmp3
        paddw   xmm2,xmm1               ; xmm2=data2+data5=tmp2
        psubw   xmm7,xmm4               ; xmm7=data3-data4=tmp4
        psubw   xmm0,xmm1               ; xmm0=data2-data5=tmp5

        ; -- Even part

        movdqa  xmm4,xmm3
        movdqa  xmm1,xmm5
        psubw   xmm3,xmm6               ; xmm3=tmp13
        psubw   xmm5,xmm2               ; xmm5=tmp12
        paddw   xmm4,xmm6               ; xmm4=tmp10
        paddw   xmm1,xmm2               ; xmm1=tmp11

        paddw   xmm5,xmm3
        psllw   xmm5,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm5,[rel PW_F0707] ; xmm5=z1

        movdqa  xmm6,xmm4
        movdqa  xmm2,xmm3
        psubw   xmm4,xmm1               ; xmm4=data4
        psubw   xmm3,xmm5               ; xmm3=data6
        paddw   xmm6,xmm1               ; xmm6=data0
        paddw   xmm2,xmm5               ; xmm2=data2

        movdqa  XMMWORD [XMMBLOCK(4,0,rdx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(6,0,rdx,SIZEOF_DCTELEM)], xmm3
        movdqa  XMMWORD [XMMBLOCK(0,0,rdx,SIZEOF_DCTELEM)], xmm6
        movdqa  XMMWORD [XMMBLOCK(2,0,rdx,SIZEOF_DCTELEM)], xmm2

        ; -- Odd part

        movdqa  xmm1, XMMWORD [wk(0)]   ; xmm1=tmp6
        movdqa  xmm5, XMMWORD [wk(1)]   ; xmm5=tmp7

        paddw   xmm7,xmm0               ; xmm7=tmp10
        paddw   xmm0,xmm1               ; xmm0=tmp11
        paddw   xmm1,xmm5               ; xmm1=tmp12, xmm5=tmp7

        psllw   xmm7,PRE_MULTIPLY_SCALE_BITS
        psllw   xmm1,PRE_MULTIPLY_SCALE_BITS

        psllw   xmm0,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm0,[rel PW_F0707] ; xmm0=z3

        movdqa  xmm4,xmm7               ; xmm4=tmp10
        psubw   xmm7,xmm1
        pmulhw  xmm7,[rel PW_F0382] ; xmm7=z5
        pmulhw  xmm4,[rel PW_F0541] ; xmm4=MULTIPLY(tmp10,FIX_0_541196)
        pmulhw  xmm1,[rel PW_F1306] ; xmm1=MULTIPLY(tmp12,FIX_1_306562)
        paddw   xmm4,xmm7               ; xmm4=z2
        paddw   xmm1,xmm7               ; xmm1=z4

        movdqa  xmm3,xmm5
        psubw   xmm5,xmm0               ; xmm5=z13
        paddw   xmm3,xmm0               ; xmm3=z11

        movdqa  xmm6,xmm5
        movdqa  xmm2,xmm3
        psubw   xmm5,xmm4               ; xmm5=data3
        psubw   xmm3,xmm1               ; xmm3=data7
        paddw   xmm6,xmm4               ; xmm6=data5
        paddw   xmm2,xmm1               ; xmm2=data1

        movdqa  XMMWORD [XMMBLOCK(3,0,rdx,SIZEOF_DCTELEM)], xmm5
        movdqa  XMMWORD [XMMBLOCK(7,0,rdx,SIZEOF_DCTELEM)], xmm3
        movdqa  XMMWORD [XMMBLOCK(5,0,rdx,SIZEOF_DCTELEM)], xmm6
        movdqa  XMMWORD [XMMBLOCK(1,0,rdx,SIZEOF_DCTELEM)], xmm2

        uncollect_args
        mov     rsp,rbp         ; rsp <- aligned rbp
        pop     rsp             ; rsp <- original rbp
        pop     rbp
        ret

; For some reason, the OS X linker does not honor the request to align the
; segment unless we do this.
        align   16
