110 lines · c
1// RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -triple arm %s2 3void string_literal(unsigned v) {4 __builtin_arm_wsr(0, v); // expected-error {{expression is not a string literal}}5}6 7void wsr_1(unsigned v) {8 __builtin_arm_wsr("sysreg", v);9}10 11void wsrp_1(void *v) {12 __builtin_arm_wsrp("sysreg", v);13}14 15void wsr64_1(unsigned long v) {16 __builtin_arm_wsr64("sysreg", v); //expected-error {{invalid special register for builtin}}17}18 19unsigned rsr_1(void) {20 return __builtin_arm_rsr("sysreg");21}22 23void *rsrp_1(void) {24 return __builtin_arm_rsrp("sysreg");25}26 27unsigned long rsr64_1(void) {28 return __builtin_arm_rsr64("sysreg"); //expected-error {{invalid special register for builtin}}29}30 31void wsr_2(unsigned v) {32 __builtin_arm_wsr("cp0:1:c2:c3:4", v);33}34 35void wsrp_2(void *v) {36 __builtin_arm_wsrp("cp0:1:c2:c3:4", v);37}38 39void wsr64_2(unsigned long v) {40 __builtin_arm_wsr64("cp0:1:c2:c3:4", v); //expected-error {{invalid special register for builtin}}41}42 43unsigned rsr_2(void) {44 return __builtin_arm_rsr("cp0:1:c15:c15:4");45}46 47void *rsrp_2(void) {48 return __builtin_arm_rsrp("cp0:1:c2:c3:4");49}50 51unsigned long rsr64_2(void) {52 return __builtin_arm_rsr64("cp0:1:c2:c3:4"); //expected-error {{invalid special register for builtin}}53}54 55void wsr_3(unsigned v) {56 __builtin_arm_wsr("cp0:1:c2", v); //expected-error {{invalid special register for builtin}}57}58 59void wsrp_3(void *v) {60 __builtin_arm_wsrp("cp0:1:c2", v); //expected-error {{invalid special register for builtin}}61}62 63void wsr64_3(unsigned long v) {64 __builtin_arm_wsr64("cp0:1:c2", v);65}66 67unsigned rsr_3(void) {68 return __builtin_arm_rsr("cp0:1:c2"); //expected-error {{invalid special register for builtin}}69}70 71void *rsrp_3(void) {72 return __builtin_arm_rsrp("cp0:1:c2"); //expected-error {{invalid special register for builtin}}73}74 75unsigned long rsr64_3(void) {76 return __builtin_arm_rsr64("cp0:1:c15");77}78 79unsigned rsr_4(void) {80 return __builtin_arm_rsr("0:1:2:3:4"); //expected-error {{invalid special register for builtin}}81}82 83unsigned rsr_5(void) {84 return __builtin_arm_rsr("cp0:1:c2:c3:8"); //expected-error {{invalid special register for builtin}}85}86 87unsigned rsr_6(void) {88 return __builtin_arm_rsr("cp0:8:c1:c2:3"); //expected-error {{invalid special register for builtin}}89}90 91unsigned rsr_7(void) {92 return __builtin_arm_rsr("cp0:1:c16:c16:2"); //expected-error {{invalid special register for builtin}}93}94 95void *rsrp_4(void) {96 return __builtin_arm_rsrp("0:1:2:3:4"); //expected-error {{invalid special register for builtin}}97}98 99unsigned long rsr64_4(void) {100 return __builtin_arm_rsr64("0:1:2"); //expected-error {{invalid special register for builtin}}101}102 103unsigned long rsr64_5(void) {104 return __builtin_arm_rsr64("cp0:8:c1"); //expected-error {{invalid special register for builtin}}105}106 107unsigned long rsr64_6(void) {108 return __builtin_arm_rsr64("cp0:1:c16"); //expected-error {{invalid special register for builtin}}109}110