[clang-tidy][NFC]remove deps of clang in clang tidy test (#116588)
[llvm-project.git] / mlir / test / Dialect / Arith / emulate-wide-int-unsupported.mlir
blob091dd15dcd8517c00ea2eea0a7fa2282a6669bb4
1 // RUN: mlir-opt --arith-emulate-wide-int="widest-int-supported=32" \
2 // RUN:   --split-input-file --verify-diagnostics %s
4 // Make sure we do not crash on unsupported types.
6 // Unsupported result type in `arith.extsi`.
7 func.func @unsupported_result_integer(%arg0: i64) -> i64 {
8   // expected-error@+1 {{failed to legalize operation 'arith.extsi' that was explicitly marked illegal}}
9   %0 = arith.extsi %arg0: i64 to i128
10   %2 = arith.muli %0, %0 : i128
11   %3 = arith.trunci %2 : i128 to i64
12   return %3 : i64
15 // -----
17 // Unsupported result type in `arith.extsi`.
18 func.func @unsupported_result_vector(%arg0: vector<4xi64>) -> vector<4xi64> {
19   // expected-error@+1 {{failed to legalize operation 'arith.extsi' that was explicitly marked illegal}}
20   %0 = arith.extsi %arg0: vector<4xi64> to vector<4xi128>
21   %2 = arith.muli %0, %0 : vector<4xi128>
22   %3 = arith.trunci %2 : vector<4xi128> to vector<4xi64>
23   return %3 : vector<4xi64>
26 // -----
28 // Unsupported function return type.
29 // expected-error@+1 {{failed to legalize operation 'func.func' that was explicitly marked illegal}}
30 func.func @unsupported_return_type(%arg0: vector<4xi64>) -> vector<4xi128> {
31   %0 = arith.extsi %arg0: vector<4xi64> to vector<4xi128>
32   return %0 : vector<4xi128>
35 // -----
37 // Unsupported function argument type.
38 // expected-error@+1 {{failed to legalize operation 'func.func' that was explicitly marked illegal}}
39 func.func @unsupported_argument_type(%arg0: vector<4xi128>) -> vector<4xi64> {
40   %0 = arith.trunci %arg0: vector<4xi128> to vector<4xi64>
41   return %0 : vector<4xi64>