1@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \ 2@ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK 3@ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \ 4@ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK 5@ RUN: not llvm-mc -triple thumbv7-eabi -filetype asm -o /dev/null 2>&1 %s \ 6@ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK 7@ RUN: not llvm-mc -triple thumbv8-eabi -filetype asm -o /dev/null 2>&1 %s \ 8@ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK 9 10 .syntax unified 11 12 .arch_extension simd 13@ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture 14@ CHECK-V7-NEXT: .arch_extension simd 15@ CHECK-V7-NEXT: ^ 16 17 .type simd,%function 18simd: 19 vmaxnm.f32 s0, s0, s0 20@ CHECK-V7: error: instruction requires: FPARMv8 21 vminnm.f32 s0, s0, s0 22@ CHECK-V7: error: instruction requires: FPARMv8 23 24 vmaxnm.f64 d0, d0, d0 25@ CHECK-V7: error: instruction requires: FPARMv8 26 vminnm.f64 d0, d0, d0 27@ CHECK-V7: error: instruction requires: FPARMv8 28 29 vcvta.s32.f32 s0, s0 30@ CHECK-V7: error: instruction requires: FPARMv8 31 vcvta.u32.f32 s0, s0 32@ CHECK-V7: error: instruction requires: FPARMv8 33 vcvta.s32.f64 s0, d0 34@ CHECK-V7: error: instruction requires: FPARMv8 35 vcvta.u32.f64 s0, d0 36@ CHECK-V7: error: instruction requires: FPARMv8 37 vcvtn.s32.f32 s0, s0 38@ CHECK-V7: error: instruction requires: FPARMv8 39 vcvtn.u32.f32 s0, s0 40@ CHECK-V7: error: instruction requires: FPARMv8 41 vcvtn.s32.f64 s0, d0 42@ CHECK-V7: error: instruction requires: FPARMv8 43 vcvtn.u32.f64 s0, d0 44@ CHECK-V7: error: instruction requires: FPARMv8 45 vcvtp.s32.f32 s0, s0 46@ CHECK-V7: error: instruction requires: FPARMv8 47 vcvtp.u32.f32 s0, s0 48@ CHECK-V7: error: instruction requires: FPARMv8 49 vcvtp.s32.f64 s0, d0 50@ CHECK-V7: error: instruction requires: FPARMv8 51 vcvtp.u32.f64 s0, d0 52@ CHECK-V7: error: instruction requires: FPARMv8 53 vcvtm.s32.f32 s0, s0 54@ CHECK-V7: error: instruction requires: FPARMv8 55 vcvtm.u32.f32 s0, s0 56@ CHECK-V7: error: instruction requires: FPARMv8 57 vcvtm.s32.f64 s0, d0 58@ CHECK-V7: error: instruction requires: FPARMv8 59 vcvtm.u32.f64 s0, d0 60@ CHECK-V7: error: instruction requires: FPARMv8 61 62 vrintz.f32 s0, s1 63@ CHECK-V7: error: instruction requires: FPARMv8 64 vrintz.f64 d0, d1 65@ CHECK-V7: error: instruction requires: FPARMv8 66 vrintz.f32.f32 s0, s0 67@ CHECK-V7: error: instruction requires: FPARMv8 68 vrintz.f64.f64 d0, d0 69@ CHECK-V7: error: instruction requires: FPARMv8 70 vrintr.f32 s0, s1 71@ CHECK-V7: error: instruction requires: FPARMv8 72 vrintr.f64 d0, d1 73@ CHECK-V7: error: instruction requires: FPARMv8 74 vrintr.f32.f32 s0, s0 75@ CHECK-V7: error: instruction requires: FPARMv8 76 vrintr.f64.f64 d0, d0 77@ CHECK-V7: error: instruction requires: FPARMv8 78 vrintx.f32 s0, s1 79@ CHECK-V7: error: instruction requires: FPARMv8 80 vrintx.f64 d0, d1 81@ CHECK-V7: error: instruction requires: FPARMv8 82 vrintx.f32.f32 s0, s0 83@ CHECK-V7: error: instruction requires: FPARMv8 84 vrintx.f64.f64 d0, d0 85@ CHECK-V7: error: instruction requires: FPARMv8 86 87 vrinta.f32 s0, s0 88@ CHECK-V7: error: instruction requires: FPARMv8 89 vrinta.f64 d0, d0 90@ CHECK-V7: error: instruction requires: FPARMv8 91 vrinta.f32.f32 s0, s0 92@ CHECK-V7: error: instruction requires: FPARMv8 93 vrinta.f64.f64 d0, d0 94@ CHECK-V7: error: instruction requires: FPARMv8 95 vrintn.f32 s0, s0 96@ CHECK-V7: error: instruction requires: FPARMv8 97 vrintn.f64 d0, d0 98@ CHECK-V7: error: instruction requires: FPARMv8 99 vrintn.f32.f32 s0, s0 100@ CHECK-V7: error: instruction requires: FPARMv8 101 vrintn.f64.f64 d0, d0 102@ CHECK-V7: error: instruction requires: FPARMv8 103 vrintp.f32 s0, s0 104@ CHECK-V7: error: instruction requires: FPARMv8 105 vrintp.f64 d0, d0 106@ CHECK-V7: error: instruction requires: FPARMv8 107 vrintp.f32.f32 s0, s0 108@ CHECK-V7: error: instruction requires: FPARMv8 109 vrintp.f64.f64 d0, d0 110@ CHECK-V7: error: instruction requires: FPARMv8 111 vrintm.f32 s0, s0 112@ CHECK-V7: error: instruction requires: FPARMv8 113 vrintm.f64 d0, d0 114@ CHECK-V7: error: instruction requires: FPARMv8 115 vrintm.f32.f32 s0, s0 116@ CHECK-V7: error: instruction requires: FPARMv8 117 vrintm.f64.f64 d0, d0 118@ CHECK-V7: error: instruction requires: FPARMv8 119 120 .arch_extension nosimd 121@ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture 122@ CHECK-V7-NEXT: .arch_extension nosimd 123@ CHECK-V7-NEXT: ^ 124 125 .type nosimd,%function 126nosimd: 127 vmaxnm.f32 s0, s0, s0 128@ CHECK: error: instruction requires: FPARMv8 129 vminnm.f32 s0, s0, s0 130@ CHECK: error: instruction requires: FPARMv8 131 132 vmaxnm.f64 d0, d0, d0 133@ CHECK: error: instruction requires: FPARMv8 134 vminnm.f64 d0, d0, d0 135@ CHECK: error: instruction requires: FPARMv8 136 137 vcvta.s32.f32 s0, s0 138@ CHECK: error: instruction requires: FPARMv8 139 vcvta.u32.f32 s0, s0 140@ CHECK: error: instruction requires: FPARMv8 141 vcvta.s32.f64 s0, d0 142@ CHECK: error: instruction requires: FPARMv8 143 vcvta.u32.f64 s0, d0 144@ CHECK: error: instruction requires: FPARMv8 145 vcvtn.s32.f32 s0, s0 146@ CHECK: error: instruction requires: FPARMv8 147 vcvtn.u32.f32 s0, s0 148@ CHECK: error: instruction requires: FPARMv8 149 vcvtn.s32.f64 s0, d0 150@ CHECK: error: instruction requires: FPARMv8 151 vcvtn.u32.f64 s0, d0 152@ CHECK: error: instruction requires: FPARMv8 153 vcvtp.s32.f32 s0, s0 154@ CHECK: error: instruction requires: FPARMv8 155 vcvtp.u32.f32 s0, s0 156@ CHECK: error: instruction requires: FPARMv8 157 vcvtp.s32.f64 s0, d0 158@ CHECK: error: instruction requires: FPARMv8 159 vcvtp.u32.f64 s0, d0 160@ CHECK: error: instruction requires: FPARMv8 161 vcvtm.s32.f32 s0, s0 162@ CHECK: error: instruction requires: FPARMv8 163 vcvtm.u32.f32 s0, s0 164@ CHECK: error: instruction requires: FPARMv8 165 vcvtm.s32.f64 s0, d0 166@ CHECK: error: instruction requires: FPARMv8 167 vcvtm.u32.f64 s0, d0 168@ CHECK: error: instruction requires: FPARMv8 169 170 vrintz.f32 s0, s1 171@ CHECK: error: instruction requires: FPARMv8 172 vrintz.f64 d0, d1 173@ CHECK: error: instruction requires: FPARMv8 174 vrintz.f32.f32 s0, s0 175@ CHECK: error: instruction requires: FPARMv8 176 vrintz.f64.f64 d0, d0 177@ CHECK: error: instruction requires: FPARMv8 178 vrintr.f32 s0, s1 179@ CHECK: error: instruction requires: FPARMv8 180 vrintr.f64 d0, d1 181@ CHECK: error: instruction requires: FPARMv8 182 vrintr.f32.f32 s0, s0 183@ CHECK: error: instruction requires: FPARMv8 184 vrintr.f64.f64 d0, d0 185@ CHECK: error: instruction requires: FPARMv8 186 vrintx.f32 s0, s1 187@ CHECK: error: instruction requires: FPARMv8 188 vrintx.f64 d0, d1 189@ CHECK: error: instruction requires: FPARMv8 190 vrintx.f32.f32 s0, s0 191@ CHECK: error: instruction requires: FPARMv8 192 vrintx.f64.f64 d0, d0 193@ CHECK: error: instruction requires: FPARMv8 194 195 vrinta.f32 s0, s0 196@ CHECK: error: instruction requires: FPARMv8 197 vrinta.f64 d0, d0 198@ CHECK: error: instruction requires: FPARMv8 199 vrinta.f32.f32 s0, s0 200@ CHECK: error: instruction requires: FPARMv8 201 vrinta.f64.f64 d0, d0 202@ CHECK: error: instruction requires: FPARMv8 203 vrintn.f32 s0, s0 204@ CHECK: error: instruction requires: FPARMv8 205 vrintn.f64 d0, d0 206@ CHECK: error: instruction requires: FPARMv8 207 vrintn.f32.f32 s0, s0 208@ CHECK: error: instruction requires: FPARMv8 209 vrintn.f64.f64 d0, d0 210@ CHECK: error: instruction requires: FPARMv8 211 vrintp.f32 s0, s0 212@ CHECK: error: instruction requires: FPARMv8 213 vrintp.f64 d0, d0 214@ CHECK: error: instruction requires: FPARMv8 215 vrintp.f32.f32 s0, s0 216@ CHECK: error: instruction requires: FPARMv8 217 vrintp.f64.f64 d0, d0 218@ CHECK: error: instruction requires: FPARMv8 219 vrintm.f32 s0, s0 220@ CHECK: error: instruction requires: FPARMv8 221 vrintm.f64 d0, d0 222@ CHECK: error: instruction requires: FPARMv8 223 vrintm.f32.f32 s0, s0 224@ CHECK: error: instruction requires: FPARMv8 225 vrintm.f64.f64 d0, d0 226@ CHECK: error: instruction requires: FPARMv8 227 228