Graham Sanderson 7f7232541a
switch all .S files to unified asm, and use a macro to setup compiler and some other misc changes (#1295)
* switch all .S files to unified asm, and use a new macro `pico_default_asm_setup` to setup compiler to help porting to other compilers. Also some minor tweaks:
* switch some code to use more recent helper methods (e.g. busy_wait_at_least_n_cycles)
* add documentation to host divider header (I had this ages ago and never promoted)
* fixup erroneous docs about 32p32 values in all divider headers
* fix some compiler warnings
* rename recently added `unified_asm` macro to `pico_default_asm`
2023-03-09 17:40:20 -06:00

39 lines
818 B
ArmAsm

//===-- call_apsr.S - Helpers for ARM EABI floating point tests -----------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file implements helpers for ARM EABI floating point tests for the
// compiler_rt library.
//
//===-
#include "pico/asm_helper.S"
pico_default_asm_setup
.align 2
.global call_apsr_f
.type call_apsr_f,%function
.thumb_func
call_apsr_f:
push {lr}
blx r2
mrs r0, apsr
pop {pc}
.global call_apsr_d
.type call_apsr_d,%function
.thumb_func
call_apsr_d:
push {r4, lr}
ldr r4, [sp, #8]
blx r4
mrs r0, apsr
pop {r4, pc}