mirror of
https://github.com/fluencelabs/musl
synced 2025-04-24 23:02:14 +00:00
these files are all accepted as legacy arm syntax when producing arm code, but legacy syntax cannot be used for producing thumb2 with access to the full ISA. even after switching to UAL, some asm source files contain instructions which are not valid in thumb mode, so these will need to be addressed separately.
66 lines
948 B
ArmAsm
66 lines
948 B
ArmAsm
.syntax unified
|
|
.fpu vfp
|
|
|
|
.global fegetround
|
|
.type fegetround,%function
|
|
fegetround:
|
|
fmrx r0, fpscr
|
|
and r0, r0, #0xc00000
|
|
bx lr
|
|
|
|
.global __fesetround
|
|
.type __fesetround,%function
|
|
__fesetround:
|
|
fmrx r3, fpscr
|
|
bic r3, r3, #0xc00000
|
|
orr r3, r3, r0
|
|
fmxr fpscr, r3
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
.global fetestexcept
|
|
.type fetestexcept,%function
|
|
fetestexcept:
|
|
and r0, r0, #0x1f
|
|
fmrx r3, fpscr
|
|
and r0, r0, r3
|
|
bx lr
|
|
|
|
.global feclearexcept
|
|
.type feclearexcept,%function
|
|
feclearexcept:
|
|
and r0, r0, #0x1f
|
|
fmrx r3, fpscr
|
|
bic r3, r3, r0
|
|
fmxr fpscr, r3
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
.global feraiseexcept
|
|
.type feraiseexcept,%function
|
|
feraiseexcept:
|
|
and r0, r0, #0x1f
|
|
fmrx r3, fpscr
|
|
orr r3, r3, r0
|
|
fmxr fpscr, r3
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
.global fegetenv
|
|
.type fegetenv,%function
|
|
fegetenv:
|
|
fmrx r3, fpscr
|
|
str r3, [r0]
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
.global fesetenv
|
|
.type fesetenv,%function
|
|
fesetenv:
|
|
cmn r0, #1
|
|
moveq r3, #0
|
|
ldrne r3, [r0]
|
|
fmxr fpscr, r3
|
|
mov r0, #0
|
|
bx lr
|