@@ -1041,16 +1041,16 @@ bool SPIRVInstructionSelector::selectAtomicRMW(Register ResVReg,
10411041 uint32_t MemSem = static_cast <uint32_t >(getMemSemantics (AO));
10421042 Register MemSemReg = buildI32Constant (MemSem /* | ScSem*/ , I);
10431043
1044- bool Result = false ;
1044+ bool Result = true ;
10451045 Register ValueReg = I.getOperand (2 ).getReg ();
10461046 if (NegateOpcode != 0 ) {
10471047 // Translation with negative value operand is requested
10481048 Register TmpReg = MRI->createVirtualRegister (&SPIRV::iIDRegClass);
1049- Result | = selectUnOpWithSrc (TmpReg, ResType, I, ValueReg, NegateOpcode);
1049+ Result & = selectUnOpWithSrc (TmpReg, ResType, I, ValueReg, NegateOpcode);
10501050 ValueReg = TmpReg;
10511051 }
10521052
1053- Result | = BuildMI (*I.getParent (), I, I.getDebugLoc (), TII.get (NewOpcode))
1053+ Result & = BuildMI (*I.getParent (), I, I.getDebugLoc (), TII.get (NewOpcode))
10541054 .addDef (ResVReg)
10551055 .addUse (GR.getSPIRVTypeID (ResType))
10561056 .addUse (Ptr)
@@ -1223,21 +1223,21 @@ bool SPIRVInstructionSelector::selectAtomicCmpXchg(Register ResVReg,
12231223 .constrainAllUses (TII, TRI, RBI);
12241224 Register CmpSuccReg = MRI->createVirtualRegister (&SPIRV::iIDRegClass);
12251225 SPIRVType *BoolTy = GR.getOrCreateSPIRVBoolType (I, TII);
1226- Result | = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpIEqual))
1226+ Result & = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpIEqual))
12271227 .addDef (CmpSuccReg)
12281228 .addUse (GR.getSPIRVTypeID (BoolTy))
12291229 .addUse (ACmpRes)
12301230 .addUse (Cmp)
12311231 .constrainAllUses (TII, TRI, RBI);
12321232 Register TmpReg = MRI->createVirtualRegister (&SPIRV::iIDRegClass);
1233- Result | = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpCompositeInsert))
1233+ Result & = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpCompositeInsert))
12341234 .addDef (TmpReg)
12351235 .addUse (GR.getSPIRVTypeID (ResType))
12361236 .addUse (ACmpRes)
12371237 .addUse (GR.getOrCreateUndef (I, ResType, TII))
12381238 .addImm (0 )
12391239 .constrainAllUses (TII, TRI, RBI);
1240- Result | = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpCompositeInsert))
1240+ Result & = BuildMI (*I.getParent (), I, DL, TII.get (SPIRV::OpCompositeInsert))
12411241 .addDef (ResVReg)
12421242 .addUse (GR.getSPIRVTypeID (ResType))
12431243 .addUse (CmpSuccReg)
@@ -1743,7 +1743,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17431743 assert (I.getOperand (4 ).isReg ());
17441744 MachineBasicBlock &BB = *I.getParent ();
17451745
1746- bool Result = false ;
1746+ bool Result = true ;
17471747
17481748 // Acc = C
17491749 Register Acc = I.getOperand (4 ).getReg ();
@@ -1755,7 +1755,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17551755 for (unsigned i = 0 ; i < 4 ; i++) {
17561756 // A[i]
17571757 Register AElt = MRI->createVirtualRegister (&SPIRV::IDRegClass);
1758- Result | = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
1758+ Result & = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
17591759 .addDef (AElt)
17601760 .addUse (GR.getSPIRVTypeID (ResType))
17611761 .addUse (I.getOperand (2 ).getReg ())
@@ -1765,7 +1765,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17651765
17661766 // B[i]
17671767 Register BElt = MRI->createVirtualRegister (&SPIRV::IDRegClass);
1768- Result | = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
1768+ Result & = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
17691769 .addDef (BElt)
17701770 .addUse (GR.getSPIRVTypeID (ResType))
17711771 .addUse (I.getOperand (3 ).getReg ())
@@ -1775,7 +1775,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17751775
17761776 // A[i] * B[i]
17771777 Register Mul = MRI->createVirtualRegister (&SPIRV::IDRegClass);
1778- Result | = BuildMI (BB, I, I.getDebugLoc (), TII.get (SPIRV::OpIMulS))
1778+ Result & = BuildMI (BB, I, I.getDebugLoc (), TII.get (SPIRV::OpIMulS))
17791779 .addDef (Mul)
17801780 .addUse (GR.getSPIRVTypeID (ResType))
17811781 .addUse (AElt)
@@ -1784,7 +1784,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17841784
17851785 // Discard 24 highest-bits so that stored i32 register is i8 equivalent
17861786 Register MaskMul = MRI->createVirtualRegister (&SPIRV::IDRegClass);
1787- Result | = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
1787+ Result & = BuildMI (BB, I, I.getDebugLoc (), TII.get (ExtractOp))
17881788 .addDef (MaskMul)
17891789 .addUse (GR.getSPIRVTypeID (ResType))
17901790 .addUse (Mul)
@@ -1795,7 +1795,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
17951795 // Acc = Acc + A[i] * B[i]
17961796 Register Sum =
17971797 i < 3 ? MRI->createVirtualRegister (&SPIRV::IDRegClass) : ResVReg;
1798- Result | = BuildMI (BB, I, I.getDebugLoc (), TII.get (SPIRV::OpIAddS))
1798+ Result & = BuildMI (BB, I, I.getDebugLoc (), TII.get (SPIRV::OpIAddS))
17991799 .addDef (Sum)
18001800 .addUse (GR.getSPIRVTypeID (ResType))
18011801 .addUse (Acc)
@@ -1866,7 +1866,7 @@ bool SPIRVInstructionSelector::selectSign(Register ResVReg,
18661866
18671867 if (NeedsConversion) {
18681868 auto ConvertOpcode = IsFloatTy ? SPIRV::OpConvertFToS : SPIRV::OpSConvert;
1869- Result | = BuildMI (*I.getParent (), I, DL, TII.get (ConvertOpcode))
1869+ Result & = BuildMI (*I.getParent (), I, DL, TII.get (ConvertOpcode))
18701870 .addDef (ResVReg)
18711871 .addUse (GR.getSPIRVTypeID (ResType))
18721872 .addUse (SignReg)
0 commit comments