;
; 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) PRIVATE

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) PRIVATE

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
