collect_args
push rbx
- mov ecx, r10d
+ mov rcx, r10
test rcx,rcx
jz near .return
push rcx
mov rsi, r12
- mov ecx, r13d
+ mov rcx, r13
mov rdi, JSAMPARRAY [rsi+0*SIZEOF_JSAMPARRAY]
mov rbx, JSAMPARRAY [rsi+1*SIZEOF_JSAMPARRAY]
mov rdx, JSAMPARRAY [rsi+2*SIZEOF_JSAMPARRAY]
packsswb xmm7,xmm7 ; xmm7 = PB_CENTERJSAMPLE (0x808080..)
mov rsi, r10
- mov eax, r11d
+ mov rax, r11
mov rdi, r12
mov rcx, DCTSIZE/2
.convloop:
psllw xmm7,7 ; xmm7={0xFF80 0xFF80 0xFF80 0xFF80 ..}
mov rsi, r10
- mov eax, r11d
+ mov rax, r11
mov rdi, r12
mov rcx, DCTSIZE/4
.convloop:
mov rbp,rsp
collect_args
- mov ecx, r13d
+ mov rcx, r13
shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols)
jz near .return
- mov edx, r10d
+ mov rdx, r10
; -- expand_right_edge
sub rcx,rdx
jle short .expand_end
- mov eax, r11d
+ mov rax, r11
test rax,rax
jle short .expand_end
; -- h2v1_downsample
- mov eax, r12d ; rowctr
+ mov rax, r12 ; rowctr
test eax,eax
jle near .return
mov rbp,rsp
collect_args
- mov ecx, r13d
+ mov rcx, r13
shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols)
jz near .return
- mov edx, r10d
+ mov rdx, r10
; -- expand_right_edge
sub rcx,rdx
jle short .expand_end
- mov eax, r11d
+ mov rax, r11
test rax,rax
jle short .expand_end
; -- h2v2_downsample
- mov eax, r12d ; rowctr
+ mov rax, r12 ; rowctr
test rax,rax
jle near .return
collect_args
push rbx
- mov ecx, r10d ; num_cols
+ mov rcx, r10 ; num_cols
test rcx,rcx
jz near .return
push rcx
mov rdi, r11
- mov ecx, r12d
+ mov rcx, r12
mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
collect_args
push rbx
- mov ecx, r10d ; col
+ mov rcx, r10 ; col
test rcx,rcx
jz near .return
push rcx
mov rdi, r11
- mov ecx, r12d
+ mov rcx, r12
mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
collect_args
push rbx
- mov eax, r10d
+ mov rax, r10
mov rdi, r11
- mov ecx, r12d
+ mov rcx, r12
mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
mov rbp,rsp
collect_args
- mov eax, r11d ; colctr
+ mov rax, r11 ; colctr
test rax,rax
jz near .return
- mov ecx, r10d ; rowctr
+ mov rcx, r10 ; rowctr
test rcx,rcx
jz near .return
collect_args
push rbx
- mov eax, r11d ; colctr
+ mov rax, r11 ; colctr
test rax,rax
jz near .return
- mov ecx, r10d ; rowctr
+ mov rcx, r10 ; rowctr
test rcx,rcx
jz near .return
mov rbp,rsp
collect_args
- mov edx, r11d
+ mov rdx, r11
add rdx, byte (2*SIZEOF_XMMWORD)-1
and rdx, byte -(2*SIZEOF_XMMWORD)
jz near .return
- mov ecx, r10d ; rowctr
+ mov rcx, r10 ; rowctr
test rcx,rcx
jz short .return
collect_args
push rbx
- mov edx, r11d
+ mov rdx, r11
add rdx, byte (2*SIZEOF_XMMWORD)-1
and rdx, byte -(2*SIZEOF_XMMWORD)
jz near .return
- mov ecx, r10d ; rowctr
+ mov rcx, r10 ; rowctr
test rcx,rcx
jz near .return
mov rax, [original_rbp]
lea rsi, [workspace] ; FAST_FLOAT * wsptr
mov rdi, r12 ; (JSAMPROW *)
- mov eax, r13d
+ mov rax, r13
mov rcx, DCTSIZE/4 ; ctr
.rowloop:
mov rax, [original_rbp]
mov rdi, r12 ; (JSAMPROW *)
- mov eax, r13d
+ mov rax, r13
; -- Even part
mov rax, [original_rbp]
mov rdi, r12 ; (JSAMPROW *)
- mov eax, r13d
+ mov rax, r13
; -- Even part
mov rax, [original_rbp]
mov rdi, r12 ; (JSAMPROW *)
- mov eax, r13d
+ mov rax, r13
; -- Even part
; ---- Pass 2: process rows, store into output array.
mov rdi, r12 ; (JSAMPROW *)
- mov eax, r13d
+ mov rax, r13
; | input:| result:|
; | A0 B0 | |