xref: /llvm-project/llvm/test/Assembler/nofpclass-invalid.ll (revision 5da674492a5acf8e08a58f611e39ff4cd6a16dfe)
1; RUN: rm -rf %t && split-file %s %t
2
3; RUN: not llvm-as %t/nofpclass_0.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MASKVALUE0 %s
4; RUN: not llvm-as %t/nofpclass_1024.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MASKVALUE1024 %s
5; RUN: not llvm-as %t/nofpclass_two_numbers.ll -o /dev/null 2>&1 | FileCheck -check-prefix=TWONUMBERS %s
6; RUN: not llvm-as %t/nofpclass_two_numbers_bar.ll -o /dev/null 2>&1 | FileCheck -check-prefix=TWONUMBERSBAR %s
7; RUN: not llvm-as %t/nofpclass_two_numbers_neg1.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MASKVALUENEG1 %s
8; RUN: not llvm-as %t/nofpclass_only_keyword.ll -o /dev/null 2>&1 | FileCheck -check-prefix=ONLYKEYWORD %s
9; RUN: not llvm-as %t/nofpclass_openparen.ll -o /dev/null 2>&1 | FileCheck -check-prefix=OPENPAREN %s
10; RUN: not llvm-as %t/nofpclass_closeparen.ll -o /dev/null 2>&1 | FileCheck -check-prefix=CLOSEPAREN %s
11; RUN: not llvm-as %t/nofpclass_emptyparens.ll -o /dev/null 2>&1 | FileCheck -check-prefix=EMPTYPARENS %s
12; RUN: not llvm-as %t/nofpclass_0_missingparen.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MISSINGPAREN0 %s
13; RUN: not llvm-as %t/nofpclass_0_noparens.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NOPARENS0 %s
14; RUN: not llvm-as %t/nofpclass_1024_missing_paren.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MISSINGPAREN1024 %s
15; RUN: not llvm-as %t/nofpclass_neg1_missing_paren.ll -o /dev/null 2>&1 | FileCheck -check-prefix=MISSINGPAREN-NEGONE %s
16; RUN: not llvm-as %t/nofpclass_1_noparens.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NOPARENS-ONE %s
17; RUN: not llvm-as %t/nofpclass_nan_noparens.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NOPARENS-NAN %s
18; RUN: not llvm-as %t/nofpclass_nnan_noparens.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NOPARENS-NNAN %s
19; RUN: not llvm-as %t/nofpclass_name_plus_int.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NAME-PLUS-INT %s
20; RUN: not llvm-as %t/nofpclass_name_follows_int.ll -o /dev/null 2>&1 | FileCheck -check-prefix=NAME-FOLLOWS-INT %s
21
22;--- nofpclass_0.ll
23
24; MASKVALUE0: error: invalid mask value for 'nofpclass'
25define void @nofpclass_0(float nofpclass(0) %x) {
26  ret void
27}
28
29;--- nofpclass_1024.ll
30
31; MASKVALUE1024: error: invalid mask value for 'nofpclass'
32define void @nofpclass_1024(float nofpclass(1024) %x) {
33  ret void
34}
35
36;--- nofpclass_two_numbers.ll
37; TWONUMBERS: error: expected ')'
38define void @nofpclass_two_numbers(float nofpclass(2 4) %x) {
39  ret void
40}
41
42;--- nofpclass_two_numbers_bar.ll
43; TWONUMBERSBAR: error: expected ')'
44define void @nofpclass_two_numbers_bar(float nofpclass(2|4) %x) {
45  ret void
46}
47
48;--- nofpclass_two_numbers_neg1.ll
49; MASKVALUENEG1: error: expected nofpclass test mask
50define void @nofpclass_neg1(float nofpclass(-1) %x) {
51  ret void
52}
53
54;--- nofpclass_only_keyword.ll
55; ONLYKEYWORD: error: expected '('
56define void @nofpclass_only_keyword(float nofpclass %x) {
57  ret void
58}
59
60; FIXME: Poor diagnostic
61;--- nofpclass_openparen.ll
62; OPENPAREN: error: expected nofpclass test mask
63define void @nofpclass_openparen(float nofpclass( %x) {
64  ret void
65}
66
67;--- nofpclass_closeparen.ll
68; CLOSEPAREN: error: expected '('
69define void @nofpclass_closeparen(float nofpclass) %x) {
70  ret void
71}
72
73;--- nofpclass_emptyparens.ll
74; EMPTYPARENS: error: expected nofpclass test mask
75define void @nofpclass_emptyparens(float nofpclass() %x) {
76  ret void
77}
78
79; FIXME: Wrong error?
80;--- nofpclass_0_missingparen.ll
81; MISSINGPAREN0: error: invalid mask value for 'nofpclass'
82define void @nofpclass_0_missingparen(float nofpclass(0 %x) {
83  ret void
84}
85
86;--- nofpclass_0_noparens.ll
87; NOPARENS0: error: expected '('
88define void @nofpclass_0_noparens(float nofpclass 0 %x) {
89  ret void
90}
91
92; FIXME: Wrong error
93;--- nofpclass_1024_missing_paren.ll
94; MISSINGPAREN1024: error: invalid mask value for 'nofpclass'
95define void @nofpclass_1024_missing_paren(float nofpclass(1024 %x) {
96  ret void
97}
98
99;--- nofpclass_neg1_missing_paren.ll
100; MISSINGPAREN-NEGONE: error: expected nofpclass test mask
101define void @nofpclass_neg1_missing_paren(float nofpclass(-1 %x) {
102  ret void
103}
104
105;--- nofpclass_1_noparens.ll
106; NOPARENS-ONE: error: expected '('
107define void @nofpclass_1_noparens(float nofpclass 1 %x) {
108  ret void
109}
110
111;--- nofpclass_nan_noparens.ll
112; NOPARENS-NAN: error: expected '('
113define void @nofpclass_nan_noparens(float nofpclass nan %x) {
114  ret void
115}
116
117;--- nofpclass_nnan_noparens.ll
118; NOPARENS-NNAN: error: expected '('
119define void @nofpclass_nnan_noparens(float nofpclass nnan %x) {
120  ret void
121}
122
123;--- nofpclass_name_plus_int.ll
124; NAME-PLUS-INT: error: expected nofpclass test mask
125define void @nofpclass_name_plus_int(float nofpclass(nan 42) %x) {
126  ret void
127}
128
129;--- nofpclass_name_follows_int.ll
130; NAME-FOLLOWS-INT: error: expected ')'
131define void @nofpclass_name_plus_int(float nofpclass(42 nan) %x) {
132  ret void
133}
134