Skip to content

Commit 4d6fc88

Browse files
authored
[AMDGPU] Add patterns for V_CMP_O/U (#69157)
Fixes SWDEV-427162
1 parent b5743d4 commit 4d6fc88

File tree

3 files changed

+756
-0
lines changed

3 files changed

+756
-0
lines changed

llvm/lib/Target/AMDGPU/VOPCInstructions.td

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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>;
10841086
defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F32_e64, f32>;
10851087
defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F32_e64, f32>;
10861088
defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F32_e64, f32>;
10871089
defm : FCMP_Pattern <COND_OGE, V_CMP_GE_F32_e64, f32>;
10881090
defm : FCMP_Pattern <COND_OLT, V_CMP_LT_F32_e64, f32>;
10891091
defm : 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>;
10911095
defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F64_e64, f64>;
10921096
defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F64_e64, f64>;
10931097
defm : 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>;
11101114
defm : FCMP_Pattern <COND_ULE, V_CMP_NGT_F64_e64, f64>;
11111115

11121116
let 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>;
11131119
defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F16_t16_e64, f16>;
11141120
defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F16_t16_e64, f16>;
11151121
defm : 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

11281134
let 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>;
11291137
defm : FCMP_Pattern <COND_OEQ, V_CMP_EQ_F16_e64, f16>;
11301138
defm : FCMP_Pattern <COND_ONE, V_CMP_NEQ_F16_e64, f16>;
11311139
defm : FCMP_Pattern <COND_OGT, V_CMP_GT_F16_e64, f16>;

0 commit comments

Comments
 (0)