| @@ -123,69 +123,69 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #if !defined(DOUBLE) | #if !defined(DOUBLE) | ||||
| ldr s4, [X] | ldr s4, [X] | ||||
| fcmp s4, REGZERO | fcmp s4, REGZERO | ||||
| beq KERNEL_S1_NEXT_\@ | |||||
| beq KERNEL_S1_NEXT | |||||
| fabs s4, s4 | fabs s4, s4 | ||||
| fcmp SCALE, s4 | fcmp SCALE, s4 | ||||
| bge KERNEL_S1_SCALE_GE_XR_\@ | |||||
| bge KERNEL_S1_SCALE_GE_XR | |||||
| fdiv s2, SCALE, s4 | fdiv s2, SCALE, s4 | ||||
| fmul s2, s2, s2 | fmul s2, s2, s2 | ||||
| fmul s3, SSQ, s2 | fmul s3, SSQ, s2 | ||||
| fadd SSQ, REGONE, s3 | fadd SSQ, REGONE, s3 | ||||
| fmov SCALE, s4 | fmov SCALE, s4 | ||||
| b KERNEL_S1_NEXT_\@ | |||||
| KERNEL_S1_SCALE_GE_XR_\@: | |||||
| b KERNEL_S1_NEXT | |||||
| KERNEL_S1_SCALE_GE_XR: | |||||
| fdiv s2, s4, SCALE | fdiv s2, s4, SCALE | ||||
| fmla SSQ, s2, v2.s[0] | fmla SSQ, s2, v2.s[0] | ||||
| KERNEL_S1_NEXT_\@: | |||||
| KERNEL_S1_NEXT: | |||||
| ldr s5, [X, #4] | ldr s5, [X, #4] | ||||
| fcmp s5, REGZERO | fcmp s5, REGZERO | ||||
| beq KERNEL_S1_END_\@ | |||||
| beq KERNEL_S1_END | |||||
| fabs s5, s5 | fabs s5, s5 | ||||
| fcmp SCALE, s5 | fcmp SCALE, s5 | ||||
| bge KERNEL_S1_SCALE_GE_XI_\@ | |||||
| bge KERNEL_S1_SCALE_GE_XI | |||||
| fdiv s2, SCALE, s5 | fdiv s2, SCALE, s5 | ||||
| fmul s2, s2, s2 | fmul s2, s2, s2 | ||||
| fmul s3, SSQ, s2 | fmul s3, SSQ, s2 | ||||
| fadd SSQ, REGONE, s3 | fadd SSQ, REGONE, s3 | ||||
| fmov SCALE, s5 | fmov SCALE, s5 | ||||
| b KERNEL_S1_END_\@ | |||||
| KERNEL_S1_SCALE_GE_XI_\@: | |||||
| b KERNEL_S1_END | |||||
| KERNEL_S1_SCALE_GE_XI: | |||||
| fdiv s2, s5, SCALE | fdiv s2, s5, SCALE | ||||
| fmla SSQ, s2, v2.s[0] | fmla SSQ, s2, v2.s[0] | ||||
| #else | #else | ||||
| ldr d4, [X] | ldr d4, [X] | ||||
| fcmp d4, REGZERO | fcmp d4, REGZERO | ||||
| beq KERNEL_S1_NEXT_\@ | |||||
| beq KERNEL_S1_NEXT | |||||
| fabs d4, d4 | fabs d4, d4 | ||||
| fcmp SCALE, d4 | fcmp SCALE, d4 | ||||
| bge KERNEL_S1_SCALE_GE_XR_\@ | |||||
| bge KERNEL_S1_SCALE_GE_XR | |||||
| fdiv d2, SCALE, d4 | fdiv d2, SCALE, d4 | ||||
| fmul d2, d2, d2 | fmul d2, d2, d2 | ||||
| fmul d3, SSQ, d2 | fmul d3, SSQ, d2 | ||||
| fadd SSQ, REGONE, d3 | fadd SSQ, REGONE, d3 | ||||
| fmov SCALE, d4 | fmov SCALE, d4 | ||||
| b KERNEL_S1_NEXT_\@ | |||||
| KERNEL_S1_SCALE_GE_XR_\@: | |||||
| b KERNEL_S1_NEXT | |||||
| KERNEL_S1_SCALE_GE_XR: | |||||
| fdiv d2, d4, SCALE | fdiv d2, d4, SCALE | ||||
| fmla SSQ, d2, v2.d[0] | fmla SSQ, d2, v2.d[0] | ||||
| KERNEL_S1_NEXT_\@: | |||||
| KERNEL_S1_NEXT: | |||||
| ldr d5, [X, #8] | ldr d5, [X, #8] | ||||
| fcmp d5, REGZERO | fcmp d5, REGZERO | ||||
| beq KERNEL_S1_END_\@ | |||||
| beq KERNEL_S1_END | |||||
| fabs d5, d5 | fabs d5, d5 | ||||
| fcmp SCALE, d5 | fcmp SCALE, d5 | ||||
| bge KERNEL_S1_SCALE_GE_XI_\@ | |||||
| bge KERNEL_S1_SCALE_GE_XI | |||||
| fdiv d2, SCALE, d5 | fdiv d2, SCALE, d5 | ||||
| fmul d2, d2, d2 | fmul d2, d2, d2 | ||||
| fmul d3, SSQ, d2 | fmul d3, SSQ, d2 | ||||
| fadd SSQ, REGONE, d3 | fadd SSQ, REGONE, d3 | ||||
| fmov SCALE, d5 | fmov SCALE, d5 | ||||
| b KERNEL_S1_END_\@ | |||||
| KERNEL_S1_SCALE_GE_XI_\@: | |||||
| b KERNEL_S1_END | |||||
| KERNEL_S1_SCALE_GE_XI: | |||||
| fdiv d2, d5, SCALE | fdiv d2, d5, SCALE | ||||
| fmla SSQ, d2, v2.d[0] | fmla SSQ, d2, v2.d[0] | ||||
| #endif | #endif | ||||
| KERNEL_S1_END_\@: | |||||
| KERNEL_S1_END: | |||||
| add X, X, INC_X | add X, X, INC_X | ||||
| .endm | .endm | ||||