@@ -1388,14 +1388,15 @@ multiclass VOP3_Real_Base<GFXGen Gen, bits<10> op, string opName = NAME,
1388
1388
bit isSingle = 0> {
1389
1389
defvar ps = !cast<VOP_Pseudo>(opName#"_e64");
1390
1390
let IsSingle = !or(isSingle, ps.Pfl.IsSingle) in {
1391
- if ps.Pfl.HasOpSel then
1392
- def _e64#Gen.Suffix :
1393
- VOP3_Real_Gen<ps, Gen>,
1394
- VOP3OpSel_gfx11_gfx12<op, ps.Pfl>;
1395
- if !not(ps.Pfl.HasOpSel) then
1396
- def _e64#Gen.Suffix :
1397
- VOP3_Real_Gen<ps, Gen>,
1398
- VOP3e_gfx11_gfx12<op, ps.Pfl>;
1391
+ if ps.Pfl.HasOpSel then {
1392
+ def _e64#Gen.Suffix :
1393
+ VOP3_Real_Gen<ps, Gen>,
1394
+ VOP3OpSel_gfx11_gfx12<op, ps.Pfl>;
1395
+ } else {
1396
+ def _e64#Gen.Suffix :
1397
+ VOP3_Real_Gen<ps, Gen>,
1398
+ VOP3e_gfx11_gfx12<op, ps.Pfl>;
1399
+ }
1399
1400
}
1400
1401
}
1401
1402
@@ -1418,15 +1419,14 @@ multiclass VOP3_Real_with_name<GFXGen Gen, bits<10> op, string opName,
1418
1419
def _e64#Gen.Suffix :
1419
1420
VOP3_Real_Gen<ps, Gen>,
1420
1421
VOP3FP8OpSel_gfx11_gfx12<op, ps.Pfl>;
1422
+ } else if ps.Pfl.HasOpSel then {
1423
+ def _e64#Gen.Suffix :
1424
+ VOP3_Real_Gen<ps, Gen>,
1425
+ VOP3OpSel_gfx11_gfx12<op, ps.Pfl>;
1421
1426
} else {
1422
- if ps.Pfl.HasOpSel then
1423
- def _e64#Gen.Suffix :
1424
- VOP3_Real_Gen<ps, Gen>,
1425
- VOP3OpSel_gfx11_gfx12<op, ps.Pfl>;
1426
- if !not(ps.Pfl.HasOpSel) then
1427
- def _e64#Gen.Suffix :
1428
- VOP3_Real_Gen<ps, Gen>,
1429
- VOP3e_gfx11_gfx12<op, ps.Pfl>;
1427
+ def _e64#Gen.Suffix :
1428
+ VOP3_Real_Gen<ps, Gen>,
1429
+ VOP3e_gfx11_gfx12<op, ps.Pfl>;
1430
1430
}
1431
1431
}
1432
1432
def Gen.Suffix#"_VOP3_alias" : MnemonicAlias<ps.Mnemonic, asmName>, Requires<[Gen.AssemblerPredicate]>, LetDummies;
0 commit comments