@@ -3180,8 +3180,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow16(Register ResVReg,
3180
3180
// to an unsigned i32. As this leaves all the least significant bits unchanged
3181
3181
// the first set bit from the LSB side doesn't change.
3182
3182
Register ExtReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3183
- bool Result = selectNAryOpWithSrcs (ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()},
3184
- SPIRV::OpUConvert);
3183
+ bool Result = selectNAryOpWithSrcs (
3184
+ ExtReg, ResType, I, {I. getOperand ( 2 ). getReg ()}, SPIRV::OpUConvert);
3185
3185
return Result && selectFirstBitLow32 (ResVReg, ResType, I, ExtReg);
3186
3186
}
3187
3187
@@ -3209,7 +3209,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3209
3209
MachineIRBuilder MIRBuilder (I);
3210
3210
SPIRVType *PostCastType =
3211
3211
GR.getOrCreateSPIRVVectorType (BaseType, 2 * ComponentCount, MIRBuilder);
3212
- Register BitcastReg = MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3212
+ Register BitcastReg =
3213
+ MRI->createVirtualRegister (GR.getRegClass (PostCastType));
3213
3214
bool Result =
3214
3215
selectUnOpWithSrc (BitcastReg, PostCastType, I, OpReg, SPIRV::OpBitcast);
3215
3216
@@ -3225,14 +3226,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3225
3226
bool IsScalarRes = ResType->getOpcode () != SPIRV::OpTypeVector;
3226
3227
if (IsScalarRes) {
3227
3228
// if scalar do a vector extract
3228
- Result = Result && selectNAryOpWithSrcs (
3229
- HighReg, ResType, I,
3230
- {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3231
- SPIRV::OpVectorExtractDynamic);
3232
- Result = Result && selectNAryOpWithSrcs (
3233
- LowReg, ResType, I,
3234
- {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3235
- SPIRV::OpVectorExtractDynamic);
3229
+ Result =
3230
+ Result &&
3231
+ selectNAryOpWithSrcs (
3232
+ HighReg, ResType, I,
3233
+ {FBLReg, GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull)},
3234
+ SPIRV::OpVectorExtractDynamic);
3235
+ Result =
3236
+ Result &&
3237
+ selectNAryOpWithSrcs (
3238
+ LowReg, ResType, I,
3239
+ {FBLReg, GR.getOrCreateConstInt (1 , I, ResType, TII, ZeroAsNull)},
3240
+ SPIRV::OpVectorExtractDynamic);
3236
3241
} else {
3237
3242
// if vector do a shufflevector
3238
3243
auto MIB = BuildMI (*I.getParent (), I, I.getDebugLoc (),
@@ -3280,7 +3285,8 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3280
3285
SelectOp = SPIRV::OpSelectSISCond;
3281
3286
AddOp = SPIRV::OpIAddS;
3282
3287
} else {
3283
- BoolType = GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3288
+ BoolType =
3289
+ GR.getOrCreateSPIRVVectorType (BoolType, ComponentCount, MIRBuilder);
3284
3290
NegOneReg =
3285
3291
GR.getOrCreateConstVector ((unsigned )-1 , I, ResType, TII, ZeroAsNull);
3286
3292
Reg0 = GR.getOrCreateConstVector (0 , I, ResType, TII, ZeroAsNull);
@@ -3291,18 +3297,18 @@ bool SPIRVInstructionSelector::selectFirstBitLow64(Register ResVReg,
3291
3297
3292
3298
// Check if the low bits are == -1; true if -1
3293
3299
Register BReg = MRI->createVirtualRegister (GR.getRegClass (BoolType));
3294
- Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I, {LowReg, NegOneReg},
3295
- SPIRV::OpIEqual);
3300
+ Result = Result && selectNAryOpWithSrcs (BReg, BoolType, I,
3301
+ {LowReg, NegOneReg}, SPIRV::OpIEqual);
3296
3302
3297
3303
// Select high bits if true in BReg, otherwise low bits
3298
3304
Register TmpReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3299
- Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I, {BReg, HighReg, LowReg},
3300
- SelectOp);
3305
+ Result = Result && selectNAryOpWithSrcs (TmpReg, ResType, I,
3306
+ {BReg, HighReg, LowReg}, SelectOp);
3301
3307
3302
3308
// Add 32 for high bits, 0 for low bits
3303
3309
Register ValReg = MRI->createVirtualRegister (GR.getRegClass (ResType));
3304
- Result = Result &&
3305
- selectNAryOpWithSrcs (ValReg, ResType, I, {BReg, Reg32, Reg0}, SelectOp);
3310
+ Result = Result && selectNAryOpWithSrcs (ValReg, ResType, I,
3311
+ {BReg, Reg32, Reg0}, SelectOp);
3306
3312
3307
3313
return Result &&
3308
3314
selectNAryOpWithSrcs (ResVReg, ResType, I, {ValReg, TmpReg}, AddOp);
0 commit comments