replaced with fresh examples
This commit is contained in:
171
examples/mandelbrot_tasks3d/mandelbrot_task_s
Normal file
171
examples/mandelbrot_tasks3d/mandelbrot_task_s
Normal file
@@ -0,0 +1,171 @@
|
||||
.file "mandelbrot_task.ispc"
|
||||
.text
|
||||
.globl mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_
|
||||
.align 16, 0x90
|
||||
.type mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_,@function
|
||||
mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_: # @mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_
|
||||
# BB#0: # %allocas
|
||||
pushq %rbp
|
||||
pushq %r15
|
||||
pushq %r14
|
||||
pushq %rbx
|
||||
subq $88, %rsp
|
||||
vmovups %ymm4, 32(%rsp) # 32-byte Folded Spill
|
||||
movq %rcx, %r14
|
||||
movl %edx, %r15d
|
||||
movl %esi, %ebx
|
||||
movl %edi, %ebp
|
||||
vmovss %xmm1, 76(%rsp) # 4-byte Spill
|
||||
vmovss %xmm0, 28(%rsp) # 4-byte Spill
|
||||
vcvtsi2ssl %ebp, %xmm0, %xmm5
|
||||
vsubss %xmm0, %xmm2, %xmm4
|
||||
vcvtsi2ssl %ebx, %xmm0, %xmm2
|
||||
vsubss %xmm1, %xmm3, %xmm3
|
||||
movq $0, 80(%rsp)
|
||||
leaq 80(%rsp), %rdi
|
||||
vdivss %xmm2, %xmm3, %xmm1
|
||||
vmovss %xmm1, 72(%rsp) # 4-byte Spill
|
||||
vdivss %xmm5, %xmm4, %xmm0
|
||||
vmovss %xmm0, 68(%rsp) # 4-byte Spill
|
||||
movl $96, %esi
|
||||
movl $32, %edx
|
||||
vzeroupper
|
||||
callq ISPCAlloc
|
||||
vmovups 32(%rsp), %ymm0 # 32-byte Folded Reload
|
||||
movq %rax, %rdx
|
||||
movl %ebx, %r8d
|
||||
sarl $31, %r8d
|
||||
shrl $28, %r8d
|
||||
addl %ebx, %r8d
|
||||
vmovss 28(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, (%rdx)
|
||||
sarl $4, %r8d
|
||||
movl %ebp, %ecx
|
||||
sarl $31, %ecx
|
||||
shrl $28, %ecx
|
||||
addl %ebp, %ecx
|
||||
sarl $4, %ecx
|
||||
vmovmskps %ymm0, %eax
|
||||
cmpl $255, %eax
|
||||
vmovss 68(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 4(%rdx)
|
||||
vmovss 76(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 8(%rdx)
|
||||
vmovss 72(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 12(%rdx)
|
||||
movl %ebp, 16(%rdx)
|
||||
movl %ebx, 20(%rdx)
|
||||
movl $16, 24(%rdx)
|
||||
movl $16, 28(%rdx)
|
||||
movl %r15d, 32(%rdx)
|
||||
movq %r14, 40(%rdx)
|
||||
jne .LBB0_2
|
||||
# BB#1: # %all_on
|
||||
vpcmpeqd %xmm0, %xmm0, %xmm0
|
||||
vinsertf128 $1, %xmm0, %ymm0, %ymm0
|
||||
.LBB0_2: # %all_on
|
||||
vmovaps %ymm0, 64(%rdx)
|
||||
leaq 80(%rsp), %rdi
|
||||
movl $mandelbrot_scanline___unfunfunfunfuniuniuniuniuniun_3C_uni_3E_, %esi
|
||||
movl $1, %r9d
|
||||
vzeroupper
|
||||
callq ISPCLaunch
|
||||
movq 80(%rsp), %rdi
|
||||
testq %rdi, %rdi
|
||||
je .LBB0_4
|
||||
# BB#3: # %call_sync
|
||||
callq ISPCSync
|
||||
movq $0, 80(%rsp)
|
||||
.LBB0_4: # %post_sync
|
||||
addq $88, %rsp
|
||||
popq %rbx
|
||||
popq %r14
|
||||
popq %r15
|
||||
popq %rbp
|
||||
ret
|
||||
.Ltmp0:
|
||||
.size mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_, .Ltmp0-mandelbrot_ispc___unfunfunfunfuniuniuniun_3C_uni_3E_
|
||||
|
||||
.globl mandelbrot_ispc
|
||||
.align 16, 0x90
|
||||
.type mandelbrot_ispc,@function
|
||||
mandelbrot_ispc: # @mandelbrot_ispc
|
||||
# BB#0: # %allocas
|
||||
pushq %rbp
|
||||
pushq %r15
|
||||
pushq %r14
|
||||
pushq %r12
|
||||
pushq %rbx
|
||||
subq $32, %rsp
|
||||
movq %rcx, %r14
|
||||
movl %edx, %r15d
|
||||
movl %esi, %ebx
|
||||
movl %edi, %ebp
|
||||
vmovss %xmm1, 20(%rsp) # 4-byte Spill
|
||||
vmovss %xmm0, 8(%rsp) # 4-byte Spill
|
||||
vcvtsi2ssl %ebp, %xmm0, %xmm5
|
||||
vsubss %xmm0, %xmm2, %xmm4
|
||||
vcvtsi2ssl %ebx, %xmm0, %xmm2
|
||||
vsubss %xmm1, %xmm3, %xmm3
|
||||
movq $0, 24(%rsp)
|
||||
leaq 24(%rsp), %r12
|
||||
vdivss %xmm2, %xmm3, %xmm1
|
||||
vmovss %xmm1, 16(%rsp) # 4-byte Spill
|
||||
vdivss %xmm5, %xmm4, %xmm0
|
||||
vmovss %xmm0, 12(%rsp) # 4-byte Spill
|
||||
movq %r12, %rdi
|
||||
movl $96, %esi
|
||||
movl $32, %edx
|
||||
callq ISPCAlloc
|
||||
movl %ebx, %r8d
|
||||
sarl $31, %r8d
|
||||
vpcmpeqd %xmm0, %xmm0, %xmm0
|
||||
vmovss 8(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, (%rax)
|
||||
shrl $28, %r8d
|
||||
addl %ebx, %r8d
|
||||
movl %ebp, %ecx
|
||||
sarl $31, %ecx
|
||||
shrl $28, %ecx
|
||||
addl %ebp, %ecx
|
||||
sarl $4, %ecx
|
||||
sarl $4, %r8d
|
||||
vinsertf128 $1, %xmm0, %ymm0, %ymm0
|
||||
vmovss 12(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 4(%rax)
|
||||
vmovss 20(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 8(%rax)
|
||||
vmovss 16(%rsp), %xmm1 # 4-byte Reload
|
||||
vmovss %xmm1, 12(%rax)
|
||||
movl %ebp, 16(%rax)
|
||||
movl %ebx, 20(%rax)
|
||||
movl $16, 24(%rax)
|
||||
movl $16, 28(%rax)
|
||||
movl %r15d, 32(%rax)
|
||||
movq %r14, 40(%rax)
|
||||
vmovaps %ymm0, 64(%rax)
|
||||
movq %r12, %rdi
|
||||
movl $mandelbrot_scanline___unfunfunfunfuniuniuniuniuniun_3C_uni_3E_, %esi
|
||||
movq %rax, %rdx
|
||||
movl $1, %r9d
|
||||
vzeroupper
|
||||
callq ISPCLaunch
|
||||
movq 24(%rsp), %rdi
|
||||
testq %rdi, %rdi
|
||||
je .LBB1_2
|
||||
# BB#1: # %call_sync
|
||||
callq ISPCSync
|
||||
movq $0, 24(%rsp)
|
||||
.LBB1_2: # %post_sync
|
||||
addq $32, %rsp
|
||||
popq %rbx
|
||||
popq %r12
|
||||
popq %r14
|
||||
popq %r15
|
||||
popq %rbp
|
||||
ret
|
||||
.Ltmp1:
|
||||
.size mandelbrot_ispc, .Ltmp1-mandelbrot_ispc
|
||||
|
||||
|
||||
.section ".note.GNU-stack","",@progbits
|
||||
Reference in New Issue
Block a user