@@ -1305,7 +1305,7 @@ def ROCDL_Med3F16Op : ROCDL_ConcreteNonMemIntrOp<"med3.f16", [Pure], 1>,
13051305 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13061306 }];
13071307 string llvmBuilder = [{
1308- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_med3_f16 , {$src0, $src1, $src2});
1308+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_fmed3 , {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType()) });
13091309 }];
13101310}
13111311
@@ -1319,7 +1319,7 @@ def ROCDL_Med3F32Op : ROCDL_ConcreteNonMemIntrOp<"med3.f32", [Pure], 1>,
13191319 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13201320 }];
13211321 string llvmBuilder = [{
1322- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_med3_f32 , {$src0, $src1, $src2});
1322+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_fmed3 , {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType()) });
13231323 }];
13241324}
13251325
@@ -1333,7 +1333,7 @@ def ROCDL_Med3I16Op : ROCDL_ConcreteNonMemIntrOp<"med3.i16", [Pure], 1>,
13331333 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13341334 }];
13351335 string llvmBuilder = [{
1336- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_smed3, {$src0, $src1, $src2});
1336+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_smed3, {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType())} );
13371337 }];
13381338}
13391339
@@ -1347,7 +1347,7 @@ def ROCDL_Med3I32Op : ROCDL_ConcreteNonMemIntrOp<"med3.i32", [Pure], 1>,
13471347 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13481348 }];
13491349 string llvmBuilder = [{
1350- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_smed3, {$src0, $src1, $src2});
1350+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_smed3, {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType())} );
13511351 }];
13521352}
13531353
@@ -1361,7 +1361,7 @@ def ROCDL_Med3U16Op : ROCDL_ConcreteNonMemIntrOp<"med3.u16", [Pure], 1>,
13611361 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13621362 }];
13631363 string llvmBuilder = [{
1364- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_umed3, {$src0, $src1, $src2});
1364+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_umed3, {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType())} );
13651365 }];
13661366}
13671367
@@ -1375,7 +1375,7 @@ def ROCDL_Med3U32Op : ROCDL_ConcreteNonMemIntrOp<"med3.u32", [Pure], 1>,
13751375 $src0 `,` $src1 `,` $src2 attr-dict `:` `(` type($src0) `,` type($src1) `,` type($src2) `)` `->` type($res)
13761376 }];
13771377 string llvmBuilder = [{
1378- $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_umed3, {$src0, $src1, $src2});
1378+ $res = createIntrinsicCall(builder, llvm::Intrinsic::amdgcn_umed3, {$src0, $src1, $src2}, {moduleTranslation.convertType(op.getSrc0().getType())} );
13791379 }];
13801380}
13811381
0 commit comments