mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-25 22:35:42 +00:00
fix(build): enable fp during fp save/restore
Newer compilers such as clang/LLVM 19 flag uses of floating point instructions when the architecture does not allow for it. We can temporarily enable the use of floating point operations where it it is safe and necessary for the build to succeed. Change-Id: I1a832f846915c35792684906c94aef81c1f72d63 Signed-off-by: Andrei Homescu <ahomescu@google.com> Signed-off-by: Per Larsen <perlarsen@google.com>
This commit is contained in:
parent
e83738c074
commit
5141de1443
1 changed files with 8 additions and 0 deletions
|
@ -75,6 +75,9 @@
|
|||
*/
|
||||
#if CTX_INCLUDE_FPREGS
|
||||
func fpregs_context_save
|
||||
.arch_extension fp
|
||||
/* Temporarily enable floating point */
|
||||
|
||||
/* Save x0 and pass its original value to fpregs_state_save */
|
||||
mov x1, x0
|
||||
|
||||
|
@ -97,6 +100,7 @@ func fpregs_context_save
|
|||
|
||||
fpregs_state_save x1, x9
|
||||
|
||||
.arch_extension nofp
|
||||
ret
|
||||
endfunc fpregs_context_save
|
||||
|
||||
|
@ -115,6 +119,9 @@ endfunc fpregs_context_save
|
|||
* ------------------------------------------------------------------
|
||||
*/
|
||||
func fpregs_context_restore
|
||||
.arch_extension fp
|
||||
/* Temporarily enable floating point */
|
||||
|
||||
/* Save x0 and pass its original value to fpregs_state_restore */
|
||||
mov x1, x0
|
||||
|
||||
|
@ -137,6 +144,7 @@ func fpregs_context_restore
|
|||
|
||||
fpregs_state_restore x1, x9
|
||||
|
||||
.arch_extension nofp
|
||||
ret
|
||||
endfunc fpregs_context_restore
|
||||
#endif /* CTX_INCLUDE_FPREGS */
|
||||
|
|
Loading…
Add table
Reference in a new issue