1 // REQUIRES: thumbv8m.base 2 // UNSUPPORTED: thumbv8m.main 3 // 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 4 5 #include "cmsis_compiler.h" 6 get_psplim()7void get_psplim() { 8 // CHECK-LABEL: <get_psplim>: 9 // CHECK-S: mrs {{r[0-9]+}}, psplim 10 // CHECK-NS-NOT: mrs {{r[0-9]+}}, psplim 11 volatile uint32_t result = __get_PSPLIM(); 12 // CHECK: {{(bx lr)|(pop {.*pc})}} 13 } 14 get_psplim_ns()15void get_psplim_ns() { 16 // CHECK-LABEL: <get_psplim_ns>: 17 #if __ARM_FEATURE_CMSE == 3 18 // CHECK-S-NOT: mrs {{r[0-9]+}}, psplim_ns 19 volatile uint32_t result = __TZ_get_PSPLIM_NS(); 20 #endif 21 // CHECK: {{(bx lr)|(pop {.*pc})}} 22 } 23 set_psplim()24void set_psplim() { 25 // CHECK-LABEL: <set_psplim>: 26 // CHECK-S: msr psplim, {{r[0-9]+}} 27 // CHECK-NS-NOT: msr psplim, {{r[0-9]+}} 28 __set_PSPLIM(0x0815u); 29 // CHECK: {{(bx lr)|(pop {.*pc})}} 30 } 31 set_psplim_ns()32void set_psplim_ns() { 33 // CHECK-LABEL: <set_psplim_ns>: 34 #if __ARM_FEATURE_CMSE == 3 35 // CHECK-S-NOT: msr psplim_ns, {{r[0-9]+}} 36 __TZ_set_PSPLIM_NS(0x0815u); 37 #endif 38 // CHECK: {{(bx lr)|(pop {.*pc})}} 39 } 40