Skip to content

[mlir] Dialect/SPIRV/IR/availability.mlir and Dialect/SPIRV/IR/target-env.mlir test failures when built with GCC 14 #124410

Open
@mgorny

Description

@mgorny

For a while now (i.e. since I've started trying to package MLIR), I've seen the following tests fail:

Failed Tests (2):
  MLIR :: Dialect/SPIRV/IR/availability.mlir
  MLIR :: Dialect/SPIRV/IR/target-env.mlir

The latest repro was with 1f26ac1.

I'm building with:

cmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS='clang;mlir;flang' -DLLVM_CCACHE_BUILD=ON -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON
ninja
ninja check-mlir
Full output
[0/1] Running the MLIR regression tests
-- Testing: 2566 tests, 12 workers --
Testing: 
FAIL: MLIR :: Dialect/SPIRV/IR/target-env.mlir (1 of 2566)
******************** TEST 'MLIR :: Dialect/SPIRV/IR/target-env.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/mgorny/git/llvm-project/build/bin/mlir-opt --split-input-file --verify-diagnostics --mlir-disable-threading    --test-spirv-target-env /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir | /home/mgorny/git/llvm-project/build/bin/FileCheck /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir
# executed command: /home/mgorny/git/llvm-project/build/bin/mlir-opt --split-input-file --verify-diagnostics --mlir-disable-threading --test-spirv-target-env /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir
# executed command: /home/mgorny/git/llvm-project/build/bin/FileCheck /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir
# .---command stderr------------
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:142:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.SDot
# |            ^
# | <stdin>:39:45: note: scanning from here
# |  func.func @sdot_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                             ^
# | <stdin>:39:77: note: possible intended match here
# |  func.func @sdot_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                             ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:172:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.SUDot
# |            ^
# | <stdin>:51:47: note: scanning from here
# |  func.func @sudot_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                               ^
# | <stdin>:51:212: note: possible intended match here
# |  func.func @sudot_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                                                                                                                                                                    ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:202:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.UDot
# |            ^
# | <stdin>:63:47: note: scanning from here
# |  func.func @udot_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                               ^
# | <stdin>:63:89: note: possible intended match here
# |  func.func @udot_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                                         ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:232:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.SDotAccSat
# |            ^
# | <stdin>:75:53: note: scanning from here
# |  func.func @sdot_acc_sat_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                     ^
# | <stdin>:75:215: note: possible intended match here
# |  func.func @sdot_acc_sat_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                                                                                                                                                                       ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:243:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.SUDotAccSat
# |            ^
# | <stdin>:79:55: note: scanning from here
# |  func.func @sudot_acc_sat_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>, %arg1: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                       ^
# | <stdin>:79:232: note: possible intended match here
# |  func.func @sudot_acc_sat_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>, %arg1: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                                                                                                                                                                                        ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:273:12: error: CHECK: expected string not found in input
# |  // CHECK: spirv.UDotAccSat
# |            ^
# | <stdin>:91:55: note: scanning from here
# |  func.func @udot_acc_sat_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                       ^
# | <stdin>:91:244: note: possible intended match here
# |  func.func @udot_acc_sat_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} {
# |                                                                                                                                                                                                                                                    ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:383:12: error: CHECK: expected string not found in input
# |  // CHECK: test.convert_to_udot_op
# |            ^
# | <stdin>:138:52: note: scanning from here
# |  func.func @udot_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} {
# |                                                    ^
# | <stdin>:138:151: note: possible intended match here
# |  func.func @udot_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} {
# |                                                                                                                                                       ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir:405:12: error: CHECK: expected string not found in input
# |  // CHECK: test.convert_to_sdot_acc_sat_op
# |            ^
# | <stdin>:146:60: note: scanning from here
# |  func.func @sdot_acc_sat_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} {
# |                                                            ^
# | <stdin>:146:109: note: possible intended match here
# |  func.func @sdot_acc_sat_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} {
# |                                                                                                             ^
# | 
# | Input file: <stdin>
# | Check file: /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/target-env.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             34:  } 
# |             35:  func.func @bit_reverse_recursively_implied_capability(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [GeometryPointSize], []>, #spirv.resource_limits<>>} { 
# |             36:  %0 = spirv.BitReverse %arg0 : i32 
# |             37:  return %0 : i32 
# |             38:  } 
# |             39:  func.func @sdot_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:142'0                                                 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:142'1                                                                                 ?                                                                                                                                                              possible intended match
# |             40:  %0 = "test.convert_to_sdot_op"(%arg0, %arg0) {format = #spirv.packed_vector_format<PackedVectorFormat4x8Bit>} : (i32, i32) -> i32 
# | check:142'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             41:  return %0 : i32 
# | check:142'0     ~~~~~~~~~~~~~~~~~
# |             42:  } 
# | check:142'0     ~~~
# |             43:  func.func @sdot_scalar_i32_i32_missing_capability1(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:142'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             44:  %0 = "test.convert_to_sdot_op"(%arg0, %arg0) {format = #spirv.packed_vector_format<PackedVectorFormat4x8Bit>} : (i32, i32) -> i32 
# |             45:  return %0 : i32 
# |             46:  } 
# |             47:  func.func @sdot_scalar_i32_i32_missing_capability2(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# |             48:  %0 = "test.convert_to_sdot_op"(%arg0, %arg0) {format = #spirv.packed_vector_format<PackedVectorFormat4x8Bit>} : (i32, i32) -> i32 
# |             49:  return %0 : i32 
# |             50:  } 
# |             51:  func.func @sudot_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:172'0                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:172'1                                                                                                                                                                                                                        ?                            possible intended match
# |             52:  %0 = "test.convert_to_sudot_op"(%arg0, %arg0) : (vector<4xi8>, vector<4xi8>) -> i32 
# | check:172'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             53:  return %0 : i32 
# | check:172'0     ~~~~~~~~~~~~~~~~~
# |             54:  } 
# | check:172'0     ~~~
# |             55:  func.func @sudot_vector_4xi8_i32_missing_capability1(%arg0: vector<4xi8>) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:172'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             56:  %0 = "test.convert_to_sudot_op"(%arg0, %arg0) : (vector<4xi8>, vector<4xi8>) -> i32 
# |             57:  return %0 : i32 
# |             58:  } 
# |             59:  func.func @sudot_vector_4xi8_i32_missing_capability2(%arg0: vector<4xi8>) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# |             60:  %0 = "test.convert_to_sudot_op"(%arg0, %arg0) : (vector<4xi8>, vector<4xi8>) -> i32 
# |             61:  return %0 : i32 
# |             62:  } 
# |             63:  func.func @udot_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:202'0                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:202'1                                                                                             ?                                                                                                                                                                   possible intended match
# |             64:  %0 = "test.convert_to_udot_op"(%arg0, %arg0) : (vector<4xi16>, vector<4xi16>) -> i64 
# | check:202'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             65:  return %0 : i64 
# | check:202'0     ~~~~~~~~~~~~~~~~~
# |             66:  } 
# | check:202'0     ~~~
# |             67:  func.func @udot_vector_4xi16_i64_missing_capability1(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:202'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             68:  %0 = "test.convert_to_udot_op"(%arg0, %arg0) : (vector<4xi16>, vector<4xi16>) -> i64 
# |             69:  return %0 : i64 
# |             70:  } 
# |             71:  func.func @udot_vector_4xi16_i64_missing_capability2(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# |             72:  %0 = "test.convert_to_udot_op"(%arg0, %arg0) : (vector<4xi16>, vector<4xi16>) -> i64 
# |             73:  return %0 : i64 
# |             74:  } 
# |             75:  func.func @sdot_acc_sat_scalar_i32_i32_capabilities(%arg0: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8BitPacked], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:232'0                                                         X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:232'1                                                                                                                                                                                                                           ?                            possible intended match
# |             76:  %0 = "test.convert_to_sdot_acc_sat_op"(%arg0, %arg0, %arg0) {format = #spirv.packed_vector_format<PackedVectorFormat4x8Bit>} : (i32, i32, i32) -> i32 
# | check:232'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             77:  return %0 : i32 
# | check:232'0     ~~~~~~~~~~~~~~~~~
# |             78:  } 
# | check:232'0     ~~~
# |             79:  func.func @sudot_acc_sat_vector_4xi8_i32_capabilities(%arg0: vector<4xi8>, %arg1: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInput4x8Bit], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:232'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:243'0                                                           X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:243'1                                                                                                                                                                                                                                            ?                            possible intended match
# |             80:  %0 = "test.convert_to_sudot_acc_sat_op"(%arg0, %arg0, %arg1) : (vector<4xi8>, vector<4xi8>, i32) -> i32 
# | check:243'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             81:  return %0 : i32 
# | check:243'0     ~~~~~~~~~~~~~~~~~
# |             82:  } 
# | check:243'0     ~~~
# |             83:  func.func @udot_acc_sat_vector_4xi8_i32_missing_capability1(%arg0: vector<4xi8>, %arg1: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:243'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             84:  %0 = "test.convert_to_udot_acc_sat_op"(%arg0, %arg0, %arg1) : (vector<4xi8>, vector<4xi8>, i32) -> i32 
# |             85:  return %0 : i32 
# |             86:  } 
# |             87:  func.func @udot_acc_sat_vector_4xi8_i32_missing_capability2(%arg0: vector<4xi8>, %arg1: i32) -> i32 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProductInputAll, DotProductInput4x8Bit, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# |             88:  %0 = "test.convert_to_udot_acc_sat_op"(%arg0, %arg0, %arg1) : (vector<4xi8>, vector<4xi8>, i32) -> i32 
# |             89:  return %0 : i32 
# |             90:  } 
# |             91:  func.func @udot_acc_sat_vector_4xi16_i64_capabilities(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProduct, DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:273'0                                                           X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:273'1                                                                                                                                                                                                                                                        ?                            possible intended match
# |             92:  %0 = "test.convert_to_udot_acc_sat_op"(%arg0, %arg0, %arg1) : (vector<4xi16>, vector<4xi16>, i64) -> i64 
# | check:273'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             93:  return %0 : i64 
# | check:273'0     ~~~~~~~~~~~~~~~~~
# |             94:  } 
# | check:273'0     ~~~
# |             95:  func.func @udot_acc_sat_vector_4xi16_i64_missing_capability1(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.0, [DotProductInputAll, Int16, Int64], [SPV_KHR_integer_dot_product]>, #spirv.resource_limits<>>} { 
# | check:273'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             96:  %0 = "test.convert_to_udot_acc_sat_op"(%arg0, %arg0, %arg1) : (vector<4xi16>, vector<4xi16>, i64) -> i64 
# |              .
# |              .
# |              .
# |            133:  } 
# |            134:  func.func @udot_vector_4xi16_i64_implied_extension(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.6, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} { 
# |            135:  %0 = spirv.UDot %arg0, %arg0 : vector<4xi16> -> i64 
# |            136:  return %0 : i64 
# |            137:  } 
# |            138:  func.func @udot_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} { 
# | check:383'0                                                        X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:383'1                                                                                                                                                           ?                                                                               possible intended match
# |            139:  %0 = spirv.UDot %arg0, %arg0 : vector<4xi16> -> i64 
# | check:383'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            140:  return %0 : i64 
# | check:383'0     ~~~~~~~~~~~~~~~~~
# |            141:  } 
# | check:383'0     ~~~
# |            142:  func.func @sdot_acc_sat_vector_4xi16_i64_implied_extension(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.6, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} { 
# | check:383'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            143:  %0 = spirv.SDotAccSat %arg0, %arg0, %arg1 : vector<4xi16> -> i64 
# |            144:  return %0 : i64 
# |            145:  } 
# |            146:  func.func @sdot_acc_sat_vector_4xi16_i64_missing_extension(%arg0: vector<4xi16>, %arg1: i64) -> i64 attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.5, [DotProduct, DotProductInputAll, Int16, Int64], []>, #spirv.resource_limits<>>} { 
# | check:405'0                                                                X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:405'1                                                                                                                 ?                                                                                                                                             possible intended match
# |            147:  %0 = spirv.SDotAccSat %arg0, %arg0, %arg1 : vector<4xi16> -> i64 
# | check:405'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            148:  return %0 : i64 
# | check:405'0     ~~~~~~~~~~~~~~~~~
# |            149:  } 
# | check:405'0     ~~~
# |            150: } 
# | check:405'0     ~~
# |            151:  
# | check:405'0     ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************
Testing: 
FAIL: MLIR :: Dialect/SPIRV/IR/availability.mlir (2 of 2566)
******************** TEST 'MLIR :: Dialect/SPIRV/IR/availability.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/mgorny/git/llvm-project/build/bin/mlir-opt -mlir-disable-threading -test-spirv-op-availability /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir | /home/mgorny/git/llvm-project/build/bin/FileCheck /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir
# executed command: /home/mgorny/git/llvm-project/build/bin/mlir-opt -mlir-disable-threading -test-spirv-op-availability /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir
# executed command: /home/mgorny/git/llvm-project/build/bin/FileCheck /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir
# .---command stderr------------
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:61:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:28:29: note: scanning from here
# | spirv.SDot max version: v1.6
# |                             ^
# | <stdin>:29:12: note: possible intended match here
# | spirv.SDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:71:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:33:29: note: scanning from here
# | spirv.SDot max version: v1.6
# |                             ^
# | <stdin>:34:12: note: possible intended match here
# | spirv.SDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:81:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:38:29: note: scanning from here
# | spirv.SDot max version: v1.6
# |                             ^
# | <stdin>:39:12: note: possible intended match here
# | spirv.SDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:91:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:43:30: note: scanning from here
# | spirv.SUDot max version: v1.6
# |                              ^
# | <stdin>:44:13: note: possible intended match here
# | spirv.SUDot extensions: [ [] ]
# |             ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:101:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:48:30: note: scanning from here
# | spirv.SUDot max version: v1.6
# |                              ^
# | <stdin>:49:13: note: possible intended match here
# | spirv.SUDot extensions: [ [] ]
# |             ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:111:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:53:30: note: scanning from here
# | spirv.SUDot max version: v1.6
# |                              ^
# | <stdin>:54:13: note: possible intended match here
# | spirv.SUDot extensions: [ [] ]
# |             ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:121:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:58:29: note: scanning from here
# | spirv.UDot max version: v1.6
# |                             ^
# | <stdin>:59:12: note: possible intended match here
# | spirv.UDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:131:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:63:29: note: scanning from here
# | spirv.UDot max version: v1.6
# |                             ^
# | <stdin>:64:12: note: possible intended match here
# | spirv.UDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:141:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:68:29: note: scanning from here
# | spirv.UDot max version: v1.6
# |                             ^
# | <stdin>:69:12: note: possible intended match here
# | spirv.UDot extensions: [ [] ]
# |            ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:151:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:73:35: note: scanning from here
# | spirv.SDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:74:18: note: possible intended match here
# | spirv.SDotAccSat extensions: [ [] ]
# |                  ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:161:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:78:35: note: scanning from here
# | spirv.SDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:79:18: note: possible intended match here
# | spirv.SDotAccSat extensions: [ [] ]
# |                  ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:171:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:83:35: note: scanning from here
# | spirv.SDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:84:18: note: possible intended match here
# | spirv.SDotAccSat extensions: [ [] ]
# |                  ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:181:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:88:36: note: scanning from here
# | spirv.SUDotAccSat max version: v1.6
# |                                    ^
# | <stdin>:89:19: note: possible intended match here
# | spirv.SUDotAccSat extensions: [ [] ]
# |                   ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:191:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:93:36: note: scanning from here
# | spirv.SUDotAccSat max version: v1.6
# |                                    ^
# | <stdin>:94:19: note: possible intended match here
# | spirv.SUDotAccSat extensions: [ [] ]
# |                   ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:201:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:98:36: note: scanning from here
# | spirv.SUDotAccSat max version: v1.6
# |                                    ^
# | <stdin>:99:19: note: possible intended match here
# | spirv.SUDotAccSat extensions: [ [] ]
# |                   ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:211:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:103:35: note: scanning from here
# | spirv.UDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:104:18: note: possible intended match here
# | spirv.UDotAccSat extensions: [ [] ]
# |                  ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:221:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:108:35: note: scanning from here
# | spirv.UDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:109:18: note: possible intended match here
# | spirv.UDotAccSat extensions: [ [] ]
# |                  ^
# | /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir:231:12: error: CHECK: expected string not found in input
# |  // CHECK: extensions: [ [SPV_KHR_integer_dot_product] ]
# |            ^
# | <stdin>:113:35: note: scanning from here
# | spirv.UDotAccSat max version: v1.6
# |                                   ^
# | <stdin>:114:18: note: possible intended match here
# | spirv.UDotAccSat extensions: [ [] ]
# |                  ^
# | 
# | Input file: <stdin>
# | Check file: /home/mgorny/git/llvm-project/mlir/test/Dialect/SPIRV/IR/availability.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             23: spirv.module max version: v1.6 
# |             24: spirv.module extensions: [ [SPV_EXT_physical_storage_buffer, SPV_KHR_physical_storage_buffer] [SPV_KHR_vulkan_memory_model] ] 
# |             25: spirv.module capabilities: [ [PhysicalStorageBufferAddresses] [VulkanMemoryModel] ] 
# |             26: sdot_scalar_i32_i32 
# |             27: spirv.SDot min version: v1.0 
# |             28: spirv.SDot max version: v1.6 
# | check:61'0                                  X error: no match found
# |             29: spirv.SDot extensions: [ [] ] 
# | check:61'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:61'1                 ?                   possible intended match
# |             30: spirv.SDot capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:61'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             31: sdot_vector_4xi8_i64 
# | check:61'0      ~~~~~~~~~~~~~~~~~~~~
# |             32: spirv.SDot min version: v1.0 
# |             33: spirv.SDot max version: v1.6 
# | check:71'0                                  X error: no match found
# |             34: spirv.SDot extensions: [ [] ] 
# | check:71'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:71'1                 ?                   possible intended match
# |             35: spirv.SDot capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:71'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             36: sdot_vector_4xi16_i64 
# | check:71'0      ~~~~~~~~~~~~~~~~~~~~~
# |             37: spirv.SDot min version: v1.0 
# |             38: spirv.SDot max version: v1.6 
# | check:81'0                                  X error: no match found
# |             39: spirv.SDot extensions: [ [] ] 
# | check:81'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:81'1                 ?                   possible intended match
# |             40: spirv.SDot capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:81'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             41: sudot_scalar_i32_i32 
# | check:81'0      ~~~~~~~~~~~~~~~~~~~~
# |             42: spirv.SUDot min version: v1.0 
# |             43: spirv.SUDot max version: v1.6 
# | check:91'0                                   X error: no match found
# |             44: spirv.SUDot extensions: [ [] ] 
# | check:91'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:91'1                  ?                   possible intended match
# |             45: spirv.SUDot capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:91'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             46: sudot_vector_4xi8_i64 
# | check:91'0      ~~~~~~~~~~~~~~~~~~~~~
# |             47: spirv.SUDot min version: v1.0 
# |             48: spirv.SUDot max version: v1.6 
# | check:101'0                                  X error: no match found
# |             49: spirv.SUDot extensions: [ [] ] 
# | check:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:101'1                 ?                   possible intended match
# |             50: spirv.SUDot capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             51: sudot_vector_4xi16_i64 
# | check:101'0     ~~~~~~~~~~~~~~~~~~~~~~
# |             52: spirv.SUDot min version: v1.0 
# |             53: spirv.SUDot max version: v1.6 
# | check:111'0                                  X error: no match found
# |             54: spirv.SUDot extensions: [ [] ] 
# | check:111'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:111'1                 ?                   possible intended match
# |             55: spirv.SUDot capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:111'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             56: udot_scalar_i32_i32 
# | check:111'0     ~~~~~~~~~~~~~~~~~~~
# |             57: spirv.UDot min version: v1.0 
# |             58: spirv.UDot max version: v1.6 
# | check:121'0                                 X error: no match found
# |             59: spirv.UDot extensions: [ [] ] 
# | check:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:121'1                ?                   possible intended match
# |             60: spirv.UDot capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             61: udot_vector_4xi8_i64 
# | check:121'0     ~~~~~~~~~~~~~~~~~~~~
# |             62: spirv.UDot min version: v1.0 
# |             63: spirv.UDot max version: v1.6 
# | check:131'0                                 X error: no match found
# |             64: spirv.UDot extensions: [ [] ] 
# | check:131'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:131'1                ?                   possible intended match
# |             65: spirv.UDot capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:131'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             66: udot_vector_4xi16_i64 
# | check:131'0     ~~~~~~~~~~~~~~~~~~~~~
# |             67: spirv.UDot min version: v1.0 
# |             68: spirv.UDot max version: v1.6 
# | check:141'0                                 X error: no match found
# |             69: spirv.UDot extensions: [ [] ] 
# | check:141'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:141'1                ?                   possible intended match
# |             70: spirv.UDot capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:141'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             71: sdot_acc_sat_scalar_i32_i32 
# | check:141'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             72: spirv.SDotAccSat min version: v1.0 
# |             73: spirv.SDotAccSat max version: v1.6 
# | check:151'0                                       X error: no match found
# |             74: spirv.SDotAccSat extensions: [ [] ] 
# | check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:151'1                      ?                   possible intended match
# |             75: spirv.SDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             76: sdot_acc_sat_vector_4xi8_i64 
# | check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             77: spirv.SDotAccSat min version: v1.0 
# |             78: spirv.SDotAccSat max version: v1.6 
# | check:161'0                                       X error: no match found
# |             79: spirv.SDotAccSat extensions: [ [] ] 
# | check:161'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:161'1                      ?                   possible intended match
# |             80: spirv.SDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:161'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             81: sdot_acc_sat_vector_4xi16_i64 
# | check:161'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             82: spirv.SDotAccSat min version: v1.0 
# |             83: spirv.SDotAccSat max version: v1.6 
# | check:171'0                                       X error: no match found
# |             84: spirv.SDotAccSat extensions: [ [] ] 
# | check:171'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:171'1                      ?                   possible intended match
# |             85: spirv.SDotAccSat capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:171'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             86: sudot_acc_sat_scalar_i32_i32 
# | check:171'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             87: spirv.SUDotAccSat min version: v1.0 
# |             88: spirv.SUDotAccSat max version: v1.6 
# | check:181'0                                        X error: no match found
# |             89: spirv.SUDotAccSat extensions: [ [] ] 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:181'1                       ?                   possible intended match
# |             90: spirv.SUDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             91: sudot_acc_sat_vector_4xi8_i64 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             92: spirv.SUDotAccSat min version: v1.0 
# |             93: spirv.SUDotAccSat max version: v1.6 
# | check:191'0                                        X error: no match found
# |             94: spirv.SUDotAccSat extensions: [ [] ] 
# | check:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:191'1                       ?                   possible intended match
# |             95: spirv.SUDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             96: sudot_acc_sat_vector_4xi16_i64 
# | check:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             97: spirv.SUDotAccSat min version: v1.0 
# |             98: spirv.SUDotAccSat max version: v1.6 
# | check:201'0                                        X error: no match found
# |             99: spirv.SUDotAccSat extensions: [ [] ] 
# | check:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:201'1                       ?                   possible intended match
# |            100: spirv.SUDotAccSat capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            101: udot_acc_sat_scalar_i32_i32 
# | check:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            102: spirv.UDotAccSat min version: v1.0 
# |            103: spirv.UDotAccSat max version: v1.6 
# | check:211'0                                       X error: no match found
# |            104: spirv.UDotAccSat extensions: [ [] ] 
# | check:211'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:211'1                      ?                   possible intended match
# |            105: spirv.UDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8BitPacked] ] 
# | check:211'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            106: udot_acc_sat_vector_4xi8_i64 
# | check:211'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            107: spirv.UDotAccSat min version: v1.0 
# |            108: spirv.UDotAccSat max version: v1.6 
# | check:221'0                                       X error: no match found
# |            109: spirv.UDotAccSat extensions: [ [] ] 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:221'1                      ?                   possible intended match
# |            110: spirv.UDotAccSat capabilities: [ [DotProduct] [DotProductInput4x8Bit] ] 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            111: udot_acc_sat_vector_4xi16_i64 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            112: spirv.UDotAccSat min version: v1.0 
# |            113: spirv.UDotAccSat max version: v1.6 
# | check:231'0                                       X error: no match found
# |            114: spirv.UDotAccSat extensions: [ [] ] 
# | check:231'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:231'1                      ?                   possible intended match
# |            115: spirv.UDotAccSat capabilities: [ [DotProduct] [DotProductInputAll] ] 
# | check:231'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            116: emit_vertex 
# | check:231'0     ~~~~~~~~~~~
# |            117: spirv.EmitVertex min version: v1.0 
# |            118: spirv.EmitVertex max version: v1.6 
# |            119: spirv.EmitVertex extensions: [ ] 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
********************
Failed Tests (2):
  MLIR :: Dialect/SPIRV/IR/availability.mlir
  MLIR :: Dialect/SPIRV/IR/target-env.mlir


Testing Time: 17.16s

Total Discovered Tests: 3057
  Skipped          :    3 (0.10%)
  Unsupported      :  522 (17.08%)
  Passed           : 2529 (82.73%)
  Expectedly Failed:    1 (0.03%)
  Failed           :    2 (0.07%)
FAILED: tools/mlir/test/CMakeFiles/check-mlir /home/mgorny/git/llvm-project/build/tools/mlir/test/CMakeFiles/check-mlir 
cd /home/mgorny/git/llvm-project/build/tools/mlir/test && /usr/bin/python3.13 /home/mgorny/git/llvm-project/build/./bin/llvm-lit -sv /home/mgorny/git/llvm-project/build/tools/mlir/test
ninja: build stopped: subcommand failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    incompleteIssue not complete (e.g. missing a reproducer, build arguments, etc.)mlir:spirvtest-suite

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions