@@ -81,4 +81,24 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
8181 %2 = spirv.GL.FindUMsb %arg0 : i32
8282 spirv.Return
8383 }
84+
85+ spirv.func @vector (%arg0 : f32 , %arg1 : vector <3 xf32 >, %arg2 : vector <3 xf32 >) " None" {
86+ // CHECK: {{%.*}} = spirv.GL.Cross {{%.*}}, {{%.*}} : vector<3xf32>
87+ %0 = spirv.GL.Cross %arg1 , %arg2 : vector <3 xf32 >
88+ // CHECK: {{%.*}} = spirv.GL.Normalize {{%.*}} : f32
89+ %1 = spirv.GL.Normalize %arg0 : f32
90+ // CHECK: {{%.*}} = spirv.GL.Normalize {{%.*}} : vector<3xf32>
91+ %2 = spirv.GL.Normalize %arg1 : vector <3 xf32 >
92+ // CHECK: {{%.*}} = spirv.GL.Reflect {{%.*}}, {{%.*}} : f32
93+ %3 = spirv.GL.Reflect %arg0 , %arg0 : f32
94+ // CHECK: {{%.*}} = spirv.GL.Reflect {{%.*}}, {{%.*}} : vector<3xf32>
95+ %4 = spirv.GL.Reflect %arg1 , %arg2 : vector <3 xf32 >
96+ // CHECK: {{%.*}} = spirv.GL.Distance {{%.*}}, {{%.*}} : f32, f32 -> f32
97+ %5 = spirv.GL.Distance %arg0 , %arg0 : f32 , f32 -> f32
98+ // CHECK: {{%.*}} = spirv.GL.Distance {{%.*}}, {{%.*}} : vector<3xf32>, vector<3xf32> -> f32
99+ %6 = spirv.GL.Distance %arg1 , %arg2 : vector <3 xf32 >, vector <3 xf32 > -> f32
100+ spirv.Return
101+ }
102+
103+
84104}
0 commit comments