// RUN: mlir-opt -split-input-file -verify-diagnostics %s | FileCheck %s
//===----------------------------------------------------------------------===//
// spirv.Undef
//===----------------------------------------------------------------------===//
func.func @undef() -> () {
// CHECK: %{{.*}} = spirv.Undef : f32
%0 = spirv.Undef : f32
// CHECK: %{{.*}} = spirv.Undef : vector<4xf32>
%1 = spirv.Undef : vector<4xf32>
spirv.Return
}
// -----
func.func @undef() -> () {
// expected-error @+1{{expected non-function type}}
%0 = spirv.Undef :
spirv.Return
}
// -----
func.func @undef() -> () {
// expected-error @+1{{expected ':'}}
%0 = spirv.Undef
spirv.Return
}
// -----
func.func @assume_true(%arg : i1) -> () {
// CHECK: spirv.KHR.AssumeTrue %{{.*}}
spirv.KHR.AssumeTrue %arg
spirv.Return
}
// -----
func.func @assume_true(%arg : f32) -> () {
// expected-error @+2{{use of value '%arg' expects different type than prior uses: 'i1' vs 'f32'}}
// expected-note @-2 {{prior use here}}
spirv.KHR.AssumeTrue %arg
spirv.Return
}