1// RUN: mlir-translate -test-spirv-roundtrip %s | FileCheck %s
2
3spv.module Logical GLSL450 requires #spv.vce<v1.0, [Shader], []> {
4  spv.func @fmul(%arg0 : f32, %arg1 : f32) "None" {
5    // CHECK: {{%.*}} = spv.GLSL.Exp {{%.*}} : f32
6    %0 = spv.GLSL.Exp %arg0 : f32
7    // CHECK: {{%.*}} = spv.GLSL.FMax {{%.*}}, {{%.*}} : f32
8    %1 = spv.GLSL.FMax %arg0, %arg1 : f32
9    // CHECK: {{%.*}} = spv.GLSL.Sqrt {{%.*}} : f32
10    %2 = spv.GLSL.Sqrt %arg0 : f32
11    // CHECK: {{%.*}} = spv.GLSL.Cos {{%.*}} : f32
12    %3 = spv.GLSL.Cos %arg0 : f32
13    // CHECK: {{%.*}} = spv.GLSL.Sin {{%.*}} : f32
14    %4 = spv.GLSL.Sin %arg0 : f32
15    // CHECK: {{%.*}} = spv.GLSL.Tan {{%.*}} : f32
16    %5 = spv.GLSL.Tan %arg0 : f32
17    // CHECK: {{%.*}} = spv.GLSL.Acos {{%.*}} : f32
18    %6 = spv.GLSL.Acos %arg0 : f32
19    // CHECK: {{%.*}} = spv.GLSL.Asin {{%.*}} : f32
20    %7 = spv.GLSL.Asin %arg0 : f32
21    // CHECK: {{%.*}} = spv.GLSL.Atan {{%.*}} : f32
22    %8 = spv.GLSL.Atan %arg0 : f32
23    // CHECK: {{%.*}} = spv.GLSL.Sinh {{%.*}} : f32
24    %9 = spv.GLSL.Sinh %arg0 : f32
25    // CHECK: {{%.*}} = spv.GLSL.Cosh {{%.*}} : f32
26    %10 = spv.GLSL.Cosh %arg0 : f32
27    // CHECK: {{%.*}} = spv.GLSL.Pow {{%.*}} : f32
28    %11 = spv.GLSL.Pow %arg0, %arg1 : f32
29    // CHECK: {{%.*}} = spv.GLSL.Round {{%.*}} : f32
30    %12 = spv.GLSL.Round %arg0 : f32
31    spv.Return
32  }
33}
34