]> begriffs open source - cmsis/blob - CMSIS/Core/Test/src/fpscr_nofp.c
Restructure Core tests
[cmsis] / CMSIS / Core / Test / src / fpscr_nofp.c
1 // UNSUPPORTED: fpu
2 // RUN: %cc% %ccflags% %ccout% %T/%basename_t.o %s; llvm-objdump --mcpu=%mcpu% -d %T/%basename_t.o | FileCheck --allow-unused-prefixes --check-prefixes %prefixes% %s
3
4 #include "cmsis_compiler.h"
5
6 void get_fpscr() {
7     // CHECK-LABEL: <get_fpscr>:
8     // CHECK-NOT: vmrs {{r[0-9]+}}, fpscr
9     // CHECK: mov{{s?}} {{r[0-9]+}}, #0
10     volatile uint32_t result = __get_FPSCR();
11     // CHECK: {{(bx lr)|(pop {.*pc})}}
12 }
13
14 volatile uint32_t v32 = 0x4711u;
15
16 void set_fpscr() {
17     // CHECK-LABEL: <set_fpscr>:
18     // CHECK-NOT: vmsr fpscr, {{r[0-9]+}}
19     __set_FPSCR(v32);
20     // CHECK: {{(bx lr)|(pop {.*pc})}}
21 }