@@ -3233,8 +3233,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow16(Register ResVReg,
3233
3233
// to an unsigned i32. As this leaves all the least significant bits unchanged
3234
3234
// the first set bit from the LSB side doesn't change.
3235
3235
Register ExtReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3236
- bool Result = selectNAryOpWithSrcs (ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()},
3237
- SPIRV::OpUConvert);
3236
+ bool Result = selectNAryOpWithSrcs (
3237
+ ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()}, SPIRV::OpUConvert);
3238
3238
return Result && selectFirstBitLow32 (ResVReg, ResType, I, ExtReg);
3239
3239
}
3240
3240
@@ -3262,7 +3262,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3262
3262
MachineIRBuilder MIRBuilder (I);
3263
3263
SPIRVType *PostCastType =
3264
3264
GR.getOrCreateSPIRVVectorType (BaseType, 2 * ComponentCount, MIRBuilder);
3265
- Register BitcastReg = MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3265
+ Register BitcastReg =
3266
+ MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3266
3267
bool Result =
3267
3268
selectUnOpWithSrc (BitcastReg, PostCastType, I, OpReg, SPIRV::OpBitcast);
3268
3269
@@ -3278,14 +3279,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3278
3279
bool IsScalarRes = ResType->getOpcode () != SPIRV::OpTypeVector;
3279
3280
if (IsScalarRes) {
3280
3281
// if scalar do a vector extract
3281
- Result = Result && selectNAryOpWithSrcs (
3282
- HighReg, ResType, I,
3283
- {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3284
- SPIRV::OpVectorExtractDynamic);
3285
- Result = Result && selectNAryOpWithSrcs (
3286
- LowReg, ResType, I,
3287
- {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3288
- SPIRV::OpVectorExtractDynamic);
3282
+ Result =
3283
+ Result &&
3284
+ selectNAryOpWithSrcs (
3285
+ HighReg, ResType, I,
3286
+ {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3287
+ SPIRV::OpVectorExtractDynamic);
3288
+ Result =
3289
+ Result &&
3290
+ selectNAryOpWithSrcs (
3291
+ LowReg, ResType, I,
3292
+ {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3293
+ SPIRV::OpVectorExtractDynamic);
3289
3294
} else {
3290
3295
// if vector do a shufflevector
3291
3296
auto MIB = BuildMI (*I.getParent (), I, I.getDebugLoc (),
@@ -3333,7 +3338,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3333
3338
SelectOp = SPIRV::OpSelectSISCond;
3334
3339
AddOp = SPIRV::OpIAddS;
3335
3340
} else {
3336
- BoolType = GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3341
+ BoolType =
3342
+ GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3337
3343
NegOneReg =
3338
3344
GR.getOrCreateConstVector ((unsigned )-1 , I, ResType, TII, ZeroAsNull);
3339
3345
Reg0 = GR.getOrCreateConstVector (0 , I, ResType, TII, ZeroAsNull);
@@ -3344,18 +3350,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3344
3350
3345
3351
// Check if the low bits are == -1; true if -1
3346
3352
Register BReg = MRI->createVirtualRegister (GR.getRegClass (BoolType));
3347
- Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I, {LowReg, NegOneReg},
3348
- SPIRV::OpIEqual);
3353
+ Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I,
3354
+ {LowReg, NegOneReg}, SPIRV::OpIEqual);
3349
3355
3350
3356
// Select high bits if true in BReg, otherwise low bits
3351
3357
Register TmpReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3352
- Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I, {BReg, HighReg, LowReg},
3353
- SelectOp);
3358
+ Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I,
3359
+ {BReg, HighReg, LowReg}, SelectOp);
3354
3360
3355
3361
// Add 32 for high bits, 0 for low bits
3356
3362
Register ValReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3357
- Result = Result &&
3358
- selectNAryOpWithSrcs (ValReg, ResType, I, {BReg, Reg32, Reg0}, SelectOp);
3363
+ Result = Result && selectNAryOpWithSrcs (ValReg, ResType, I,
3364
+ {BReg, Reg32, Reg0}, SelectOp);
3359
3365
3360
3366
return Result &&
3361
3367
selectNAryOpWithSrcs (ResVReg, ResType, I, {ValReg, TmpReg}, AddOp);
0 commit comments