[AMDGPU] Make v8i16/v8f16 legal
[llvm-project.git] / mlir / test / mlir-tblgen / op-error.td
blob4be846b9a940fa37f4775c26bb340f7baca8df3e
1 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR1 %s 2>&1 | FileCheck --check-prefix=ERROR1 %s
2 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR2 %s 2>&1 | FileCheck --check-prefix=ERROR2 %s
3 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR3 %s 2>&1 | FileCheck --check-prefix=ERROR3 %s
4 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR4 %s 2>&1 | FileCheck --check-prefix=ERROR4 %s
5 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR5 %s 2>&1 | FileCheck --check-prefix=ERROR5 %s
6 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR6 %s 2>&1 | FileCheck --check-prefix=ERROR6 %s
7 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR7 %s 2>&1 | FileCheck --check-prefix=ERROR7 %s
8 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR8 %s 2>&1 | FileCheck --check-prefix=ERROR8 %s
9 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR9 %s 2>&1 | FileCheck --check-prefix=ERROR9 %s
10 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR10 %s 2>&1 | FileCheck --check-prefix=ERROR10 %s
11 // RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR11 %s 2>&1 | FileCheck --check-prefix=ERROR11 %s
13 include "mlir/IR/OpBase.td"
15 def Test_Dialect : Dialect {
16   let name = "test_dialect";
19 #ifdef ERROR1
20 // ERROR1: error: expected 'ins'
21 def OpInsMissing : Op<Test_Dialect, "ins_missing"> {
22   let builders = [
23     OpBuilder<(outs)>
24   ];
26 #endif
28 #ifdef ERROR2
29 // ERROR2: error: expected an argument with default value after other arguments with default values
30 def OpDefaultValueNotTrailing : Op<Test_Dialect, "default_value"> {
31   let builders = [
32     OpBuilder<(ins CArg<"int", "42">, "int")>
33   ];
35 #endif
37 #ifdef ERROR3
38 // ERROR3: error: expected an argument with default value after other arguments with default values
39 def OpDefaultValueNotTrailing : Op<Test_Dialect, "default_value"> {
40   let builders = [
41     OpBuilder<(ins CArg<"int", "42">, CArg<"int">)>
42   ];
44 #endif
46 #ifdef ERROR4
47 // ERROR4: error: op has a conflict with two operands having the same name 'tensor'
48 def OpWithDuplicatedArgNames : Op<Test_Dialect, "default_value"> {
49   let arguments = (ins AnyTensor:$tensor, AnyTensor:$tensor);
51 #endif
53 #ifdef ERROR5
54 // ERROR5: error: op has a conflict with two results having the same name 'tensor'
55 def OpWithDuplicatedResultNames : Op<Test_Dialect, "default_value"> {
56   let results = (outs AnyTensor:$tensor, AnyTensor:$tensor);
58 #endif
60 #ifdef ERROR6
61 // ERROR6: error: op has a conflict with operands and results both having an entry with the name 'tensor'
62 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
63   let arguments = (ins AnyTensor:$tensor);
64   let results = (outs AnyTensor:$tensor);
66 #endif
68 #ifdef ERROR7
69 // ERROR7: error: op has a conflict with operands and regions both having an entry with the name 'tensor'
70 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
71   let arguments = (ins AnyTensor:$tensor);
72   let regions = (region AnyRegion:$tensor);
74 #endif
76 #ifdef ERROR8
77 // ERROR8: error: op has a conflict with results and regions both having an entry with the name 'tensor'
78 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
79   let results = (outs AnyTensor:$tensor);
80   let regions = (region AnyRegion:$tensor);
82 #endif
84 #ifdef ERROR9
85 // ERROR9: error: op has a conflict with operands and successors both having an entry with the name 'target'
86 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
87   let successors = (successor AnySuccessor:$target);
88   let arguments = (ins AnyTensor:$target);
90 #endif
92 #ifdef ERROR10
93 // ERROR10: error: op has a conflict with results and successors both having an entry with the name 'target'
94 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
95   let successors = (successor AnySuccessor:$target);
96   let results = (outs AnyTensor:$target);
98 #endif
100 #ifdef ERROR11
101 // ERROR11: error: op has a conflict with regions and successors both having an entry with the name 'target'
102 def OpWithDuplicatedArgResultNames : Op<Test_Dialect, "default_value"> {
103   let successors = (successor AnySuccessor:$target);
104   let regions = (region AnyRegion:$target);
106 #endif