@@ -3314,8 +3314,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow16(Register ResVReg,
33143314 // to an unsigned i32. As this leaves all the least significant bits unchanged
33153315 // the first set bit from the LSB side doesn't change.
33163316 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);
33193319 return Result && selectFirstBitLow32 (ResVReg, ResType, I, ExtReg);
33203320}
33213321
@@ -3343,7 +3343,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
33433343 MachineIRBuilder MIRBuilder (I);
33443344 SPIRVType *PostCastType =
33453345 GR.getOrCreateSPIRVVectorType (BaseType, 2 * ComponentCount, MIRBuilder);
3346- Register BitcastReg = MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3346+ Register BitcastReg =
3347+ MRI->createVirtualRegister (GR.getRegClass (PostCastType));
33473348 bool Result =
33483349 selectUnOpWithSrc (BitcastReg, PostCastType, I, OpReg, SPIRV::OpBitcast);
33493350
@@ -3359,14 +3360,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
33593360 bool IsScalarRes = ResType->getOpcode () != SPIRV::OpTypeVector;
33603361 if (IsScalarRes) {
33613362 // 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);
33703375 } else {
33713376 // if vector do a shufflevector
33723377 auto MIB = BuildMI (*I.getParent (), I, I.getDebugLoc (),
@@ -3414,7 +3419,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
34143419 SelectOp = SPIRV::OpSelectSISCond;
34153420 AddOp = SPIRV::OpIAddS;
34163421 } else {
3417- BoolType = GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3422+ BoolType =
3423+ GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
34183424 NegOneReg =
34193425 GR.getOrCreateConstVector ((unsigned )-1 , I, ResType, TII, ZeroAsNull);
34203426 Reg0 = GR.getOrCreateConstVector (0 , I, ResType, TII, ZeroAsNull);
@@ -3425,18 +3431,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
34253431
34263432 // Check if the low bits are == -1; true if -1
34273433 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);
34303436
34313437 // Select high bits if true in BReg, otherwise low bits
34323438 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);
34353441
34363442 // Add 32 for high bits, 0 for low bits
34373443 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);
34403446
34413447 return Result &&
34423448 selectNAryOpWithSrcs (ResVReg, ResType, I, {ValReg, TmpReg}, AddOp);
0 commit comments