@@ -3314,8 +3314,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow16(Register ResVReg,
3314
3314
// to an unsigned i32. As this leaves all the least significant bits unchanged
3315
3315
// the first set bit from the LSB side doesn't change.
3316
3316
Register ExtReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3317
- bool Result = selectNAryOpWithSrcs (ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()},
3318
- SPIRV::OpUConvert);
3317
+ bool Result = selectNAryOpWithSrcs (
3318
+ ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()}, SPIRV::OpUConvert);
3319
3319
return Result && selectFirstBitLow32 (ResVReg, ResType, I, ExtReg);
3320
3320
}
3321
3321
@@ -3343,7 +3343,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3343
3343
MachineIRBuilder MIRBuilder (I);
3344
3344
SPIRVType *PostCastType =
3345
3345
GR.getOrCreateSPIRVVectorType (BaseType, 2 * ComponentCount, MIRBuilder);
3346
- Register BitcastReg = MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3346
+ Register BitcastReg =
3347
+ MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3347
3348
bool Result =
3348
3349
selectUnOpWithSrc (BitcastReg, PostCastType, I, OpReg, SPIRV::OpBitcast);
3349
3350
@@ -3359,14 +3360,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3359
3360
bool IsScalarRes = ResType->getOpcode () != SPIRV::OpTypeVector;
3360
3361
if (IsScalarRes) {
3361
3362
// if scalar do a vector extract
3362
- Result = Result && selectNAryOpWithSrcs (
3363
- HighReg, ResType, I,
3364
- {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3365
- SPIRV::OpVectorExtractDynamic);
3366
- Result = Result && selectNAryOpWithSrcs (
3367
- LowReg, ResType, I,
3368
- {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3369
- SPIRV::OpVectorExtractDynamic);
3363
+ Result =
3364
+ Result &&
3365
+ selectNAryOpWithSrcs (
3366
+ HighReg, ResType, I,
3367
+ {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3368
+ SPIRV::OpVectorExtractDynamic);
3369
+ Result =
3370
+ Result &&
3371
+ selectNAryOpWithSrcs (
3372
+ LowReg, ResType, I,
3373
+ {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3374
+ SPIRV::OpVectorExtractDynamic);
3370
3375
} else {
3371
3376
// if vector do a shufflevector
3372
3377
auto MIB = BuildMI (*I.getParent (), I, I.getDebugLoc (),
@@ -3414,7 +3419,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3414
3419
SelectOp = SPIRV::OpSelectSISCond;
3415
3420
AddOp = SPIRV::OpIAddS;
3416
3421
} else {
3417
- BoolType = GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3422
+ BoolType =
3423
+ GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3418
3424
NegOneReg =
3419
3425
GR.getOrCreateConstVector ((unsigned )-1 , I, ResType, TII, ZeroAsNull);
3420
3426
Reg0 = GR.getOrCreateConstVector (0 , I, ResType, TII, ZeroAsNull);
@@ -3425,18 +3431,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3425
3431
3426
3432
// Check if the low bits are == -1; true if -1
3427
3433
Register BReg = MRI->createVirtualRegister (GR.getRegClass (BoolType));
3428
- Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I, {LowReg, NegOneReg},
3429
- SPIRV::OpIEqual);
3434
+ Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I,
3435
+ {LowReg, NegOneReg}, SPIRV::OpIEqual);
3430
3436
3431
3437
// Select high bits if true in BReg, otherwise low bits
3432
3438
Register TmpReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3433
- Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I, {BReg, HighReg, LowReg},
3434
- SelectOp);
3439
+ Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I,
3440
+ {BReg, HighReg, LowReg}, SelectOp);
3435
3441
3436
3442
// Add 32 for high bits, 0 for low bits
3437
3443
Register ValReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3438
- Result = Result &&
3439
- selectNAryOpWithSrcs (ValReg, ResType, I, {BReg, Reg32, Reg0}, SelectOp);
3444
+ Result = Result && selectNAryOpWithSrcs (ValReg, ResType, I,
3445
+ {BReg, Reg32, Reg0}, SelectOp);
3440
3446
3441
3447
return Result &&
3442
3448
selectNAryOpWithSrcs (ResVReg, ResType, I, {ValReg, TmpReg}, AddOp);
0 commit comments