blob: 14359c645229901275f3ab70cd285ed2c9e09da6 [file] [log] [blame]
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +00001@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +00002@ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +00003@ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +00004@ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +00005@ RUN: not llvm-mc -triple thumbv7-eabi -filetype asm -o /dev/null 2>&1 %s \
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +00006@ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +00007@ RUN: not llvm-mc -triple thumbv8-eabi -filetype asm -o /dev/null 2>&1 %s \
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +00008@ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +00009
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
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000128@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000129 vminnm.f32 s0, s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000130@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000131
132 vmaxnm.f64 d0, d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000133@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000134 vminnm.f64 d0, d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000135@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000136
137 vcvta.s32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000138@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000139 vcvta.u32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000140@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000141 vcvta.s32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000142@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000143 vcvta.u32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000144@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000145 vcvtn.s32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000146@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000147 vcvtn.u32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000148@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000149 vcvtn.s32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000150@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000151 vcvtn.u32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000152@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000153 vcvtp.s32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000154@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000155 vcvtp.u32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000156@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000157 vcvtp.s32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000158@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000159 vcvtp.u32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000160@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000161 vcvtm.s32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000162@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000163 vcvtm.u32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000164@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000165 vcvtm.s32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000166@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000167 vcvtm.u32.f64 s0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000168@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000169
170 vrintz.f32 s0, s1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000171@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000172 vrintz.f64 d0, d1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000173@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000174 vrintz.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000175@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000176 vrintz.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000177@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000178 vrintr.f32 s0, s1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000179@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000180 vrintr.f64 d0, d1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000181@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000182 vrintr.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000183@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000184 vrintr.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000185@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000186 vrintx.f32 s0, s1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000187@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000188 vrintx.f64 d0, d1
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000189@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000190 vrintx.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000191@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000192 vrintx.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000193@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000194
195 vrinta.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000196@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000197 vrinta.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000198@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000199 vrinta.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000200@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000201 vrinta.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000202@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000203 vrintn.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000204@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000205 vrintn.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000206@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000207 vrintn.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000208@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000209 vrintn.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000210@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000211 vrintp.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000212@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000213 vrintp.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000214@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000215 vrintp.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000216@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000217 vrintp.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000218@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000219 vrintm.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000220@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000221 vrintm.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000222@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000223 vrintm.f32.f32 s0, s0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000224@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000225 vrintm.f64.f64 d0, d0
Saleem Abdulrasool8988c2a2014-07-27 19:07:09 +0000226@ CHECK: error: instruction requires: FPARMv8
Saleem Abdulrasool49480bf2014-02-16 00:16:41 +0000227