Back to PBT run
output.generic.mlir
"builtin.module"() ({
"func.func"() <{function_type = (f32) -> f32, sym_name = "native_0"}> ({
^bb0(%arg6: f32):
"builtin.module"() ({
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f32 (f32, f32, f32)>, linkage = #llvm.linkage<external>, sym_name = "inner_0", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg7: f32, %arg8: f32, %arg9: f32):
%5 = "math.fma"(%arg7, %arg8, %arg9) <{fastmath = #arith.fastmath<nnan>}> : (f32, f32, f32) -> f32
"llvm.return"(%arg7) : (f32) -> ()
}) : () -> ()
}) : () -> ()
"func.return"(%arg6) : (f32) -> ()
}) : () -> ()
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f16 (f16, f16, f16)>, linkage = #llvm.linkage<external>, sym_name = "plain_1", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg3: f16, %arg4: f16, %arg5: f16):
%2 = "llvm.fmul"(%arg3, %arg4) <{fastmathFlags = #llvm.fastmath<none>}> : (f16, f16) -> f16
%3 = "math.fma"(%arg3, %arg4, %arg5) <{fastmath = #arith.fastmath<nnan>}> : (f16, f16, f16) -> f16
%4 = "math.fma"(%arg3, %arg4, %arg5) <{fastmath = #arith.fastmath<fast>}> : (f16, f16, f16) -> f16
"llvm.return"(%arg3) : (f16) -> ()
}) : () -> ()
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f16 (f16, f16, f16)>, linkage = #llvm.linkage<external>, sym_name = "plain_2", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg0: f16, %arg1: f16, %arg2: f16):
%0 = "math.fma"(%arg0, %arg1, %arg2) <{fastmath = #arith.fastmath<fast>}> : (f16, f16, f16) -> f16
%1 = "math.fma"(%arg0, %arg1, %arg2) <{fastmath = #arith.fastmath<nnan,contract>}> : (f16, f16, f16) -> f16
"llvm.return"(%arg0) : (f16) -> ()
}) : () -> ()
}) : () -> ()