Skip to content

Commit 52d61dd

Browse files
committed
more dialect tests
1 parent a288792 commit 52d61dd

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

mlir/test/Dialect/SPIRV/IR/gl-ops.mlir

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,3 +583,75 @@ func.func @distance_invalid_result(%arg0 : f32, %arg1 : f32) {
583583
%0 = spirv.GL.Distance %arg0, %arg1 : f32, f32 -> i32
584584
return
585585
}
586+
587+
// -----
588+
589+
//===----------------------------------------------------------------------===//
590+
// spirv.GL.Cross
591+
//===----------------------------------------------------------------------===//
592+
593+
func.func @cross(%arg0 : vector<3xf32>, %arg1 : vector<3xf32>) {
594+
%2 = spirv.GL.Cross %arg0, %arg1 : vector<3xf32>
595+
// CHECK: %{{.+}} = spirv.GL.Cross %{{.+}}, %{{.+}} : vector<3xf32>
596+
return
597+
}
598+
599+
// -----
600+
601+
func.func @cross_invalid_type(%arg0 : vector<3xi32>, %arg1 : vector<3xi32>) {
602+
// expected-error @+1 {{'spirv.GL.Cross' op operand #0 must be 16/32/64-bit float or vector of 16/32/64-bit float values of length 2/3/4/8/16, but got 'vector<3xi32>'}}
603+
%0 = spirv.GL.Cross %arg0, %arg1 : vector<3xi32>
604+
return
605+
}
606+
607+
// -----
608+
609+
//===----------------------------------------------------------------------===//
610+
// spirv.GL.Normalize
611+
//===----------------------------------------------------------------------===//
612+
613+
func.func @normalize_scalar(%arg0 : f32) {
614+
%2 = spirv.GL.Normalize %arg0 : f32
615+
// CHECK: %{{.+}} = spirv.GL.Normalize %{{.+}} : f32
616+
return
617+
}
618+
619+
func.func @normalize_vector(%arg0 : vector<3xf32>) {
620+
%2 = spirv.GL.Normalize %arg0 : vector<3xf32>
621+
// CHECK: %{{.+}} = spirv.GL.Normalize %{{.+}} : vector<3xf32>
622+
return
623+
}
624+
625+
// -----
626+
627+
func.func @normalize_invalid_type(%arg0 : i32) {
628+
// expected-error @+1 {{'spirv.GL.Normalize' op operand #0 must be 16/32/64-bit float or vector of 16/32/64-bit float values}}
629+
%0 = spirv.GL.Normalize %arg0 : i32
630+
return
631+
}
632+
633+
// -----
634+
635+
//===----------------------------------------------------------------------===//
636+
// spirv.GL.Reflect
637+
//===----------------------------------------------------------------------===//
638+
639+
func.func @reflect_scalar(%arg0 : f32, %arg1 : f32) {
640+
%2 = spirv.GL.Reflect %arg0, %arg1 : f32
641+
// CHECK: %{{.+}} = spirv.GL.Reflect %{{.+}}, %{{.+}} : f32
642+
return
643+
}
644+
645+
func.func @reflect_vector(%arg0 : vector<3xf32>, %arg1 : vector<3xf32>) {
646+
%2 = spirv.GL.Reflect %arg0, %arg1 : vector<3xf32>
647+
// CHECK: %{{.+}} = spirv.GL.Reflect %{{.+}}, %{{.+}} : vector<3xf32>
648+
return
649+
}
650+
651+
// -----
652+
653+
func.func @reflect_invalid_type(%arg0 : i32, %arg1 : i32) {
654+
// expected-error @+1 {{'spirv.GL.Reflect' op operand #0 must be 16/32/64-bit float or vector of 16/32/64-bit float values}}
655+
%0 = spirv.GL.Reflect %arg0, %arg1 : i32
656+
return
657+
}

0 commit comments

Comments
 (0)