;
; jfdctint.asm - accurate integer FDCT (64-bit SSE2)
;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander
;
; Based on
; 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 slow-but-accurate integer implementation of the
; forward DCT (Discrete Cosine Transform). The following code is based
; directly on the IJG's original jfdctint.c; see the jfdctint.c for
; more details.
;
; [TAB8]

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

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

%define CONST_BITS      13
%define PASS1_BITS      2

%define DESCALE_P1      (CONST_BITS-PASS1_BITS)
%define DESCALE_P2      (CONST_BITS+PASS1_BITS)

%if CONST_BITS == 13
F_0_298 equ      2446           ; FIX(0.298631336)
F_0_390 equ      3196           ; FIX(0.390180644)
F_0_541 equ      4433           ; FIX(0.541196100)
F_0_765 equ      6270           ; FIX(0.765366865)
F_0_899 equ      7373           ; FIX(0.899976223)
F_1_175 equ      9633           ; FIX(1.175875602)
F_1_501 equ     12299           ; FIX(1.501321110)
F_1_847 equ     15137           ; FIX(1.847759065)
F_1_961 equ     16069           ; FIX(1.961570560)
F_2_053 equ     16819           ; FIX(2.053119869)
F_2_562 equ     20995           ; FIX(2.562915447)
F_3_072 equ     25172           ; FIX(3.072711026)
%else
; NASM cannot do compile-time arithmetic on floating-point constants.
%define DESCALE(x,n)  (((x)+(1<<((n)-1)))>>(n))
F_0_298 equ     DESCALE( 320652955,30-CONST_BITS)       ; FIX(0.298631336)
F_0_390 equ     DESCALE( 418953276,30-CONST_BITS)       ; FIX(0.390180644)
F_0_541 equ     DESCALE( 581104887,30-CONST_BITS)       ; FIX(0.541196100)
F_0_765 equ     DESCALE( 821806413,30-CONST_BITS)       ; FIX(0.765366865)
F_0_899 equ     DESCALE( 966342111,30-CONST_BITS)       ; FIX(0.899976223)
F_1_175 equ     DESCALE(1262586813,30-CONST_BITS)       ; FIX(1.175875602)
F_1_501 equ     DESCALE(1612031267,30-CONST_BITS)       ; FIX(1.501321110)
F_1_847 equ     DESCALE(1984016188,30-CONST_BITS)       ; FIX(1.847759065)
F_1_961 equ     DESCALE(2106220350,30-CONST_BITS)       ; FIX(1.961570560)
F_2_053 equ     DESCALE(2204520673,30-CONST_BITS)       ; FIX(2.053119869)
F_2_562 equ     DESCALE(2751909506,30-CONST_BITS)       ; FIX(2.562915447)
F_3_072 equ     DESCALE(3299298341,30-CONST_BITS)       ; FIX(3.072711026)
%endif

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

        alignz  16
        global  EXTN(jconst_fdct_islow_sse2)

EXTN(jconst_fdct_islow_sse2):

PW_F130_F054    times 4 dw  (F_0_541+F_0_765), F_0_541
PW_F054_MF130   times 4 dw  F_0_541, (F_0_541-F_1_847)
PW_MF078_F117   times 4 dw  (F_1_175-F_1_961), F_1_175
PW_F117_F078    times 4 dw  F_1_175, (F_1_175-F_0_390)
PW_MF060_MF089  times 4 dw  (F_0_298-F_0_899),-F_0_899
PW_MF089_F060   times 4 dw -F_0_899, (F_1_501-F_0_899)
PW_MF050_MF256  times 4 dw  (F_2_053-F_2_562),-F_2_562
PW_MF256_F050   times 4 dw -F_2_562, (F_3_072-F_2_562)
PD_DESCALE_P1   times 4 dd  1 << (DESCALE_P1-1)
PD_DESCALE_P2   times 4 dd  1 << (DESCALE_P2-1)
PW_DESCALE_P2X  times 8 dw  1 << (PASS1_BITS-1)

        alignz  16

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

; r10 = DCTELEM * data

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

        align   16
        global  EXTN(jsimd_fdct_islow_sse2)

EXTN(jsimd_fdct_islow_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(2)], xmm7   ; wk(2)=(42 52 62 72 43 53 63 73)
        movdqa  XMMWORD [wk(3)], xmm2   ; wk(3)=(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(2)]   ; xmm2=(42 52 62 72 43 53 63 73)
        movdqa  xmm5, XMMWORD [wk(3)]   ; 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
        paddw   xmm3,xmm1               ; xmm3=tmp10
        paddw   xmm6,xmm7               ; xmm6=tmp11
        psubw   xmm4,xmm1               ; xmm4=tmp13
        psubw   xmm0,xmm7               ; xmm0=tmp12

        movdqa  xmm1,xmm3
        paddw   xmm3,xmm6               ; xmm3=tmp10+tmp11
        psubw   xmm1,xmm6               ; xmm1=tmp10-tmp11

        psllw   xmm3,PASS1_BITS         ; xmm3=data0
        psllw   xmm1,PASS1_BITS         ; xmm1=data4

        movdqa  XMMWORD [wk(2)], xmm3   ; wk(2)=data0
        movdqa  XMMWORD [wk(3)], xmm1   ; wk(3)=data4

        ; (Original)
        ; z1 = (tmp12 + tmp13) * 0.541196100;
        ; data2 = z1 + tmp13 * 0.765366865;
        ; data6 = z1 + tmp12 * -1.847759065;
        ;
        ; (This implementation)
        ; data2 = tmp13 * (0.541196100 + 0.765366865) + tmp12 * 0.541196100;
        ; data6 = tmp13 * 0.541196100 + tmp12 * (0.541196100 - 1.847759065);

        movdqa    xmm7,xmm4             ; xmm4=tmp13
        movdqa    xmm6,xmm4
        punpcklwd xmm7,xmm0             ; xmm0=tmp12
        punpckhwd xmm6,xmm0
        movdqa    xmm4,xmm7
        movdqa    xmm0,xmm6
        pmaddwd   xmm7,[rel PW_F130_F054]       ; xmm7=data2L
        pmaddwd   xmm6,[rel PW_F130_F054]       ; xmm6=data2H
        pmaddwd   xmm4,[rel PW_F054_MF130]      ; xmm4=data6L
        pmaddwd   xmm0,[rel PW_F054_MF130]      ; xmm0=data6H

        paddd   xmm7,[rel PD_DESCALE_P1]
        paddd   xmm6,[rel PD_DESCALE_P1]
        psrad   xmm7,DESCALE_P1
        psrad   xmm6,DESCALE_P1
        paddd   xmm4,[rel PD_DESCALE_P1]
        paddd   xmm0,[rel PD_DESCALE_P1]
        psrad   xmm4,DESCALE_P1
        psrad   xmm0,DESCALE_P1

        packssdw  xmm7,xmm6             ; xmm7=data2
        packssdw  xmm4,xmm0             ; xmm4=data6

        movdqa  XMMWORD [wk(4)], xmm7   ; wk(4)=data2
        movdqa  XMMWORD [wk(5)], xmm4   ; wk(5)=data6

        ; -- Odd part

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

        movdqa  xmm6,xmm2               ; xmm2=tmp4
        movdqa  xmm0,xmm5               ; xmm5=tmp5
        paddw   xmm6,xmm3               ; xmm6=z3
        paddw   xmm0,xmm1               ; xmm0=z4

        ; (Original)
        ; z5 = (z3 + z4) * 1.175875602;
        ; z3 = z3 * -1.961570560;  z4 = z4 * -0.390180644;
        ; z3 += z5;  z4 += z5;
        ;
        ; (This implementation)
        ; z3 = z3 * (1.175875602 - 1.961570560) + z4 * 1.175875602;
        ; z4 = z3 * 1.175875602 + z4 * (1.175875602 - 0.390180644);

        movdqa    xmm7,xmm6
        movdqa    xmm4,xmm6
        punpcklwd xmm7,xmm0
        punpckhwd xmm4,xmm0
        movdqa    xmm6,xmm7
        movdqa    xmm0,xmm4
        pmaddwd   xmm7,[rel PW_MF078_F117]      ; xmm7=z3L
        pmaddwd   xmm4,[rel PW_MF078_F117]      ; xmm4=z3H
        pmaddwd   xmm6,[rel PW_F117_F078]       ; xmm6=z4L
        pmaddwd   xmm0,[rel PW_F117_F078]       ; xmm0=z4H

        movdqa  XMMWORD [wk(0)], xmm7   ; wk(0)=z3L
        movdqa  XMMWORD [wk(1)], xmm4   ; wk(1)=z3H

        ; (Original)
        ; z1 = tmp4 + tmp7;  z2 = tmp5 + tmp6;
        ; tmp4 = tmp4 * 0.298631336;  tmp5 = tmp5 * 2.053119869;
        ; tmp6 = tmp6 * 3.072711026;  tmp7 = tmp7 * 1.501321110;
        ; z1 = z1 * -0.899976223;  z2 = z2 * -2.562915447;
        ; data7 = tmp4 + z1 + z3;  data5 = tmp5 + z2 + z4;
        ; data3 = tmp6 + z2 + z3;  data1 = tmp7 + z1 + z4;
        ;
        ; (This implementation)
        ; tmp4 = tmp4 * (0.298631336 - 0.899976223) + tmp7 * -0.899976223;
        ; tmp5 = tmp5 * (2.053119869 - 2.562915447) + tmp6 * -2.562915447;
        ; tmp6 = tmp5 * -2.562915447 + tmp6 * (3.072711026 - 2.562915447);
        ; tmp7 = tmp4 * -0.899976223 + tmp7 * (1.501321110 - 0.899976223);
        ; data7 = tmp4 + z3;  data5 = tmp5 + z4;
        ; data3 = tmp6 + z3;  data1 = tmp7 + z4;

        movdqa    xmm7,xmm2
        movdqa    xmm4,xmm2
        punpcklwd xmm7,xmm1
        punpckhwd xmm4,xmm1
        movdqa    xmm2,xmm7
        movdqa    xmm1,xmm4
        pmaddwd   xmm7,[rel PW_MF060_MF089]     ; xmm7=tmp4L
        pmaddwd   xmm4,[rel PW_MF060_MF089]     ; xmm4=tmp4H
        pmaddwd   xmm2,[rel PW_MF089_F060]      ; xmm2=tmp7L
        pmaddwd   xmm1,[rel PW_MF089_F060]      ; xmm1=tmp7H

        paddd   xmm7, XMMWORD [wk(0)]   ; xmm7=data7L
        paddd   xmm4, XMMWORD [wk(1)]   ; xmm4=data7H
        paddd   xmm2,xmm6               ; xmm2=data1L
        paddd   xmm1,xmm0               ; xmm1=data1H

        paddd   xmm7,[rel PD_DESCALE_P1]
        paddd   xmm4,[rel PD_DESCALE_P1]
        psrad   xmm7,DESCALE_P1
        psrad   xmm4,DESCALE_P1
        paddd   xmm2,[rel PD_DESCALE_P1]
        paddd   xmm1,[rel PD_DESCALE_P1]
        psrad   xmm2,DESCALE_P1
        psrad   xmm1,DESCALE_P1

        packssdw  xmm7,xmm4             ; xmm7=data7
        packssdw  xmm2,xmm1             ; xmm2=data1

        movdqa    xmm4,xmm5
        movdqa    xmm1,xmm5
        punpcklwd xmm4,xmm3
        punpckhwd xmm1,xmm3
        movdqa    xmm5,xmm4
        movdqa    xmm3,xmm1
        pmaddwd   xmm4,[rel PW_MF050_MF256]     ; xmm4=tmp5L
        pmaddwd   xmm1,[rel PW_MF050_MF256]     ; xmm1=tmp5H
        pmaddwd   xmm5,[rel PW_MF256_F050]      ; xmm5=tmp6L
        pmaddwd   xmm3,[rel PW_MF256_F050]      ; xmm3=tmp6H

        paddd   xmm4,xmm6               ; xmm4=data5L
        paddd   xmm1,xmm0               ; xmm1=data5H
        paddd   xmm5, XMMWORD [wk(0)]   ; xmm5=data3L
        paddd   xmm3, XMMWORD [wk(1)]   ; xmm3=data3H

        paddd   xmm4,[rel PD_DESCALE_P1]
        paddd   xmm1,[rel PD_DESCALE_P1]
        psrad   xmm4,DESCALE_P1
        psrad   xmm1,DESCALE_P1
        paddd   xmm5,[rel PD_DESCALE_P1]
        paddd   xmm3,[rel PD_DESCALE_P1]
        psrad   xmm5,DESCALE_P1
        psrad   xmm3,DESCALE_P1

        packssdw  xmm4,xmm1             ; xmm4=data5
        packssdw  xmm5,xmm3             ; xmm5=data3

        ; ---- Pass 2: process columns.

        movdqa  xmm6, XMMWORD [wk(2)]   ; xmm6=col0
        movdqa  xmm0, XMMWORD [wk(4)]   ; xmm0=col2

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

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

        movdqa  xmm2, XMMWORD [wk(3)]   ; xmm2=col4
        movdqa  xmm5, XMMWORD [wk(5)]   ; xmm5=col6

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

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

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

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

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

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

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

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

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

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

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

        ; -- Even part

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

        movdqa  xmm5,xmm7
        paddw   xmm7,xmm2               ; xmm7=tmp10+tmp11
        psubw   xmm5,xmm2               ; xmm5=tmp10-tmp11

        paddw   xmm7,[rel PW_DESCALE_P2X]
        paddw   xmm5,[rel PW_DESCALE_P2X]
        psraw   xmm7,PASS1_BITS         ; xmm7=data0
        psraw   xmm5,PASS1_BITS         ; xmm5=data4

        movdqa  XMMWORD [XMMBLOCK(0,0,rdx,SIZEOF_DCTELEM)], xmm7
        movdqa  XMMWORD [XMMBLOCK(4,0,rdx,SIZEOF_DCTELEM)], xmm5

        ; (Original)
        ; z1 = (tmp12 + tmp13) * 0.541196100;
        ; data2 = z1 + tmp13 * 0.765366865;
        ; data6 = z1 + tmp12 * -1.847759065;
        ;
        ; (This implementation)
        ; data2 = tmp13 * (0.541196100 + 0.765366865) + tmp12 * 0.541196100;
        ; data6 = tmp13 * 0.541196100 + tmp12 * (0.541196100 - 1.847759065);

        movdqa    xmm4,xmm1             ; xmm1=tmp13
        movdqa    xmm2,xmm1
        punpcklwd xmm4,xmm6             ; xmm6=tmp12
        punpckhwd xmm2,xmm6
        movdqa    xmm1,xmm4
        movdqa    xmm6,xmm2
        pmaddwd   xmm4,[rel PW_F130_F054]       ; xmm4=data2L
        pmaddwd   xmm2,[rel PW_F130_F054]       ; xmm2=data2H
        pmaddwd   xmm1,[rel PW_F054_MF130]      ; xmm1=data6L
        pmaddwd   xmm6,[rel PW_F054_MF130]      ; xmm6=data6H

        paddd   xmm4,[rel PD_DESCALE_P2]
        paddd   xmm2,[rel PD_DESCALE_P2]
        psrad   xmm4,DESCALE_P2
        psrad   xmm2,DESCALE_P2
        paddd   xmm1,[rel PD_DESCALE_P2]
        paddd   xmm6,[rel PD_DESCALE_P2]
        psrad   xmm1,DESCALE_P2
        psrad   xmm6,DESCALE_P2

        packssdw  xmm4,xmm2             ; xmm4=data2
        packssdw  xmm1,xmm6             ; xmm1=data6

        movdqa  XMMWORD [XMMBLOCK(2,0,rdx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(6,0,rdx,SIZEOF_DCTELEM)], xmm1

        ; -- Odd part

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

        movdqa  xmm2,xmm0               ; xmm0=tmp4
        movdqa  xmm6,xmm3               ; xmm3=tmp5
        paddw   xmm2,xmm7               ; xmm2=z3
        paddw   xmm6,xmm5               ; xmm6=z4

        ; (Original)
        ; z5 = (z3 + z4) * 1.175875602;
        ; z3 = z3 * -1.961570560;  z4 = z4 * -0.390180644;
        ; z3 += z5;  z4 += z5;
        ;
        ; (This implementation)
        ; z3 = z3 * (1.175875602 - 1.961570560) + z4 * 1.175875602;
        ; z4 = z3 * 1.175875602 + z4 * (1.175875602 - 0.390180644);

        movdqa    xmm4,xmm2
        movdqa    xmm1,xmm2
        punpcklwd xmm4,xmm6
        punpckhwd xmm1,xmm6
        movdqa    xmm2,xmm4
        movdqa    xmm6,xmm1
        pmaddwd   xmm4,[rel PW_MF078_F117]      ; xmm4=z3L
        pmaddwd   xmm1,[rel PW_MF078_F117]      ; xmm1=z3H
        pmaddwd   xmm2,[rel PW_F117_F078]       ; xmm2=z4L
        pmaddwd   xmm6,[rel PW_F117_F078]       ; xmm6=z4H

        movdqa  XMMWORD [wk(0)], xmm4   ; wk(0)=z3L
        movdqa  XMMWORD [wk(1)], xmm1   ; wk(1)=z3H

        ; (Original)
        ; z1 = tmp4 + tmp7;  z2 = tmp5 + tmp6;
        ; tmp4 = tmp4 * 0.298631336;  tmp5 = tmp5 * 2.053119869;
        ; tmp6 = tmp6 * 3.072711026;  tmp7 = tmp7 * 1.501321110;
        ; z1 = z1 * -0.899976223;  z2 = z2 * -2.562915447;
        ; data7 = tmp4 + z1 + z3;  data5 = tmp5 + z2 + z4;
        ; data3 = tmp6 + z2 + z3;  data1 = tmp7 + z1 + z4;
        ;
        ; (This implementation)
        ; tmp4 = tmp4 * (0.298631336 - 0.899976223) + tmp7 * -0.899976223;
        ; tmp5 = tmp5 * (2.053119869 - 2.562915447) + tmp6 * -2.562915447;
        ; tmp6 = tmp5 * -2.562915447 + tmp6 * (3.072711026 - 2.562915447);
        ; tmp7 = tmp4 * -0.899976223 + tmp7 * (1.501321110 - 0.899976223);
        ; data7 = tmp4 + z3;  data5 = tmp5 + z4;
        ; data3 = tmp6 + z3;  data1 = tmp7 + z4;

        movdqa    xmm4,xmm0
        movdqa    xmm1,xmm0
        punpcklwd xmm4,xmm5
        punpckhwd xmm1,xmm5
        movdqa    xmm0,xmm4
        movdqa    xmm5,xmm1
        pmaddwd   xmm4,[rel PW_MF060_MF089]     ; xmm4=tmp4L
        pmaddwd   xmm1,[rel PW_MF060_MF089]     ; xmm1=tmp4H
        pmaddwd   xmm0,[rel PW_MF089_F060]      ; xmm0=tmp7L
        pmaddwd   xmm5,[rel PW_MF089_F060]      ; xmm5=tmp7H

        paddd   xmm4, XMMWORD [wk(0)]   ; xmm4=data7L
        paddd   xmm1, XMMWORD [wk(1)]   ; xmm1=data7H
        paddd   xmm0,xmm2               ; xmm0=data1L
        paddd   xmm5,xmm6               ; xmm5=data1H

        paddd   xmm4,[rel PD_DESCALE_P2]
        paddd   xmm1,[rel PD_DESCALE_P2]
        psrad   xmm4,DESCALE_P2
        psrad   xmm1,DESCALE_P2
        paddd   xmm0,[rel PD_DESCALE_P2]
        paddd   xmm5,[rel PD_DESCALE_P2]
        psrad   xmm0,DESCALE_P2
        psrad   xmm5,DESCALE_P2

        packssdw  xmm4,xmm1             ; xmm4=data7
        packssdw  xmm0,xmm5             ; xmm0=data1

        movdqa  XMMWORD [XMMBLOCK(7,0,rdx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(1,0,rdx,SIZEOF_DCTELEM)], xmm0

        movdqa    xmm1,xmm3
        movdqa    xmm5,xmm3
        punpcklwd xmm1,xmm7
        punpckhwd xmm5,xmm7
        movdqa    xmm3,xmm1
        movdqa    xmm7,xmm5
        pmaddwd   xmm1,[rel PW_MF050_MF256]     ; xmm1=tmp5L
        pmaddwd   xmm5,[rel PW_MF050_MF256]     ; xmm5=tmp5H
        pmaddwd   xmm3,[rel PW_MF256_F050]      ; xmm3=tmp6L
        pmaddwd   xmm7,[rel PW_MF256_F050]      ; xmm7=tmp6H

        paddd   xmm1,xmm2               ; xmm1=data5L
        paddd   xmm5,xmm6               ; xmm5=data5H
        paddd   xmm3, XMMWORD [wk(0)]   ; xmm3=data3L
        paddd   xmm7, XMMWORD [wk(1)]   ; xmm7=data3H

        paddd   xmm1,[rel PD_DESCALE_P2]
        paddd   xmm5,[rel PD_DESCALE_P2]
        psrad   xmm1,DESCALE_P2
        psrad   xmm5,DESCALE_P2
        paddd   xmm3,[rel PD_DESCALE_P2]
        paddd   xmm7,[rel PD_DESCALE_P2]
        psrad   xmm3,DESCALE_P2
        psrad   xmm7,DESCALE_P2

        packssdw  xmm1,xmm5             ; xmm1=data5
        packssdw  xmm3,xmm7             ; xmm3=data3

        movdqa  XMMWORD [XMMBLOCK(5,0,rdx,SIZEOF_DCTELEM)], xmm1
        movdqa  XMMWORD [XMMBLOCK(3,0,rdx,SIZEOF_DCTELEM)], xmm3

        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
