FMV DIFF

Creado El diff nunca expira
23 eliminaciones
109 líneas
23 adiciones
108 líneas
FMV=4
FMV=3
mandelbrot_scalar_f32:
mandelbrot_scalar_f32:
.LFB0:
.LFB0:
.cfi_startproc
.cfi_startproc
mv a7,a2
mv a7,a2
beq a0,zero,.L1
beq a0,zero,.L1
lui a5,%hi(.LC0)
lui a5,%hi(.LC0)
flw ft4,%lo(.LC0)(a5)
flw ft4,%lo(.LC0)(a5)
lui a4,%hi(.LC1)
lui a4,%hi(.LC1)
lui a5,%hi(.LC2)
lui a5,%hi(.LC2)
flw ft3,%lo(.LC1)(a4)
flw ft3,%lo(.LC1)(a4)
flw ft1,%lo(.LC2)(a5)
flw ft1,%lo(.LC2)(a5)
fcvt.s.lu ft2,a0
fcvt.s.lu ft2,a0
li a6,0
li a6,0
.L3:
.L3:
li a4,0
li a4,0
mv a5,a7
mv a5,a7
beq a1,zero,.L9
beq a1,zero,.L9
fcvt.s.lu fa5,a6
fcvt.s.lu fa5,a6
mv a2,a7
mv a2,a7
li a3,0
li a3,0
fadd.s fa5,fa5,fa5
fadd.s fa5,fa5,fa5
fdiv.s ft0,fa5,ft2
fdiv.s ft0,fa5,ft2
fsub.s ft0,ft0,ft4
fsub.s ft0,ft0,ft4
.L8:
.L8:
fcvt.s.lu fa1,a3
fcvt.s.lu fa1,a3
fmv.s.x fa4,zero
fmv.s.x fa2,zero
li a5,0
li a5,0
fadd.s fa1,fa1,fa1
fadd.s fa1,fa1,fa1
fmv.s fa5,fa4
fmv.s fa4,fa2
fmv.s fa2,fa4
fmv.s fa3,fa2
fmv.s fa3,fa4
fmv.s fa5,fa2
fdiv.s fa1,fa1,ft2
fdiv.s fa1,fa1,ft2
fsub.s fa1,fa1,ft3
fsub.s fa1,fa1,ft3
j .L6
j .L6
.L22:
.L22:
bleu a1,a5,.L11
bleu a1,a5,.L11
.L6:
.L6:
fsub.s fa5,fa5,fa4
fsub.s fa4,fa4,fa2
addi a5,a5,1
addi a5,a5,1
fmv.s fa4,fa3
fadd.s fa2,fa5,fa5
fadd.s fa3,fa5,fa1
fadd.s fa5,fa4,fa1
fadd.s fa4,fa4,fa4
fmadd.s fa3,fa2,fa3,ft0
fmul.s fa5,fa3,fa3
fmul.s fa4,fa5,fa5
fmadd.s fa2,fa4,fa2,ft0
fmul.s fa2,fa3,fa3
fmul.s fa4,fa2,fa2
fadd.s fa0,fa4,fa2
fadd.s fa0,fa5,fa4
fle.s a4,fa0,ft1
fle.s a4,fa0,ft1
bne a4,zero,.L22
bne a4,zero,.L22
.L11:
.L11:
sw a5,0(a2)
sw a5,0(a2)
addi a3,a3,1
addi a3,a3,1
addi a2,a2,4
addi a2,a2,4
bne a0,a3,.L8
bne a0,a3,.L8
.L5:
.L5:
addi a6,a6,1
addi a6,a6,1
sh2add a7,a0,a7
sh2add a7,a0,a7
bne a0,a6,.L3
bne a0,a6,.L3
.L1:
.L1:
ret
ret
.L9:
.L9:
sw zero,0(a5)
sw zero,0(a5)
addi a3,a4,1
addi a3,a4,1
addi a5,a5,8
addi a5,a5,8
addi a4,a4,2
addi a4,a4,2
beq a0,a3,.L5
beq a0,a3,.L5
sw zero,-4(a5)
sw zero,-4(a5)
bne a0,a4,.L9
bne a0,a4,.L9
j .L5
j .L5
.cfi_endproc
.cfi_endproc
.LFE0:
.LFE0:
.size mandelbrot_scalar_f32, .-mandelbrot_scalar_f32
.size mandelbrot_scalar_f32, .-mandelbrot_scalar_f32
.align 1
.align 1
.globl mandelbrot_scalar_f32_reduced
.globl mandelbrot_scalar_f32_reduced
.type mandelbrot_scalar_f32_reduced, @function
.type mandelbrot_scalar_f32_reduced, @function
mandelbrot_scalar_f32_reduced:
mandelbrot_scalar_f32_reduced:
.LFB1:
.LFB1:
.cfi_startproc
.cfi_startproc
lui a4,%hi(.LC0)
lui a4,%hi(.LC0)
lui a5,%hi(.LC3)
lui a5,%hi(.LC3)
flw fa0,%lo(.LC0)(a4)
flw fa0,%lo(.LC0)(a4)
flw fa3,%lo(.LC3)(a5)
flw fa3,%lo(.LC3)(a5)
fmv.s.x fa5,zero
fmv.s.x fa5,zero
.L24:
.L24:
fadd.s fa4,fa0,fa5
fadd.s fa4,fa0,fa5
fmv.s fa5,fa0
fmv.s fa5,fa0
fadd.s fa0,fa0,fa4
fadd.s fa0,fa0,fa4
fadd.s fa5,fa5,fa5
fadd.s fa5,fa5,fa5
flt.s a5,fa0,fa3
flt.s a5,fa0,fa3
bne a5,zero,.L24
bne a5,zero,.L24
ret
ret
.cfi_endproc
.cfi_endproc
.LFE1:
.LFE1:
.size mandelbrot_scalar_f32_reduced, .-mandelbrot_scalar_f32_reduced
.size mandelbrot_scalar_f32_reduced, .-mandelbrot_scalar_f32_reduced
.section .srodata.cst4,"aM",@progbits,4
.section .srodata.cst4,"aM",@progbits,4
.align 2
.align 2
.LC0:
.LC0:
.word 1065353216
.word 1065353216
.align 2
.align 2
.LC1:
.LC1:
.word 1069547520
.word 1069547520
.align 2
.align 2
.LC2:
.LC2:
.word 1082130432
.word 1082130432
.align 2
.align 2
.LC3:
.LC3:
.word 1117388800
.word 1117388800
.ident "GCC: (gd3c11a21eea) 16.0.0 20251124 (experimental)"
.ident "GCC: (gd3c11a21eea-dirty) 16.0.0 20251124 (experimental)"
.section .note.GNU-stack,"",@progbits
.section .note.GNU-stack,"",@progbits