;
; jfdctint.asm - accurate 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 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) PRIVATE

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

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
