shave some cycles off 16-bit squaring with shift instead of add
also fix the comments about how many cycles shift takes
This commit is contained in:
parent
0f49760aa5
commit
3553ce986f
1 changed files with 5 additions and 5 deletions
10
mandel.s
10
mandel.s
|
@ -348,7 +348,7 @@ viewport_oy:
|
|||
sub 4, dest, arg1, arg2
|
||||
.endmacro
|
||||
|
||||
; 3 + 5 * bytes cycles
|
||||
; 3 + 5 * (bytes - 1) cycles
|
||||
.macro shl bytes, arg
|
||||
asl arg ; 3 cyc
|
||||
.repeat bytes-1, i
|
||||
|
@ -356,17 +356,17 @@ viewport_oy:
|
|||
.endrepeat
|
||||
.endmacro
|
||||
|
||||
; 13 cycles
|
||||
; 8 cycles
|
||||
.macro shl16 arg
|
||||
shl 2, arg
|
||||
.endmacro
|
||||
|
||||
; 18 cycles
|
||||
; 13 cycles
|
||||
.macro shl24 arg
|
||||
shl 3, arg
|
||||
.endmacro
|
||||
|
||||
; 23 cycles
|
||||
; 18 cycles
|
||||
.macro shl32 arg
|
||||
shl 4, arg
|
||||
.endmacro
|
||||
|
@ -787,7 +787,7 @@ arg2_pos:
|
|||
sqr8 result + 2, arg + 1
|
||||
|
||||
imul8 inter, arg + 1, arg, xe
|
||||
add16 result + 1, result + 1, inter
|
||||
shl16 inter
|
||||
add_carry result + 3
|
||||
add16 result + 1, result + 1, inter
|
||||
add_carry result + 3
|
||||
|
|
Loading…
Reference in a new issue