@@ -1097,7 +1097,7 @@ def : Pat <
multiclass f16_fp_Pats {
// f16_to_fp patterns
def : GCNPat <
-(f32 (f16_to_fp i32:$src0)),
+(f32 (any_f16_to_fp i32:$src0)),
phoebewang wrote:
Should we replace more `f16_to_fp` to `any_f16_to_fp` in this file and
@@ -1097,7 +1097,7 @@ def : Pat <
multiclass f16_fp_Pats {
// f16_to_fp patterns
def : GCNPat <
-(f32 (f16_to_fp i32:$src0)),
+(f32 (any_f16_to_fp i32:$src0)),
arsenm wrote:
Yes, with appropriate tests added alongside it
https://github.com/llvm/l
@@ -2621,6 +2642,29 @@ SDValue
DAGTypeLegalizer::PromoteFloatRes_FP_ROUND(SDNode *N) {
return DAG.getNode(GetPromotionOpcode(VT, NVT), DL, NVT, Round);
}
+// Explicit operation to reduce precision. Reduce the value to half precision
+// and promote it back to the legal typ