228 lines · plain
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 CHECK3@ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \4@ RUN: | FileCheck %s -check-prefix CHECK5@ 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 CHECK7@ RUN: not llvm-mc -triple thumbv8-eabi -filetype asm -o /dev/null 2>&1 %s \8@ RUN: | FileCheck %s -check-prefix CHECK9 10 .syntax unified11 12 .arch_extension simd13@ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture14@ CHECK-V7-NEXT: .arch_extension simd15@ CHECK-V7-NEXT: ^16 17 .type simd,%function18simd:19 vmaxnm.f32 s0, s0, s020@ CHECK-V7: error: instruction requires: FPARMv821 vminnm.f32 s0, s0, s022@ CHECK-V7: error: instruction requires: FPARMv823 24 vmaxnm.f64 d0, d0, d025@ CHECK-V7: error: instruction requires: FPARMv826 vminnm.f64 d0, d0, d027@ CHECK-V7: error: instruction requires: FPARMv828 29 vcvta.s32.f32 s0, s030@ CHECK-V7: error: instruction requires: FPARMv831 vcvta.u32.f32 s0, s032@ CHECK-V7: error: instruction requires: FPARMv833 vcvta.s32.f64 s0, d034@ CHECK-V7: error: instruction requires: FPARMv835 vcvta.u32.f64 s0, d036@ CHECK-V7: error: instruction requires: FPARMv837 vcvtn.s32.f32 s0, s038@ CHECK-V7: error: instruction requires: FPARMv839 vcvtn.u32.f32 s0, s040@ CHECK-V7: error: instruction requires: FPARMv841 vcvtn.s32.f64 s0, d042@ CHECK-V7: error: instruction requires: FPARMv843 vcvtn.u32.f64 s0, d044@ CHECK-V7: error: instruction requires: FPARMv845 vcvtp.s32.f32 s0, s046@ CHECK-V7: error: instruction requires: FPARMv847 vcvtp.u32.f32 s0, s048@ CHECK-V7: error: instruction requires: FPARMv849 vcvtp.s32.f64 s0, d050@ CHECK-V7: error: instruction requires: FPARMv851 vcvtp.u32.f64 s0, d052@ CHECK-V7: error: instruction requires: FPARMv853 vcvtm.s32.f32 s0, s054@ CHECK-V7: error: instruction requires: FPARMv855 vcvtm.u32.f32 s0, s056@ CHECK-V7: error: instruction requires: FPARMv857 vcvtm.s32.f64 s0, d058@ CHECK-V7: error: instruction requires: FPARMv859 vcvtm.u32.f64 s0, d060@ CHECK-V7: error: instruction requires: FPARMv861 62 vrintz.f32 s0, s163@ CHECK-V7: error: instruction requires: FPARMv864 vrintz.f64 d0, d165@ CHECK-V7: error: instruction requires: FPARMv866 vrintz.f32.f32 s0, s067@ CHECK-V7: error: instruction requires: FPARMv868 vrintz.f64.f64 d0, d069@ CHECK-V7: error: instruction requires: FPARMv870 vrintr.f32 s0, s171@ CHECK-V7: error: instruction requires: FPARMv872 vrintr.f64 d0, d173@ CHECK-V7: error: instruction requires: FPARMv874 vrintr.f32.f32 s0, s075@ CHECK-V7: error: instruction requires: FPARMv876 vrintr.f64.f64 d0, d077@ CHECK-V7: error: instruction requires: FPARMv878 vrintx.f32 s0, s179@ CHECK-V7: error: instruction requires: FPARMv880 vrintx.f64 d0, d181@ CHECK-V7: error: instruction requires: FPARMv882 vrintx.f32.f32 s0, s083@ CHECK-V7: error: instruction requires: FPARMv884 vrintx.f64.f64 d0, d085@ CHECK-V7: error: instruction requires: FPARMv886 87 vrinta.f32 s0, s088@ CHECK-V7: error: instruction requires: FPARMv889 vrinta.f64 d0, d090@ CHECK-V7: error: instruction requires: FPARMv891 vrinta.f32.f32 s0, s092@ CHECK-V7: error: instruction requires: FPARMv893 vrinta.f64.f64 d0, d094@ CHECK-V7: error: instruction requires: FPARMv895 vrintn.f32 s0, s096@ CHECK-V7: error: instruction requires: FPARMv897 vrintn.f64 d0, d098@ CHECK-V7: error: instruction requires: FPARMv899 vrintn.f32.f32 s0, s0100@ CHECK-V7: error: instruction requires: FPARMv8101 vrintn.f64.f64 d0, d0102@ CHECK-V7: error: instruction requires: FPARMv8103 vrintp.f32 s0, s0104@ CHECK-V7: error: instruction requires: FPARMv8105 vrintp.f64 d0, d0106@ CHECK-V7: error: instruction requires: FPARMv8107 vrintp.f32.f32 s0, s0108@ CHECK-V7: error: instruction requires: FPARMv8109 vrintp.f64.f64 d0, d0110@ CHECK-V7: error: instruction requires: FPARMv8111 vrintm.f32 s0, s0112@ CHECK-V7: error: instruction requires: FPARMv8113 vrintm.f64 d0, d0114@ CHECK-V7: error: instruction requires: FPARMv8115 vrintm.f32.f32 s0, s0116@ CHECK-V7: error: instruction requires: FPARMv8117 vrintm.f64.f64 d0, d0118@ CHECK-V7: error: instruction requires: FPARMv8119 120 .arch_extension nosimd121@ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture122@ CHECK-V7-NEXT: .arch_extension nosimd123@ CHECK-V7-NEXT: ^124 125 .type nosimd,%function126nosimd:127 vmaxnm.f32 s0, s0, s0128@ CHECK: error: instruction requires: FPARMv8129 vminnm.f32 s0, s0, s0130@ CHECK: error: instruction requires: FPARMv8131 132 vmaxnm.f64 d0, d0, d0133@ CHECK: error: instruction requires: FPARMv8134 vminnm.f64 d0, d0, d0135@ CHECK: error: instruction requires: FPARMv8136 137 vcvta.s32.f32 s0, s0138@ CHECK: error: instruction requires: FPARMv8139 vcvta.u32.f32 s0, s0140@ CHECK: error: instruction requires: FPARMv8141 vcvta.s32.f64 s0, d0142@ CHECK: error: instruction requires: FPARMv8143 vcvta.u32.f64 s0, d0144@ CHECK: error: instruction requires: FPARMv8145 vcvtn.s32.f32 s0, s0146@ CHECK: error: instruction requires: FPARMv8147 vcvtn.u32.f32 s0, s0148@ CHECK: error: instruction requires: FPARMv8149 vcvtn.s32.f64 s0, d0150@ CHECK: error: instruction requires: FPARMv8151 vcvtn.u32.f64 s0, d0152@ CHECK: error: instruction requires: FPARMv8153 vcvtp.s32.f32 s0, s0154@ CHECK: error: instruction requires: FPARMv8155 vcvtp.u32.f32 s0, s0156@ CHECK: error: instruction requires: FPARMv8157 vcvtp.s32.f64 s0, d0158@ CHECK: error: instruction requires: FPARMv8159 vcvtp.u32.f64 s0, d0160@ CHECK: error: instruction requires: FPARMv8161 vcvtm.s32.f32 s0, s0162@ CHECK: error: instruction requires: FPARMv8163 vcvtm.u32.f32 s0, s0164@ CHECK: error: instruction requires: FPARMv8165 vcvtm.s32.f64 s0, d0166@ CHECK: error: instruction requires: FPARMv8167 vcvtm.u32.f64 s0, d0168@ CHECK: error: instruction requires: FPARMv8169 170 vrintz.f32 s0, s1171@ CHECK: error: instruction requires: FPARMv8172 vrintz.f64 d0, d1173@ CHECK: error: instruction requires: FPARMv8174 vrintz.f32.f32 s0, s0175@ CHECK: error: instruction requires: FPARMv8176 vrintz.f64.f64 d0, d0177@ CHECK: error: instruction requires: FPARMv8178 vrintr.f32 s0, s1179@ CHECK: error: instruction requires: FPARMv8180 vrintr.f64 d0, d1181@ CHECK: error: instruction requires: FPARMv8182 vrintr.f32.f32 s0, s0183@ CHECK: error: instruction requires: FPARMv8184 vrintr.f64.f64 d0, d0185@ CHECK: error: instruction requires: FPARMv8186 vrintx.f32 s0, s1187@ CHECK: error: instruction requires: FPARMv8188 vrintx.f64 d0, d1189@ CHECK: error: instruction requires: FPARMv8190 vrintx.f32.f32 s0, s0191@ CHECK: error: instruction requires: FPARMv8192 vrintx.f64.f64 d0, d0193@ CHECK: error: instruction requires: FPARMv8194 195 vrinta.f32 s0, s0196@ CHECK: error: instruction requires: FPARMv8197 vrinta.f64 d0, d0198@ CHECK: error: instruction requires: FPARMv8199 vrinta.f32.f32 s0, s0200@ CHECK: error: instruction requires: FPARMv8201 vrinta.f64.f64 d0, d0202@ CHECK: error: instruction requires: FPARMv8203 vrintn.f32 s0, s0204@ CHECK: error: instruction requires: FPARMv8205 vrintn.f64 d0, d0206@ CHECK: error: instruction requires: FPARMv8207 vrintn.f32.f32 s0, s0208@ CHECK: error: instruction requires: FPARMv8209 vrintn.f64.f64 d0, d0210@ CHECK: error: instruction requires: FPARMv8211 vrintp.f32 s0, s0212@ CHECK: error: instruction requires: FPARMv8213 vrintp.f64 d0, d0214@ CHECK: error: instruction requires: FPARMv8215 vrintp.f32.f32 s0, s0216@ CHECK: error: instruction requires: FPARMv8217 vrintp.f64.f64 d0, d0218@ CHECK: error: instruction requires: FPARMv8219 vrintm.f32 s0, s0220@ CHECK: error: instruction requires: FPARMv8221 vrintm.f64 d0, d0222@ CHECK: error: instruction requires: FPARMv8223 vrintm.f32.f32 s0, s0224@ CHECK: error: instruction requires: FPARMv8225 vrintm.f64.f64 d0, d0226@ CHECK: error: instruction requires: FPARMv8227 228