Make local labels in macro compatible with the xcode assembler
... which does not perform the automatic numbering on instantiation that the _@ suffix signifies
This commit is contained in:
parent
bb5413863f
commit
56837e9d92
|
@ -54,37 +54,38 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#if !defined(DOUBLE)
|
#if !defined(DOUBLE)
|
||||||
ldr s4, [X], #4
|
ldr s4, [X], #4
|
||||||
fcmp s4, REGZERO
|
fcmp s4, REGZERO
|
||||||
beq KERNEL_F1_NEXT_\@
|
beq 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
|
beq 2f
|
||||||
fabs s4, s4
|
fabs s4, s4
|
||||||
fcmp SCALE, s4
|
fcmp SCALE, s4
|
||||||
bge KERNEL_F1_SCALE_GE_X_\@
|
bge 1f /* KERNEL_F1_SCALE_GE_X_\@ */
|
||||||
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_F1_NEXT_\@
|
b 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
KERNEL_F1_SCALE_GE_X_\@:
|
1: /* KERNEL_F1_SCALE_GE_X_\@: */
|
||||||
fdiv s2, s4, SCALE
|
fdiv s2, s4, SCALE
|
||||||
fmla SSQ, s2, v2.s[0]
|
fmla SSQ, s2, v2.s[0]
|
||||||
#else
|
#else
|
||||||
ldr d4, [X], #8
|
ldr d4, [X], #8
|
||||||
fcmp d4, REGZERO
|
fcmp d4, REGZERO
|
||||||
beq KERNEL_F1_NEXT_\@
|
beq 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
fabs d4, d4
|
fabs d4, d4
|
||||||
fcmp SCALE, d4
|
fcmp SCALE, d4
|
||||||
bge KERNEL_F1_SCALE_GE_X_\@
|
bge 1f /* KERNEL_F1_SCALE_GE_X_\@ */
|
||||||
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_F1_NEXT_\@
|
b 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
KERNEL_F1_SCALE_GE_X_\@:
|
1: /* KERNEL_F1_SCALE_GE_X_\@: */
|
||||||
fdiv d2, d4, SCALE
|
fdiv d2, d4, SCALE
|
||||||
fmla SSQ, d2, v2.d[0]
|
fmla SSQ, d2, v2.d[0]
|
||||||
#endif
|
#endif
|
||||||
KERNEL_F1_NEXT_\@:
|
2: /* KERNEL_F1_NEXT_\@: */
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro KERNEL_S1
|
.macro KERNEL_S1
|
||||||
|
|
|
@ -54,69 +54,69 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#if !defined(DOUBLE)
|
#if !defined(DOUBLE)
|
||||||
ldr s4, [X], #4
|
ldr s4, [X], #4
|
||||||
fcmp s4, REGZERO
|
fcmp s4, REGZERO
|
||||||
beq KERNEL_F1_NEXT_\@
|
beq 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
fabs s4, s4
|
fabs s4, s4
|
||||||
fcmp SCALE, s4
|
fcmp SCALE, s4
|
||||||
bge KERNEL_F1_SCALE_GE_XR_\@
|
bge 1f /* KERNEL_F1_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_F1_NEXT_\@
|
b 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
KERNEL_F1_SCALE_GE_XR_\@:
|
1: /* KERNEL_F1_SCALE_GE_XR_\@: */
|
||||||
fdiv s2, s4, SCALE
|
fdiv s2, s4, SCALE
|
||||||
fmla SSQ, s2, v2.s[0]
|
fmla SSQ, s2, v2.s[0]
|
||||||
KERNEL_F1_NEXT_\@:
|
2: /* KERNEL_F1_NEXT_\@: */
|
||||||
ldr s5, [X], #4
|
ldr s5, [X], #4
|
||||||
fcmp s5, REGZERO
|
fcmp s5, REGZERO
|
||||||
beq KERNEL_F1_END_\@
|
beq 4f /* KERNEL_F1_END_\@ */
|
||||||
fabs s5, s5
|
fabs s5, s5
|
||||||
fcmp SCALE, s5
|
fcmp SCALE, s5
|
||||||
bge KERNEL_F1_SCALE_GE_XI_\@
|
bge 3f /* KERNEL_F1_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_F1_END_\@
|
b 4f /* KERNEL_F1_END_\@ */
|
||||||
KERNEL_F1_SCALE_GE_XI_\@:
|
3: /* KERNEL_F1_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], #8
|
ldr d4, [X], #8
|
||||||
fcmp d4, REGZERO
|
fcmp d4, REGZERO
|
||||||
beq KERNEL_F1_NEXT_\@
|
beq 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
fabs d4, d4
|
fabs d4, d4
|
||||||
fcmp SCALE, d4
|
fcmp SCALE, d4
|
||||||
bge KERNEL_F1_SCALE_GE_XR_\@
|
bge 1f /* KERNEL_F1_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_F1_NEXT_\@
|
b 2f /* KERNEL_F1_NEXT_\@ */
|
||||||
KERNEL_F1_SCALE_GE_XR_\@:
|
1: /* KERNEL_F1_SCALE_GE_XR_\@: */
|
||||||
fdiv d2, d4, SCALE
|
fdiv d2, d4, SCALE
|
||||||
fmla SSQ, d2, v2.d[0]
|
fmla SSQ, d2, v2.d[0]
|
||||||
KERNEL_F1_NEXT_\@:
|
2: /* KERNEL_F1_NEXT_\@: */
|
||||||
ldr d5, [X], #8
|
ldr d5, [X], #8
|
||||||
fcmp d5, REGZERO
|
fcmp d5, REGZERO
|
||||||
beq KERNEL_F1_END_\@
|
beq 4f /* KERNEL_F1_END_\@ */
|
||||||
fabs d5, d5
|
fabs d5, d5
|
||||||
fcmp SCALE, d5
|
fcmp SCALE, d5
|
||||||
bge KERNEL_F1_SCALE_GE_XI_\@
|
bge 3f /* KERNEL_F1_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_F1_END_\@
|
b 4f /* KERNEL_F1_END_\@ */
|
||||||
KERNEL_F1_SCALE_GE_XI_\@:
|
3: /* KERNEL_F1_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_F1_END_\@:
|
4: /* KERNEL_F1_END_\@: */
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro KERNEL_S1
|
.macro KERNEL_S1
|
||||||
|
|
Loading…
Reference in New Issue