@@ -1081,13 +1081,17 @@ multiclass FCMP_Pattern <PatFrags cond, Instruction inst, ValueType vt> {
10811081 }
10821082}
10831083
1084+ defm : FCMP_Pattern <COND_O, V_CMP_O_F32_e64, f32>;
1085+ defm : FCMP_Pattern <COND_UO, V_CMP_U_F32_e64, f32>;
10841086defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F32_e64, f32>;
10851087defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F32_e64, f32>;
10861088defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F32_e64, f32>;
10871089defm : FCMP_Pattern <COND_OGE, V_CMP_GE_F32_e64, f32>;
10881090defm : FCMP_Pattern <COND_OLT, V_CMP_LT_F32_e64, f32>;
10891091defm : FCMP_Pattern <COND_OLE, V_CMP_LE_F32_e64, f32>;
10901092
1093+ defm : FCMP_Pattern <COND_O, V_CMP_O_F64_e64, f64>;
1094+ defm : FCMP_Pattern <COND_UO, V_CMP_U_F64_e64, f64>;
10911095defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F64_e64, f64>;
10921096defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F64_e64, f64>;
10931097defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F64_e64, f64>;
@@ -1110,6 +1114,8 @@ defm : FCMP_Pattern <COND_ULT, V_CMP_NGE_F64_e64, f64>;
11101114defm : FCMP_Pattern <COND_ULE, V_CMP_NGT_F64_e64, f64>;
11111115
11121116let OtherPredicates = [HasTrue16BitInsts] in {
1117+ defm : FCMP_Pattern <COND_O, V_CMP_O_F16_t16_e64, f16>;
1118+ defm : FCMP_Pattern <COND_UO, V_CMP_U_F16_t16_e64, f16>;
11131119defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F16_t16_e64, f16>;
11141120defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F16_t16_e64, f16>;
11151121defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F16_t16_e64, f16>;
@@ -1126,6 +1132,8 @@ defm : FCMP_Pattern <COND_ULE, V_CMP_NGT_F16_t16_e64, f16>;
11261132} // End OtherPredicates = [HasTrue16BitInsts]
11271133
11281134let OtherPredicates = [NotHasTrue16BitInsts] in {
1135+ defm : FCMP_Pattern <COND_O, V_CMP_O_F16_e64, f16>;
1136+ defm : FCMP_Pattern <COND_UO, V_CMP_U_F16_e64, f16>;
11291137defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F16_e64, f16>;
11301138defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F16_e64, f16>;
11311139defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F16_e64, f16>;
0 commit comments