Back to PBT run
input.mlir
llvm.func @f0(%arg0: vector<4xf32>, %arg1: vector<4xf32>, %arg2: vector<4xf32>) -> vector<4xf32> {
%v0 = llvm.intr.fmuladd(%arg0, %arg1, %arg2) {fastmathFlags = #llvm.fastmath<nnan>} : (vector<4xf32>, vector<4xf32>, vector<4xf32>) -> vector<4xf32>
%v1 = llvm.intr.fmuladd(%arg0, %arg1, %v0) {fastmathFlags = #llvm.fastmath<nnan, contract>} : (vector<4xf32>, vector<4xf32>, vector<4xf32>) -> vector<4xf32>
llvm.return %v1 : vector<4xf32>
}
llvm.func @f1(%arg0: f64, %arg1: f64, %arg2: f64) -> f64 {
%residual = llvm.fmul %arg0, %arg1 : f64
%v0 = llvm.intr.fmuladd(%arg0, %arg1, %arg2) {fastmathFlags = #llvm.fastmath<nnan, contract>} : (f64, f64, f64) -> f64
llvm.return %v0 : f64
}
llvm.func @f2(%arg0: f32, %arg1: f32, %arg2: f32) -> f32 {
%residual = llvm.fmul %arg0, %arg1 : f32
llvm.return %arg2 : f32
}