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 18 simd: 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 126 nosimd: 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