xref: /llvm-project/clang/test/Driver/armv8.1m.main.s (revision f95e6c06534298a522088df30a6d9a4145834049)
1# REQUIRES: arm-registered-target
2# RUN: not %clang -c -target arm-none-none-eabi -march=armv8-m.main -o /dev/null %s 2>%t
3# RUN:      FileCheck --check-prefix=ERROR-V8M < %t %s
4# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main -o /dev/null %s 2>%t
5# RUN:      FileCheck --check-prefix=ERROR-V81M < %t %s
6# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+dsp -o /dev/null %s 2>%t
7# RUN:      FileCheck --check-prefix=ERROR-V81M_DSP < %t %s
8# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+fp -o /dev/null %s 2>%t
9# RUN:      FileCheck --check-prefix=ERROR-V81M_FP < %t %s
10# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+nofp -o /dev/null %s 2>%t
11# RUN:      FileCheck --check-prefix=ERROR-V81M_FP < %t %s
12# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+fp.dp -o /dev/null %s 2>%t
13# RUN:      FileCheck --check-prefix=ERROR-V81M_FPDP < %t %s
14# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+nofp.dp -o /dev/null %s 2>%t
15# RUN:      FileCheck --check-prefix=ERROR-V81M_FPDP < %t %s
16# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+mve -o /dev/null %s 2>%t
17# RUN:      FileCheck --check-prefix=ERROR-V81M_MVE < %t %s
18# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+nomve -o /dev/null %s 2>%t
19# RUN:      FileCheck --check-prefix=ERROR-V81M_MVE < %t %s
20# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+mve+fp -o /dev/null %s 2>%t
21# RUN:      FileCheck --check-prefix=ERROR-V81M_MVE_FP < %t %s
22# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+mve.fp -o /dev/null %s 2>%t
23# RUN:      FileCheck --check-prefix=ERROR-V81M_MVEFP < %t %s
24# RUN: not %clang -c -target arm-none-none-eabi -march=armv8.1-m.main+nomve.fp -o /dev/null %s 2>%t
25# RUN:      FileCheck --check-prefix=ERROR-V81M_MVEFP < %t %s
26
27.syntax unified
28.thumb
29.text
30
31csinc r0, r1, r2, eq
32# ERROR-V8M: :[[@LINE-1]]:1: error
33
34qadd     r0, r1, r2
35# ERROR-V8M: :[[@LINE-1]]:1: error
36# ERROR-V81M: :[[@LINE-2]]:1: error
37# ERROR-V81M_FP: :[[@LINE-3]]:1: error
38# ERROR-V81M_FPDP: :[[@LINE-4]]:1: error
39
40vadd.f16 s0, s1, s2
41# ERROR-V8M: :[[@LINE-1]]:1: error
42# ERROR-V81M: :[[@LINE-2]]:1: error
43# ERROR-V81M_DSP: :[[@LINE-3]]:1: error
44# ERROR-V81M_MVE: :[[@LINE-4]]:1: error
45
46vabs.f32 s0, s1
47# ERROR-V8M: :[[@LINE-1]]:1: error
48# ERROR-V81M: :[[@LINE-2]]:1: error
49# ERROR-V81M_DSP: :[[@LINE-3]]:1: error
50# ERROR-V81M_MVE: :[[@LINE-4]]:1: error
51
52vcmp.f64 d0,d1
53# ERROR-V8M: :[[@LINE-1]]:1: error
54# ERROR-V81M: :[[@LINE-2]]:1: error
55# ERROR-V81M_DSP: :[[@LINE-3]]:1: error
56# ERROR-V81M_FP: :[[@LINE-4]]:1: error
57# ERROR-V81M_MVE: :[[@LINE-5]]:1: error
58# ERROR-V81M_MVE_FP: :[[@LINE-6]]:1: error
59# ERROR-V81M_MVEFP: :[[@LINE-7]]:1: error
60
61asrl r0, r1, r2
62# ERROR-V8M: :[[@LINE-1]]:1: error
63# ERROR-V81M: :[[@LINE-2]]:1: error
64# ERROR-V81M_DSP: :[[@LINE-3]]:1: error
65# ERROR-V81M_FP: :[[@LINE-4]]:1: error
66# ERROR-V81M_FPDP: :[[@LINE-5]]:1: error
67
68vcadd.i8 q0, q1, q2, #90
69# ERROR-V8M: :[[@LINE-1]]:1: error
70# ERROR-V81M: :[[@LINE-2]]:1: error
71# ERROR-V81M_DSP: :[[@LINE-3]]:1: error
72# ERROR-V81M_FP: :[[@LINE-4]]:1: error
73# ERROR-V81M_FPDP: :[[@LINE-5]]:1: error
74