forked from OSchip/llvm-project
GlobalISel: Move code into lowering for G_MERGE_VALUES
Currently this code exists in widenScalar for G_MERGE_VALUE sources. I'm not sure if the existing expansion in widenScalar should be removed or not. The widenScalar variant tries to extend to the requested size, but this just uses the original bitwidth.
This commit is contained in:
parent
ee1a69824d
commit
69999605ee
|
@ -292,6 +292,7 @@ public:
|
|||
LegalizeResult lowerFMad(MachineInstr &MI);
|
||||
LegalizeResult lowerIntrinsicRound(MachineInstr &MI);
|
||||
LegalizeResult lowerFFloor(MachineInstr &MI);
|
||||
LegalizeResult lowerMergeValues(MachineInstr &MI);
|
||||
LegalizeResult lowerUnmergeValues(MachineInstr &MI);
|
||||
LegalizeResult lowerShuffleVector(MachineInstr &MI);
|
||||
LegalizeResult lowerDynStackAlloc(MachineInstr &MI);
|
||||
|
|
|
@ -2544,6 +2544,8 @@ LegalizerHelper::lower(MachineInstr &MI, unsigned TypeIdx, LLT Ty) {
|
|||
case G_FMINNUM:
|
||||
case G_FMAXNUM:
|
||||
return lowerFMinNumMaxNum(MI);
|
||||
case G_MERGE_VALUES:
|
||||
return lowerMergeValues(MI);
|
||||
case G_UNMERGE_VALUES:
|
||||
return lowerUnmergeValues(MI);
|
||||
case TargetOpcode::G_SEXT_INREG: {
|
||||
|
@ -4860,6 +4862,47 @@ LegalizerHelper::lowerFFloor(MachineInstr &MI) {
|
|||
return Legalized;
|
||||
}
|
||||
|
||||
LegalizerHelper::LegalizeResult
|
||||
LegalizerHelper::lowerMergeValues(MachineInstr &MI) {
|
||||
const unsigned NumOps = MI.getNumOperands();
|
||||
Register DstReg = MI.getOperand(0).getReg();
|
||||
Register Src0Reg = MI.getOperand(1).getReg();
|
||||
LLT DstTy = MRI.getType(DstReg);
|
||||
LLT SrcTy = MRI.getType(Src0Reg);
|
||||
unsigned PartSize = SrcTy.getSizeInBits();
|
||||
|
||||
LLT WideTy = LLT::scalar(DstTy.getSizeInBits());
|
||||
Register ResultReg = MIRBuilder.buildZExt(WideTy, Src0Reg).getReg(0);
|
||||
|
||||
for (unsigned I = 2; I != NumOps; ++I) {
|
||||
const unsigned Offset = (I - 1) * PartSize;
|
||||
|
||||
Register SrcReg = MI.getOperand(I).getReg();
|
||||
auto ZextInput = MIRBuilder.buildZExt(WideTy, SrcReg);
|
||||
|
||||
Register NextResult = I + 1 == NumOps && WideTy == DstTy ? DstReg :
|
||||
MRI.createGenericVirtualRegister(WideTy);
|
||||
|
||||
auto ShiftAmt = MIRBuilder.buildConstant(WideTy, Offset);
|
||||
auto Shl = MIRBuilder.buildShl(WideTy, ZextInput, ShiftAmt);
|
||||
MIRBuilder.buildOr(NextResult, ResultReg, Shl);
|
||||
ResultReg = NextResult;
|
||||
}
|
||||
|
||||
if (DstTy.isPointer()) {
|
||||
if (MIRBuilder.getDataLayout().isNonIntegralAddressSpace(
|
||||
DstTy.getAddressSpace())) {
|
||||
LLVM_DEBUG(dbgs() << "Not casting nonintegral address space\n");
|
||||
return UnableToLegalize;
|
||||
}
|
||||
|
||||
MIRBuilder.buildIntToPtr(DstReg, ResultReg);
|
||||
}
|
||||
|
||||
MI.eraseFromParent();
|
||||
return Legalized;
|
||||
}
|
||||
|
||||
LegalizerHelper::LegalizeResult
|
||||
LegalizerHelper::lowerUnmergeValues(MachineInstr &MI) {
|
||||
const unsigned NumDst = MI.getNumOperands() - 1;
|
||||
|
|
|
@ -1229,12 +1229,21 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_,
|
|||
};
|
||||
|
||||
auto &Builder = getActionDefinitionsBuilder(Op)
|
||||
.lowerFor({{S16, V2S16}});
|
||||
|
||||
// FIXME: Hack until unmerge handled
|
||||
if (Op == G_MERGE_VALUES) {
|
||||
Builder.lowerIf([=](const LegalityQuery &Query) {
|
||||
const LLT BigTy = Query.Types[BigTyIdx];
|
||||
return BigTy.getSizeInBits() == 32;
|
||||
});
|
||||
}
|
||||
|
||||
Builder
|
||||
// Try to widen to s16 first for small types.
|
||||
// TODO: Only do this on targets with legal s16 shifts
|
||||
.minScalarOrEltIf(narrowerThan(LitTyIdx, 16), LitTyIdx, S16)
|
||||
|
||||
.widenScalarToNextPow2(LitTyIdx, /*Min*/ 16)
|
||||
.lowerFor({{S16, V2S16}})
|
||||
.moreElementsIf(isSmallOddVector(BigTyIdx), oneMoreElement(BigTyIdx))
|
||||
.fewerElementsIf(all(typeIs(0, S16), vectorWiderThan(1, 32),
|
||||
elementTypeIs(1, S16)),
|
||||
|
|
|
@ -9,322 +9,286 @@ body: |
|
|||
; TAHITI-LABEL: name: test_implicit_def_s1025
|
||||
; TAHITI: [[DEF:%[0-9]+]]:_(s1024) = G_IMPLICIT_DEF
|
||||
; TAHITI: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32), [[UV2:%[0-9]+]]:_(s32), [[UV3:%[0-9]+]]:_(s32), [[UV4:%[0-9]+]]:_(s32), [[UV5:%[0-9]+]]:_(s32), [[UV6:%[0-9]+]]:_(s32), [[UV7:%[0-9]+]]:_(s32), [[UV8:%[0-9]+]]:_(s32), [[UV9:%[0-9]+]]:_(s32), [[UV10:%[0-9]+]]:_(s32), [[UV11:%[0-9]+]]:_(s32), [[UV12:%[0-9]+]]:_(s32), [[UV13:%[0-9]+]]:_(s32), [[UV14:%[0-9]+]]:_(s32), [[UV15:%[0-9]+]]:_(s32), [[UV16:%[0-9]+]]:_(s32), [[UV17:%[0-9]+]]:_(s32), [[UV18:%[0-9]+]]:_(s32), [[UV19:%[0-9]+]]:_(s32), [[UV20:%[0-9]+]]:_(s32), [[UV21:%[0-9]+]]:_(s32), [[UV22:%[0-9]+]]:_(s32), [[UV23:%[0-9]+]]:_(s32), [[UV24:%[0-9]+]]:_(s32), [[UV25:%[0-9]+]]:_(s32), [[UV26:%[0-9]+]]:_(s32), [[UV27:%[0-9]+]]:_(s32), [[UV28:%[0-9]+]]:_(s32), [[UV29:%[0-9]+]]:_(s32), [[UV30:%[0-9]+]]:_(s32), [[UV31:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[DEF]](s1024)
|
||||
; TAHITI: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[UV]](s32)
|
||||
; TAHITI: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; TAHITI: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[UV]], [[C]](s32)
|
||||
; TAHITI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
||||
; TAHITI: [[C1:%[0-9]+]]:_(s16) = G_CONSTANT i16 1
|
||||
; TAHITI: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
|
||||
; TAHITI: [[COPY:%[0-9]+]]:_(s32) = COPY [[C2]](s32)
|
||||
; TAHITI: [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535
|
||||
; TAHITI: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
|
||||
; TAHITI: [[COPY:%[0-9]+]]:_(s32) = COPY [[C1]](s32)
|
||||
; TAHITI: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535
|
||||
; TAHITI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C3]]
|
||||
; TAHITI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C2]]
|
||||
; TAHITI: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[AND]], [[COPY]](s32)
|
||||
; TAHITI: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 2
|
||||
; TAHITI: [[COPY2:%[0-9]+]]:_(s32) = COPY [[C4]](s32)
|
||||
; TAHITI: [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 2
|
||||
; TAHITI: [[COPY2:%[0-9]+]]:_(s32) = COPY [[C3]](s32)
|
||||
; TAHITI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C3]]
|
||||
; TAHITI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C2]]
|
||||
; TAHITI: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[AND1]], [[COPY2]](s32)
|
||||
; TAHITI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 3
|
||||
; TAHITI: [[COPY4:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; TAHITI: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 3
|
||||
; TAHITI: [[COPY4:%[0-9]+]]:_(s32) = COPY [[C4]](s32)
|
||||
; TAHITI: [[COPY5:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY5]], [[C3]]
|
||||
; TAHITI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY5]], [[C2]]
|
||||
; TAHITI: [[LSHR3:%[0-9]+]]:_(s32) = G_LSHR [[AND2]], [[COPY4]](s32)
|
||||
; TAHITI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 4
|
||||
; TAHITI: [[COPY6:%[0-9]+]]:_(s32) = COPY [[C6]](s32)
|
||||
; TAHITI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 4
|
||||
; TAHITI: [[COPY6:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; TAHITI: [[COPY7:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY7]], [[C3]]
|
||||
; TAHITI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY7]], [[C2]]
|
||||
; TAHITI: [[LSHR4:%[0-9]+]]:_(s32) = G_LSHR [[AND3]], [[COPY6]](s32)
|
||||
; TAHITI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
|
||||
; TAHITI: [[COPY8:%[0-9]+]]:_(s32) = COPY [[C7]](s32)
|
||||
; TAHITI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
|
||||
; TAHITI: [[COPY8:%[0-9]+]]:_(s32) = COPY [[C6]](s32)
|
||||
; TAHITI: [[COPY9:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND4:%[0-9]+]]:_(s32) = G_AND [[COPY9]], [[C3]]
|
||||
; TAHITI: [[AND4:%[0-9]+]]:_(s32) = G_AND [[COPY9]], [[C2]]
|
||||
; TAHITI: [[LSHR5:%[0-9]+]]:_(s32) = G_LSHR [[AND4]], [[COPY8]](s32)
|
||||
; TAHITI: [[C8:%[0-9]+]]:_(s32) = G_CONSTANT i32 6
|
||||
; TAHITI: [[COPY10:%[0-9]+]]:_(s32) = COPY [[C8]](s32)
|
||||
; TAHITI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 6
|
||||
; TAHITI: [[COPY10:%[0-9]+]]:_(s32) = COPY [[C7]](s32)
|
||||
; TAHITI: [[COPY11:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND5:%[0-9]+]]:_(s32) = G_AND [[COPY11]], [[C3]]
|
||||
; TAHITI: [[AND5:%[0-9]+]]:_(s32) = G_AND [[COPY11]], [[C2]]
|
||||
; TAHITI: [[LSHR6:%[0-9]+]]:_(s32) = G_LSHR [[AND5]], [[COPY10]](s32)
|
||||
; TAHITI: [[C9:%[0-9]+]]:_(s32) = G_CONSTANT i32 7
|
||||
; TAHITI: [[COPY12:%[0-9]+]]:_(s32) = COPY [[C9]](s32)
|
||||
; TAHITI: [[C8:%[0-9]+]]:_(s32) = G_CONSTANT i32 7
|
||||
; TAHITI: [[COPY12:%[0-9]+]]:_(s32) = COPY [[C8]](s32)
|
||||
; TAHITI: [[COPY13:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND6:%[0-9]+]]:_(s32) = G_AND [[COPY13]], [[C3]]
|
||||
; TAHITI: [[AND6:%[0-9]+]]:_(s32) = G_AND [[COPY13]], [[C2]]
|
||||
; TAHITI: [[LSHR7:%[0-9]+]]:_(s32) = G_LSHR [[AND6]], [[COPY12]](s32)
|
||||
; TAHITI: [[C10:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; TAHITI: [[COPY14:%[0-9]+]]:_(s32) = COPY [[C10]](s32)
|
||||
; TAHITI: [[C9:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; TAHITI: [[COPY14:%[0-9]+]]:_(s32) = COPY [[C9]](s32)
|
||||
; TAHITI: [[COPY15:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND7:%[0-9]+]]:_(s32) = G_AND [[COPY15]], [[C3]]
|
||||
; TAHITI: [[AND7:%[0-9]+]]:_(s32) = G_AND [[COPY15]], [[C2]]
|
||||
; TAHITI: [[LSHR8:%[0-9]+]]:_(s32) = G_LSHR [[AND7]], [[COPY14]](s32)
|
||||
; TAHITI: [[C11:%[0-9]+]]:_(s32) = G_CONSTANT i32 9
|
||||
; TAHITI: [[COPY16:%[0-9]+]]:_(s32) = COPY [[C11]](s32)
|
||||
; TAHITI: [[C10:%[0-9]+]]:_(s32) = G_CONSTANT i32 9
|
||||
; TAHITI: [[COPY16:%[0-9]+]]:_(s32) = COPY [[C10]](s32)
|
||||
; TAHITI: [[COPY17:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND8:%[0-9]+]]:_(s32) = G_AND [[COPY17]], [[C3]]
|
||||
; TAHITI: [[AND8:%[0-9]+]]:_(s32) = G_AND [[COPY17]], [[C2]]
|
||||
; TAHITI: [[LSHR9:%[0-9]+]]:_(s32) = G_LSHR [[AND8]], [[COPY16]](s32)
|
||||
; TAHITI: [[C12:%[0-9]+]]:_(s32) = G_CONSTANT i32 10
|
||||
; TAHITI: [[COPY18:%[0-9]+]]:_(s32) = COPY [[C12]](s32)
|
||||
; TAHITI: [[C11:%[0-9]+]]:_(s32) = G_CONSTANT i32 10
|
||||
; TAHITI: [[COPY18:%[0-9]+]]:_(s32) = COPY [[C11]](s32)
|
||||
; TAHITI: [[COPY19:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND9:%[0-9]+]]:_(s32) = G_AND [[COPY19]], [[C3]]
|
||||
; TAHITI: [[AND9:%[0-9]+]]:_(s32) = G_AND [[COPY19]], [[C2]]
|
||||
; TAHITI: [[LSHR10:%[0-9]+]]:_(s32) = G_LSHR [[AND9]], [[COPY18]](s32)
|
||||
; TAHITI: [[C13:%[0-9]+]]:_(s32) = G_CONSTANT i32 11
|
||||
; TAHITI: [[COPY20:%[0-9]+]]:_(s32) = COPY [[C13]](s32)
|
||||
; TAHITI: [[C12:%[0-9]+]]:_(s32) = G_CONSTANT i32 11
|
||||
; TAHITI: [[COPY20:%[0-9]+]]:_(s32) = COPY [[C12]](s32)
|
||||
; TAHITI: [[COPY21:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND10:%[0-9]+]]:_(s32) = G_AND [[COPY21]], [[C3]]
|
||||
; TAHITI: [[AND10:%[0-9]+]]:_(s32) = G_AND [[COPY21]], [[C2]]
|
||||
; TAHITI: [[LSHR11:%[0-9]+]]:_(s32) = G_LSHR [[AND10]], [[COPY20]](s32)
|
||||
; TAHITI: [[C14:%[0-9]+]]:_(s32) = G_CONSTANT i32 12
|
||||
; TAHITI: [[COPY22:%[0-9]+]]:_(s32) = COPY [[C14]](s32)
|
||||
; TAHITI: [[C13:%[0-9]+]]:_(s32) = G_CONSTANT i32 12
|
||||
; TAHITI: [[COPY22:%[0-9]+]]:_(s32) = COPY [[C13]](s32)
|
||||
; TAHITI: [[COPY23:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND11:%[0-9]+]]:_(s32) = G_AND [[COPY23]], [[C3]]
|
||||
; TAHITI: [[AND11:%[0-9]+]]:_(s32) = G_AND [[COPY23]], [[C2]]
|
||||
; TAHITI: [[LSHR12:%[0-9]+]]:_(s32) = G_LSHR [[AND11]], [[COPY22]](s32)
|
||||
; TAHITI: [[C15:%[0-9]+]]:_(s32) = G_CONSTANT i32 13
|
||||
; TAHITI: [[COPY24:%[0-9]+]]:_(s32) = COPY [[C15]](s32)
|
||||
; TAHITI: [[C14:%[0-9]+]]:_(s32) = G_CONSTANT i32 13
|
||||
; TAHITI: [[COPY24:%[0-9]+]]:_(s32) = COPY [[C14]](s32)
|
||||
; TAHITI: [[COPY25:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND12:%[0-9]+]]:_(s32) = G_AND [[COPY25]], [[C3]]
|
||||
; TAHITI: [[AND12:%[0-9]+]]:_(s32) = G_AND [[COPY25]], [[C2]]
|
||||
; TAHITI: [[LSHR13:%[0-9]+]]:_(s32) = G_LSHR [[AND12]], [[COPY24]](s32)
|
||||
; TAHITI: [[C16:%[0-9]+]]:_(s32) = G_CONSTANT i32 14
|
||||
; TAHITI: [[COPY26:%[0-9]+]]:_(s32) = COPY [[C16]](s32)
|
||||
; TAHITI: [[C15:%[0-9]+]]:_(s32) = G_CONSTANT i32 14
|
||||
; TAHITI: [[COPY26:%[0-9]+]]:_(s32) = COPY [[C15]](s32)
|
||||
; TAHITI: [[COPY27:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND13:%[0-9]+]]:_(s32) = G_AND [[COPY27]], [[C3]]
|
||||
; TAHITI: [[AND13:%[0-9]+]]:_(s32) = G_AND [[COPY27]], [[C2]]
|
||||
; TAHITI: [[LSHR14:%[0-9]+]]:_(s32) = G_LSHR [[AND13]], [[COPY26]](s32)
|
||||
; TAHITI: [[C17:%[0-9]+]]:_(s32) = G_CONSTANT i32 15
|
||||
; TAHITI: [[COPY28:%[0-9]+]]:_(s32) = COPY [[C17]](s32)
|
||||
; TAHITI: [[C16:%[0-9]+]]:_(s32) = G_CONSTANT i32 15
|
||||
; TAHITI: [[COPY28:%[0-9]+]]:_(s32) = COPY [[C16]](s32)
|
||||
; TAHITI: [[COPY29:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND14:%[0-9]+]]:_(s32) = G_AND [[COPY29]], [[C3]]
|
||||
; TAHITI: [[AND14:%[0-9]+]]:_(s32) = G_AND [[COPY29]], [[C2]]
|
||||
; TAHITI: [[LSHR15:%[0-9]+]]:_(s32) = G_LSHR [[AND14]], [[COPY28]](s32)
|
||||
; TAHITI: [[COPY30:%[0-9]+]]:_(s32) = COPY [[C2]](s32)
|
||||
; TAHITI: [[COPY30:%[0-9]+]]:_(s32) = COPY [[C1]](s32)
|
||||
; TAHITI: [[COPY31:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND15:%[0-9]+]]:_(s32) = G_AND [[COPY31]], [[C3]]
|
||||
; TAHITI: [[AND15:%[0-9]+]]:_(s32) = G_AND [[COPY31]], [[C2]]
|
||||
; TAHITI: [[LSHR16:%[0-9]+]]:_(s32) = G_LSHR [[AND15]], [[COPY30]](s32)
|
||||
; TAHITI: [[COPY32:%[0-9]+]]:_(s32) = COPY [[C4]](s32)
|
||||
; TAHITI: [[COPY32:%[0-9]+]]:_(s32) = COPY [[C3]](s32)
|
||||
; TAHITI: [[COPY33:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND16:%[0-9]+]]:_(s32) = G_AND [[COPY33]], [[C3]]
|
||||
; TAHITI: [[AND16:%[0-9]+]]:_(s32) = G_AND [[COPY33]], [[C2]]
|
||||
; TAHITI: [[LSHR17:%[0-9]+]]:_(s32) = G_LSHR [[AND16]], [[COPY32]](s32)
|
||||
; TAHITI: [[COPY34:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; TAHITI: [[COPY34:%[0-9]+]]:_(s32) = COPY [[C4]](s32)
|
||||
; TAHITI: [[COPY35:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND17:%[0-9]+]]:_(s32) = G_AND [[COPY35]], [[C3]]
|
||||
; TAHITI: [[AND17:%[0-9]+]]:_(s32) = G_AND [[COPY35]], [[C2]]
|
||||
; TAHITI: [[LSHR18:%[0-9]+]]:_(s32) = G_LSHR [[AND17]], [[COPY34]](s32)
|
||||
; TAHITI: [[COPY36:%[0-9]+]]:_(s32) = COPY [[C6]](s32)
|
||||
; TAHITI: [[COPY36:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; TAHITI: [[COPY37:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND18:%[0-9]+]]:_(s32) = G_AND [[COPY37]], [[C3]]
|
||||
; TAHITI: [[AND18:%[0-9]+]]:_(s32) = G_AND [[COPY37]], [[C2]]
|
||||
; TAHITI: [[LSHR19:%[0-9]+]]:_(s32) = G_LSHR [[AND18]], [[COPY36]](s32)
|
||||
; TAHITI: [[COPY38:%[0-9]+]]:_(s32) = COPY [[C7]](s32)
|
||||
; TAHITI: [[COPY38:%[0-9]+]]:_(s32) = COPY [[C6]](s32)
|
||||
; TAHITI: [[COPY39:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND19:%[0-9]+]]:_(s32) = G_AND [[COPY39]], [[C3]]
|
||||
; TAHITI: [[AND19:%[0-9]+]]:_(s32) = G_AND [[COPY39]], [[C2]]
|
||||
; TAHITI: [[LSHR20:%[0-9]+]]:_(s32) = G_LSHR [[AND19]], [[COPY38]](s32)
|
||||
; TAHITI: [[COPY40:%[0-9]+]]:_(s32) = COPY [[C8]](s32)
|
||||
; TAHITI: [[COPY40:%[0-9]+]]:_(s32) = COPY [[C7]](s32)
|
||||
; TAHITI: [[COPY41:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND20:%[0-9]+]]:_(s32) = G_AND [[COPY41]], [[C3]]
|
||||
; TAHITI: [[AND20:%[0-9]+]]:_(s32) = G_AND [[COPY41]], [[C2]]
|
||||
; TAHITI: [[LSHR21:%[0-9]+]]:_(s32) = G_LSHR [[AND20]], [[COPY40]](s32)
|
||||
; TAHITI: [[COPY42:%[0-9]+]]:_(s32) = COPY [[C9]](s32)
|
||||
; TAHITI: [[COPY42:%[0-9]+]]:_(s32) = COPY [[C8]](s32)
|
||||
; TAHITI: [[COPY43:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND21:%[0-9]+]]:_(s32) = G_AND [[COPY43]], [[C3]]
|
||||
; TAHITI: [[AND21:%[0-9]+]]:_(s32) = G_AND [[COPY43]], [[C2]]
|
||||
; TAHITI: [[LSHR22:%[0-9]+]]:_(s32) = G_LSHR [[AND21]], [[COPY42]](s32)
|
||||
; TAHITI: [[COPY44:%[0-9]+]]:_(s32) = COPY [[C10]](s32)
|
||||
; TAHITI: [[COPY44:%[0-9]+]]:_(s32) = COPY [[C9]](s32)
|
||||
; TAHITI: [[COPY45:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND22:%[0-9]+]]:_(s32) = G_AND [[COPY45]], [[C3]]
|
||||
; TAHITI: [[AND22:%[0-9]+]]:_(s32) = G_AND [[COPY45]], [[C2]]
|
||||
; TAHITI: [[LSHR23:%[0-9]+]]:_(s32) = G_LSHR [[AND22]], [[COPY44]](s32)
|
||||
; TAHITI: [[COPY46:%[0-9]+]]:_(s32) = COPY [[C11]](s32)
|
||||
; TAHITI: [[COPY46:%[0-9]+]]:_(s32) = COPY [[C10]](s32)
|
||||
; TAHITI: [[COPY47:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND23:%[0-9]+]]:_(s32) = G_AND [[COPY47]], [[C3]]
|
||||
; TAHITI: [[AND23:%[0-9]+]]:_(s32) = G_AND [[COPY47]], [[C2]]
|
||||
; TAHITI: [[LSHR24:%[0-9]+]]:_(s32) = G_LSHR [[AND23]], [[COPY46]](s32)
|
||||
; TAHITI: [[COPY48:%[0-9]+]]:_(s32) = COPY [[C12]](s32)
|
||||
; TAHITI: [[COPY48:%[0-9]+]]:_(s32) = COPY [[C11]](s32)
|
||||
; TAHITI: [[COPY49:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND24:%[0-9]+]]:_(s32) = G_AND [[COPY49]], [[C3]]
|
||||
; TAHITI: [[AND24:%[0-9]+]]:_(s32) = G_AND [[COPY49]], [[C2]]
|
||||
; TAHITI: [[LSHR25:%[0-9]+]]:_(s32) = G_LSHR [[AND24]], [[COPY48]](s32)
|
||||
; TAHITI: [[COPY50:%[0-9]+]]:_(s32) = COPY [[C13]](s32)
|
||||
; TAHITI: [[COPY50:%[0-9]+]]:_(s32) = COPY [[C12]](s32)
|
||||
; TAHITI: [[COPY51:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND25:%[0-9]+]]:_(s32) = G_AND [[COPY51]], [[C3]]
|
||||
; TAHITI: [[AND25:%[0-9]+]]:_(s32) = G_AND [[COPY51]], [[C2]]
|
||||
; TAHITI: [[LSHR26:%[0-9]+]]:_(s32) = G_LSHR [[AND25]], [[COPY50]](s32)
|
||||
; TAHITI: [[COPY52:%[0-9]+]]:_(s32) = COPY [[C14]](s32)
|
||||
; TAHITI: [[COPY52:%[0-9]+]]:_(s32) = COPY [[C13]](s32)
|
||||
; TAHITI: [[COPY53:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND26:%[0-9]+]]:_(s32) = G_AND [[COPY53]], [[C3]]
|
||||
; TAHITI: [[AND26:%[0-9]+]]:_(s32) = G_AND [[COPY53]], [[C2]]
|
||||
; TAHITI: [[LSHR27:%[0-9]+]]:_(s32) = G_LSHR [[AND26]], [[COPY52]](s32)
|
||||
; TAHITI: [[COPY54:%[0-9]+]]:_(s32) = COPY [[C15]](s32)
|
||||
; TAHITI: [[COPY54:%[0-9]+]]:_(s32) = COPY [[C14]](s32)
|
||||
; TAHITI: [[COPY55:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND27:%[0-9]+]]:_(s32) = G_AND [[COPY55]], [[C3]]
|
||||
; TAHITI: [[AND27:%[0-9]+]]:_(s32) = G_AND [[COPY55]], [[C2]]
|
||||
; TAHITI: [[LSHR28:%[0-9]+]]:_(s32) = G_LSHR [[AND27]], [[COPY54]](s32)
|
||||
; TAHITI: [[COPY56:%[0-9]+]]:_(s32) = COPY [[C16]](s32)
|
||||
; TAHITI: [[COPY56:%[0-9]+]]:_(s32) = COPY [[C15]](s32)
|
||||
; TAHITI: [[COPY57:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND28:%[0-9]+]]:_(s32) = G_AND [[COPY57]], [[C3]]
|
||||
; TAHITI: [[AND28:%[0-9]+]]:_(s32) = G_AND [[COPY57]], [[C2]]
|
||||
; TAHITI: [[LSHR29:%[0-9]+]]:_(s32) = G_LSHR [[AND28]], [[COPY56]](s32)
|
||||
; TAHITI: [[COPY58:%[0-9]+]]:_(s32) = COPY [[C17]](s32)
|
||||
; TAHITI: [[COPY58:%[0-9]+]]:_(s32) = COPY [[C16]](s32)
|
||||
; TAHITI: [[COPY59:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND29:%[0-9]+]]:_(s32) = G_AND [[COPY59]], [[C3]]
|
||||
; TAHITI: [[AND29:%[0-9]+]]:_(s32) = G_AND [[COPY59]], [[C2]]
|
||||
; TAHITI: [[LSHR30:%[0-9]+]]:_(s32) = G_LSHR [[AND29]], [[COPY58]](s32)
|
||||
; TAHITI: [[DEF1:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
|
||||
; TAHITI: [[COPY60:%[0-9]+]]:_(s16) = COPY [[TRUNC]](s16)
|
||||
; TAHITI: [[AND30:%[0-9]+]]:_(s16) = G_AND [[COPY60]], [[C1]]
|
||||
; TAHITI: [[COPY61:%[0-9]+]]:_(s32) = COPY [[C2]](s32)
|
||||
; TAHITI: [[COPY62:%[0-9]+]]:_(s32) = COPY [[LSHR1]](s32)
|
||||
; TAHITI: [[AND31:%[0-9]+]]:_(s32) = G_AND [[COPY62]], [[C2]]
|
||||
; TAHITI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND31]], [[COPY61]](s32)
|
||||
; TAHITI: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
|
||||
; TAHITI: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND30]], [[TRUNC2]]
|
||||
; TAHITI: [[COPY63:%[0-9]+]]:_(s32) = COPY [[C4]](s32)
|
||||
; TAHITI: [[COPY64:%[0-9]+]]:_(s32) = COPY [[LSHR2]](s32)
|
||||
; TAHITI: [[AND32:%[0-9]+]]:_(s32) = G_AND [[COPY64]], [[C2]]
|
||||
; TAHITI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND32]], [[COPY63]](s32)
|
||||
; TAHITI: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[SHL1]](s32)
|
||||
; TAHITI: [[OR1:%[0-9]+]]:_(s16) = G_OR [[OR]], [[TRUNC3]]
|
||||
; TAHITI: [[COPY65:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; TAHITI: [[COPY66:%[0-9]+]]:_(s32) = COPY [[LSHR3]](s32)
|
||||
; TAHITI: [[AND33:%[0-9]+]]:_(s32) = G_AND [[COPY66]], [[C2]]
|
||||
; TAHITI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND33]], [[COPY65]](s32)
|
||||
; TAHITI: [[TRUNC4:%[0-9]+]]:_(s16) = G_TRUNC [[SHL2]](s32)
|
||||
; TAHITI: [[OR2:%[0-9]+]]:_(s16) = G_OR [[OR1]], [[TRUNC4]]
|
||||
; TAHITI: [[COPY67:%[0-9]+]]:_(s32) = COPY [[C6]](s32)
|
||||
; TAHITI: [[COPY68:%[0-9]+]]:_(s32) = COPY [[LSHR4]](s32)
|
||||
; TAHITI: [[AND34:%[0-9]+]]:_(s32) = G_AND [[COPY68]], [[C2]]
|
||||
; TAHITI: [[SHL3:%[0-9]+]]:_(s32) = G_SHL [[AND34]], [[COPY67]](s32)
|
||||
; TAHITI: [[TRUNC5:%[0-9]+]]:_(s16) = G_TRUNC [[SHL3]](s32)
|
||||
; TAHITI: [[OR3:%[0-9]+]]:_(s16) = G_OR [[OR2]], [[TRUNC5]]
|
||||
; TAHITI: [[COPY69:%[0-9]+]]:_(s32) = COPY [[C7]](s32)
|
||||
; TAHITI: [[COPY70:%[0-9]+]]:_(s32) = COPY [[LSHR5]](s32)
|
||||
; TAHITI: [[AND35:%[0-9]+]]:_(s32) = G_AND [[COPY70]], [[C2]]
|
||||
; TAHITI: [[SHL4:%[0-9]+]]:_(s32) = G_SHL [[AND35]], [[COPY69]](s32)
|
||||
; TAHITI: [[TRUNC6:%[0-9]+]]:_(s16) = G_TRUNC [[SHL4]](s32)
|
||||
; TAHITI: [[OR4:%[0-9]+]]:_(s16) = G_OR [[OR3]], [[TRUNC6]]
|
||||
; TAHITI: [[COPY71:%[0-9]+]]:_(s32) = COPY [[C8]](s32)
|
||||
; TAHITI: [[COPY72:%[0-9]+]]:_(s32) = COPY [[LSHR6]](s32)
|
||||
; TAHITI: [[AND36:%[0-9]+]]:_(s32) = G_AND [[COPY72]], [[C2]]
|
||||
; TAHITI: [[SHL5:%[0-9]+]]:_(s32) = G_SHL [[AND36]], [[COPY71]](s32)
|
||||
; TAHITI: [[TRUNC7:%[0-9]+]]:_(s16) = G_TRUNC [[SHL5]](s32)
|
||||
; TAHITI: [[OR5:%[0-9]+]]:_(s16) = G_OR [[OR4]], [[TRUNC7]]
|
||||
; TAHITI: [[COPY73:%[0-9]+]]:_(s32) = COPY [[C9]](s32)
|
||||
; TAHITI: [[COPY74:%[0-9]+]]:_(s32) = COPY [[LSHR7]](s32)
|
||||
; TAHITI: [[AND37:%[0-9]+]]:_(s32) = G_AND [[COPY74]], [[C2]]
|
||||
; TAHITI: [[SHL6:%[0-9]+]]:_(s32) = G_SHL [[AND37]], [[COPY73]](s32)
|
||||
; TAHITI: [[TRUNC8:%[0-9]+]]:_(s16) = G_TRUNC [[SHL6]](s32)
|
||||
; TAHITI: [[OR6:%[0-9]+]]:_(s16) = G_OR [[OR5]], [[TRUNC8]]
|
||||
; TAHITI: [[COPY75:%[0-9]+]]:_(s32) = COPY [[C10]](s32)
|
||||
; TAHITI: [[COPY76:%[0-9]+]]:_(s32) = COPY [[LSHR8]](s32)
|
||||
; TAHITI: [[AND38:%[0-9]+]]:_(s32) = G_AND [[COPY76]], [[C2]]
|
||||
; TAHITI: [[SHL7:%[0-9]+]]:_(s32) = G_SHL [[AND38]], [[COPY75]](s32)
|
||||
; TAHITI: [[TRUNC9:%[0-9]+]]:_(s16) = G_TRUNC [[SHL7]](s32)
|
||||
; TAHITI: [[OR7:%[0-9]+]]:_(s16) = G_OR [[OR6]], [[TRUNC9]]
|
||||
; TAHITI: [[COPY77:%[0-9]+]]:_(s32) = COPY [[C11]](s32)
|
||||
; TAHITI: [[COPY78:%[0-9]+]]:_(s32) = COPY [[LSHR9]](s32)
|
||||
; TAHITI: [[AND39:%[0-9]+]]:_(s32) = G_AND [[COPY78]], [[C2]]
|
||||
; TAHITI: [[SHL8:%[0-9]+]]:_(s32) = G_SHL [[AND39]], [[COPY77]](s32)
|
||||
; TAHITI: [[TRUNC10:%[0-9]+]]:_(s16) = G_TRUNC [[SHL8]](s32)
|
||||
; TAHITI: [[OR8:%[0-9]+]]:_(s16) = G_OR [[OR7]], [[TRUNC10]]
|
||||
; TAHITI: [[COPY79:%[0-9]+]]:_(s32) = COPY [[C12]](s32)
|
||||
; TAHITI: [[COPY80:%[0-9]+]]:_(s32) = COPY [[LSHR10]](s32)
|
||||
; TAHITI: [[AND40:%[0-9]+]]:_(s32) = G_AND [[COPY80]], [[C2]]
|
||||
; TAHITI: [[SHL9:%[0-9]+]]:_(s32) = G_SHL [[AND40]], [[COPY79]](s32)
|
||||
; TAHITI: [[TRUNC11:%[0-9]+]]:_(s16) = G_TRUNC [[SHL9]](s32)
|
||||
; TAHITI: [[OR9:%[0-9]+]]:_(s16) = G_OR [[OR8]], [[TRUNC11]]
|
||||
; TAHITI: [[COPY81:%[0-9]+]]:_(s32) = COPY [[C13]](s32)
|
||||
; TAHITI: [[COPY82:%[0-9]+]]:_(s32) = COPY [[LSHR11]](s32)
|
||||
; TAHITI: [[AND41:%[0-9]+]]:_(s32) = G_AND [[COPY82]], [[C2]]
|
||||
; TAHITI: [[SHL10:%[0-9]+]]:_(s32) = G_SHL [[AND41]], [[COPY81]](s32)
|
||||
; TAHITI: [[TRUNC12:%[0-9]+]]:_(s16) = G_TRUNC [[SHL10]](s32)
|
||||
; TAHITI: [[OR10:%[0-9]+]]:_(s16) = G_OR [[OR9]], [[TRUNC12]]
|
||||
; TAHITI: [[COPY83:%[0-9]+]]:_(s32) = COPY [[C14]](s32)
|
||||
; TAHITI: [[COPY84:%[0-9]+]]:_(s32) = COPY [[LSHR12]](s32)
|
||||
; TAHITI: [[AND42:%[0-9]+]]:_(s32) = G_AND [[COPY84]], [[C2]]
|
||||
; TAHITI: [[SHL11:%[0-9]+]]:_(s32) = G_SHL [[AND42]], [[COPY83]](s32)
|
||||
; TAHITI: [[TRUNC13:%[0-9]+]]:_(s16) = G_TRUNC [[SHL11]](s32)
|
||||
; TAHITI: [[OR11:%[0-9]+]]:_(s16) = G_OR [[OR10]], [[TRUNC13]]
|
||||
; TAHITI: [[COPY85:%[0-9]+]]:_(s32) = COPY [[C15]](s32)
|
||||
; TAHITI: [[COPY86:%[0-9]+]]:_(s32) = COPY [[LSHR13]](s32)
|
||||
; TAHITI: [[AND43:%[0-9]+]]:_(s32) = G_AND [[COPY86]], [[C2]]
|
||||
; TAHITI: [[SHL12:%[0-9]+]]:_(s32) = G_SHL [[AND43]], [[COPY85]](s32)
|
||||
; TAHITI: [[TRUNC14:%[0-9]+]]:_(s16) = G_TRUNC [[SHL12]](s32)
|
||||
; TAHITI: [[OR12:%[0-9]+]]:_(s16) = G_OR [[OR11]], [[TRUNC14]]
|
||||
; TAHITI: [[COPY87:%[0-9]+]]:_(s32) = COPY [[C16]](s32)
|
||||
; TAHITI: [[COPY88:%[0-9]+]]:_(s32) = COPY [[LSHR14]](s32)
|
||||
; TAHITI: [[AND44:%[0-9]+]]:_(s32) = G_AND [[COPY88]], [[C2]]
|
||||
; TAHITI: [[SHL13:%[0-9]+]]:_(s32) = G_SHL [[AND44]], [[COPY87]](s32)
|
||||
; TAHITI: [[TRUNC15:%[0-9]+]]:_(s16) = G_TRUNC [[SHL13]](s32)
|
||||
; TAHITI: [[OR13:%[0-9]+]]:_(s16) = G_OR [[OR12]], [[TRUNC15]]
|
||||
; TAHITI: [[COPY89:%[0-9]+]]:_(s32) = COPY [[C17]](s32)
|
||||
; TAHITI: [[COPY90:%[0-9]+]]:_(s32) = COPY [[LSHR15]](s32)
|
||||
; TAHITI: [[AND45:%[0-9]+]]:_(s32) = G_AND [[COPY90]], [[C2]]
|
||||
; TAHITI: [[SHL14:%[0-9]+]]:_(s32) = G_SHL [[AND45]], [[COPY89]](s32)
|
||||
; TAHITI: [[TRUNC16:%[0-9]+]]:_(s16) = G_TRUNC [[SHL14]](s32)
|
||||
; TAHITI: [[OR14:%[0-9]+]]:_(s16) = G_OR [[OR13]], [[TRUNC16]]
|
||||
; TAHITI: [[COPY91:%[0-9]+]]:_(s16) = COPY [[TRUNC1]](s16)
|
||||
; TAHITI: [[AND46:%[0-9]+]]:_(s16) = G_AND [[COPY91]], [[C1]]
|
||||
; TAHITI: [[COPY92:%[0-9]+]]:_(s32) = COPY [[C2]](s32)
|
||||
; TAHITI: [[COPY93:%[0-9]+]]:_(s32) = COPY [[LSHR16]](s32)
|
||||
; TAHITI: [[AND47:%[0-9]+]]:_(s32) = G_AND [[COPY93]], [[C2]]
|
||||
; TAHITI: [[SHL15:%[0-9]+]]:_(s32) = G_SHL [[AND47]], [[COPY92]](s32)
|
||||
; TAHITI: [[TRUNC17:%[0-9]+]]:_(s16) = G_TRUNC [[SHL15]](s32)
|
||||
; TAHITI: [[OR15:%[0-9]+]]:_(s16) = G_OR [[AND46]], [[TRUNC17]]
|
||||
; TAHITI: [[COPY94:%[0-9]+]]:_(s32) = COPY [[LSHR17]](s32)
|
||||
; TAHITI: [[AND48:%[0-9]+]]:_(s32) = G_AND [[COPY94]], [[C2]]
|
||||
; TAHITI: [[SHL16:%[0-9]+]]:_(s32) = G_SHL [[AND48]], [[C4]](s32)
|
||||
; TAHITI: [[TRUNC18:%[0-9]+]]:_(s16) = G_TRUNC [[SHL16]](s32)
|
||||
; TAHITI: [[OR16:%[0-9]+]]:_(s16) = G_OR [[OR15]], [[TRUNC18]]
|
||||
; TAHITI: [[COPY95:%[0-9]+]]:_(s32) = COPY [[LSHR18]](s32)
|
||||
; TAHITI: [[AND49:%[0-9]+]]:_(s32) = G_AND [[COPY95]], [[C2]]
|
||||
; TAHITI: [[SHL17:%[0-9]+]]:_(s32) = G_SHL [[AND49]], [[C5]](s32)
|
||||
; TAHITI: [[TRUNC19:%[0-9]+]]:_(s16) = G_TRUNC [[SHL17]](s32)
|
||||
; TAHITI: [[OR17:%[0-9]+]]:_(s16) = G_OR [[OR16]], [[TRUNC19]]
|
||||
; TAHITI: [[COPY96:%[0-9]+]]:_(s32) = COPY [[LSHR19]](s32)
|
||||
; TAHITI: [[AND50:%[0-9]+]]:_(s32) = G_AND [[COPY96]], [[C2]]
|
||||
; TAHITI: [[SHL18:%[0-9]+]]:_(s32) = G_SHL [[AND50]], [[C6]](s32)
|
||||
; TAHITI: [[TRUNC20:%[0-9]+]]:_(s16) = G_TRUNC [[SHL18]](s32)
|
||||
; TAHITI: [[OR18:%[0-9]+]]:_(s16) = G_OR [[OR17]], [[TRUNC20]]
|
||||
; TAHITI: [[COPY97:%[0-9]+]]:_(s32) = COPY [[LSHR20]](s32)
|
||||
; TAHITI: [[AND51:%[0-9]+]]:_(s32) = G_AND [[COPY97]], [[C2]]
|
||||
; TAHITI: [[SHL19:%[0-9]+]]:_(s32) = G_SHL [[AND51]], [[C7]](s32)
|
||||
; TAHITI: [[TRUNC21:%[0-9]+]]:_(s16) = G_TRUNC [[SHL19]](s32)
|
||||
; TAHITI: [[OR19:%[0-9]+]]:_(s16) = G_OR [[OR18]], [[TRUNC21]]
|
||||
; TAHITI: [[COPY98:%[0-9]+]]:_(s32) = COPY [[LSHR21]](s32)
|
||||
; TAHITI: [[AND52:%[0-9]+]]:_(s32) = G_AND [[COPY98]], [[C2]]
|
||||
; TAHITI: [[SHL20:%[0-9]+]]:_(s32) = G_SHL [[AND52]], [[C8]](s32)
|
||||
; TAHITI: [[TRUNC22:%[0-9]+]]:_(s16) = G_TRUNC [[SHL20]](s32)
|
||||
; TAHITI: [[OR20:%[0-9]+]]:_(s16) = G_OR [[OR19]], [[TRUNC22]]
|
||||
; TAHITI: [[COPY99:%[0-9]+]]:_(s32) = COPY [[LSHR22]](s32)
|
||||
; TAHITI: [[AND53:%[0-9]+]]:_(s32) = G_AND [[COPY99]], [[C2]]
|
||||
; TAHITI: [[SHL21:%[0-9]+]]:_(s32) = G_SHL [[AND53]], [[C9]](s32)
|
||||
; TAHITI: [[TRUNC23:%[0-9]+]]:_(s16) = G_TRUNC [[SHL21]](s32)
|
||||
; TAHITI: [[OR21:%[0-9]+]]:_(s16) = G_OR [[OR20]], [[TRUNC23]]
|
||||
; TAHITI: [[COPY100:%[0-9]+]]:_(s32) = COPY [[LSHR23]](s32)
|
||||
; TAHITI: [[AND54:%[0-9]+]]:_(s32) = G_AND [[COPY100]], [[C2]]
|
||||
; TAHITI: [[SHL22:%[0-9]+]]:_(s32) = G_SHL [[AND54]], [[C10]](s32)
|
||||
; TAHITI: [[TRUNC24:%[0-9]+]]:_(s16) = G_TRUNC [[SHL22]](s32)
|
||||
; TAHITI: [[OR22:%[0-9]+]]:_(s16) = G_OR [[OR21]], [[TRUNC24]]
|
||||
; TAHITI: [[COPY101:%[0-9]+]]:_(s32) = COPY [[LSHR24]](s32)
|
||||
; TAHITI: [[AND55:%[0-9]+]]:_(s32) = G_AND [[COPY101]], [[C2]]
|
||||
; TAHITI: [[SHL23:%[0-9]+]]:_(s32) = G_SHL [[AND55]], [[C11]](s32)
|
||||
; TAHITI: [[TRUNC25:%[0-9]+]]:_(s16) = G_TRUNC [[SHL23]](s32)
|
||||
; TAHITI: [[OR23:%[0-9]+]]:_(s16) = G_OR [[OR22]], [[TRUNC25]]
|
||||
; TAHITI: [[COPY102:%[0-9]+]]:_(s32) = COPY [[LSHR25]](s32)
|
||||
; TAHITI: [[AND56:%[0-9]+]]:_(s32) = G_AND [[COPY102]], [[C2]]
|
||||
; TAHITI: [[SHL24:%[0-9]+]]:_(s32) = G_SHL [[AND56]], [[C12]](s32)
|
||||
; TAHITI: [[TRUNC26:%[0-9]+]]:_(s16) = G_TRUNC [[SHL24]](s32)
|
||||
; TAHITI: [[OR24:%[0-9]+]]:_(s16) = G_OR [[OR23]], [[TRUNC26]]
|
||||
; TAHITI: [[COPY103:%[0-9]+]]:_(s32) = COPY [[LSHR26]](s32)
|
||||
; TAHITI: [[AND57:%[0-9]+]]:_(s32) = G_AND [[COPY103]], [[C2]]
|
||||
; TAHITI: [[SHL25:%[0-9]+]]:_(s32) = G_SHL [[AND57]], [[C13]](s32)
|
||||
; TAHITI: [[TRUNC27:%[0-9]+]]:_(s16) = G_TRUNC [[SHL25]](s32)
|
||||
; TAHITI: [[OR25:%[0-9]+]]:_(s16) = G_OR [[OR24]], [[TRUNC27]]
|
||||
; TAHITI: [[COPY104:%[0-9]+]]:_(s32) = COPY [[LSHR27]](s32)
|
||||
; TAHITI: [[AND58:%[0-9]+]]:_(s32) = G_AND [[COPY104]], [[C2]]
|
||||
; TAHITI: [[SHL26:%[0-9]+]]:_(s32) = G_SHL [[AND58]], [[C14]](s32)
|
||||
; TAHITI: [[TRUNC28:%[0-9]+]]:_(s16) = G_TRUNC [[SHL26]](s32)
|
||||
; TAHITI: [[OR26:%[0-9]+]]:_(s16) = G_OR [[OR25]], [[TRUNC28]]
|
||||
; TAHITI: [[COPY105:%[0-9]+]]:_(s32) = COPY [[LSHR28]](s32)
|
||||
; TAHITI: [[AND59:%[0-9]+]]:_(s32) = G_AND [[COPY105]], [[C2]]
|
||||
; TAHITI: [[SHL27:%[0-9]+]]:_(s32) = G_SHL [[AND59]], [[C15]](s32)
|
||||
; TAHITI: [[TRUNC29:%[0-9]+]]:_(s16) = G_TRUNC [[SHL27]](s32)
|
||||
; TAHITI: [[OR27:%[0-9]+]]:_(s16) = G_OR [[OR26]], [[TRUNC29]]
|
||||
; TAHITI: [[COPY106:%[0-9]+]]:_(s32) = COPY [[LSHR29]](s32)
|
||||
; TAHITI: [[AND60:%[0-9]+]]:_(s32) = G_AND [[COPY106]], [[C2]]
|
||||
; TAHITI: [[SHL28:%[0-9]+]]:_(s32) = G_SHL [[AND60]], [[C16]](s32)
|
||||
; TAHITI: [[TRUNC30:%[0-9]+]]:_(s16) = G_TRUNC [[SHL28]](s32)
|
||||
; TAHITI: [[OR28:%[0-9]+]]:_(s16) = G_OR [[OR27]], [[TRUNC30]]
|
||||
; TAHITI: [[COPY107:%[0-9]+]]:_(s32) = COPY [[LSHR30]](s32)
|
||||
; TAHITI: [[AND61:%[0-9]+]]:_(s32) = G_AND [[COPY107]], [[C2]]
|
||||
; TAHITI: [[SHL29:%[0-9]+]]:_(s32) = G_SHL [[AND61]], [[C17]](s32)
|
||||
; TAHITI: [[TRUNC31:%[0-9]+]]:_(s16) = G_TRUNC [[SHL29]](s32)
|
||||
; TAHITI: [[OR29:%[0-9]+]]:_(s16) = G_OR [[OR28]], [[TRUNC31]]
|
||||
; TAHITI: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR14]](s16)
|
||||
; TAHITI: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR29]](s16)
|
||||
; TAHITI: [[SHL30:%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C]](s32)
|
||||
; TAHITI: [[OR30:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL30]]
|
||||
; TAHITI: [[COPY60:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; TAHITI: [[AND30:%[0-9]+]]:_(s32) = G_AND [[COPY60]], [[C1]]
|
||||
; TAHITI: [[COPY61:%[0-9]+]]:_(s32) = COPY [[LSHR1]](s32)
|
||||
; TAHITI: [[AND31:%[0-9]+]]:_(s32) = G_AND [[COPY61]], [[C1]]
|
||||
; TAHITI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND31]], [[C1]](s32)
|
||||
; TAHITI: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND30]], [[SHL]]
|
||||
; TAHITI: [[COPY62:%[0-9]+]]:_(s32) = COPY [[LSHR2]](s32)
|
||||
; TAHITI: [[AND32:%[0-9]+]]:_(s32) = G_AND [[COPY62]], [[C1]]
|
||||
; TAHITI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND32]], [[C3]](s32)
|
||||
; TAHITI: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
|
||||
; TAHITI: [[COPY63:%[0-9]+]]:_(s32) = COPY [[LSHR3]](s32)
|
||||
; TAHITI: [[AND33:%[0-9]+]]:_(s32) = G_AND [[COPY63]], [[C1]]
|
||||
; TAHITI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND33]], [[C4]](s32)
|
||||
; TAHITI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[OR1]], [[SHL2]]
|
||||
; TAHITI: [[COPY64:%[0-9]+]]:_(s32) = COPY [[LSHR4]](s32)
|
||||
; TAHITI: [[AND34:%[0-9]+]]:_(s32) = G_AND [[COPY64]], [[C1]]
|
||||
; TAHITI: [[SHL3:%[0-9]+]]:_(s32) = G_SHL [[AND34]], [[C5]](s32)
|
||||
; TAHITI: [[OR3:%[0-9]+]]:_(s32) = G_OR [[OR2]], [[SHL3]]
|
||||
; TAHITI: [[COPY65:%[0-9]+]]:_(s32) = COPY [[LSHR5]](s32)
|
||||
; TAHITI: [[AND35:%[0-9]+]]:_(s32) = G_AND [[COPY65]], [[C1]]
|
||||
; TAHITI: [[SHL4:%[0-9]+]]:_(s32) = G_SHL [[AND35]], [[C6]](s32)
|
||||
; TAHITI: [[OR4:%[0-9]+]]:_(s32) = G_OR [[OR3]], [[SHL4]]
|
||||
; TAHITI: [[COPY66:%[0-9]+]]:_(s32) = COPY [[LSHR6]](s32)
|
||||
; TAHITI: [[AND36:%[0-9]+]]:_(s32) = G_AND [[COPY66]], [[C1]]
|
||||
; TAHITI: [[SHL5:%[0-9]+]]:_(s32) = G_SHL [[AND36]], [[C7]](s32)
|
||||
; TAHITI: [[OR5:%[0-9]+]]:_(s32) = G_OR [[OR4]], [[SHL5]]
|
||||
; TAHITI: [[COPY67:%[0-9]+]]:_(s32) = COPY [[LSHR7]](s32)
|
||||
; TAHITI: [[AND37:%[0-9]+]]:_(s32) = G_AND [[COPY67]], [[C1]]
|
||||
; TAHITI: [[SHL6:%[0-9]+]]:_(s32) = G_SHL [[AND37]], [[C8]](s32)
|
||||
; TAHITI: [[OR6:%[0-9]+]]:_(s32) = G_OR [[OR5]], [[SHL6]]
|
||||
; TAHITI: [[COPY68:%[0-9]+]]:_(s32) = COPY [[LSHR8]](s32)
|
||||
; TAHITI: [[AND38:%[0-9]+]]:_(s32) = G_AND [[COPY68]], [[C1]]
|
||||
; TAHITI: [[SHL7:%[0-9]+]]:_(s32) = G_SHL [[AND38]], [[C9]](s32)
|
||||
; TAHITI: [[OR7:%[0-9]+]]:_(s32) = G_OR [[OR6]], [[SHL7]]
|
||||
; TAHITI: [[COPY69:%[0-9]+]]:_(s32) = COPY [[LSHR9]](s32)
|
||||
; TAHITI: [[AND39:%[0-9]+]]:_(s32) = G_AND [[COPY69]], [[C1]]
|
||||
; TAHITI: [[SHL8:%[0-9]+]]:_(s32) = G_SHL [[AND39]], [[C10]](s32)
|
||||
; TAHITI: [[OR8:%[0-9]+]]:_(s32) = G_OR [[OR7]], [[SHL8]]
|
||||
; TAHITI: [[COPY70:%[0-9]+]]:_(s32) = COPY [[LSHR10]](s32)
|
||||
; TAHITI: [[AND40:%[0-9]+]]:_(s32) = G_AND [[COPY70]], [[C1]]
|
||||
; TAHITI: [[SHL9:%[0-9]+]]:_(s32) = G_SHL [[AND40]], [[C11]](s32)
|
||||
; TAHITI: [[OR9:%[0-9]+]]:_(s32) = G_OR [[OR8]], [[SHL9]]
|
||||
; TAHITI: [[COPY71:%[0-9]+]]:_(s32) = COPY [[LSHR11]](s32)
|
||||
; TAHITI: [[AND41:%[0-9]+]]:_(s32) = G_AND [[COPY71]], [[C1]]
|
||||
; TAHITI: [[SHL10:%[0-9]+]]:_(s32) = G_SHL [[AND41]], [[C12]](s32)
|
||||
; TAHITI: [[OR10:%[0-9]+]]:_(s32) = G_OR [[OR9]], [[SHL10]]
|
||||
; TAHITI: [[COPY72:%[0-9]+]]:_(s32) = COPY [[LSHR12]](s32)
|
||||
; TAHITI: [[AND42:%[0-9]+]]:_(s32) = G_AND [[COPY72]], [[C1]]
|
||||
; TAHITI: [[SHL11:%[0-9]+]]:_(s32) = G_SHL [[AND42]], [[C13]](s32)
|
||||
; TAHITI: [[OR11:%[0-9]+]]:_(s32) = G_OR [[OR10]], [[SHL11]]
|
||||
; TAHITI: [[COPY73:%[0-9]+]]:_(s32) = COPY [[LSHR13]](s32)
|
||||
; TAHITI: [[AND43:%[0-9]+]]:_(s32) = G_AND [[COPY73]], [[C1]]
|
||||
; TAHITI: [[SHL12:%[0-9]+]]:_(s32) = G_SHL [[AND43]], [[C14]](s32)
|
||||
; TAHITI: [[OR12:%[0-9]+]]:_(s32) = G_OR [[OR11]], [[SHL12]]
|
||||
; TAHITI: [[COPY74:%[0-9]+]]:_(s32) = COPY [[LSHR14]](s32)
|
||||
; TAHITI: [[AND44:%[0-9]+]]:_(s32) = G_AND [[COPY74]], [[C1]]
|
||||
; TAHITI: [[SHL13:%[0-9]+]]:_(s32) = G_SHL [[AND44]], [[C15]](s32)
|
||||
; TAHITI: [[OR13:%[0-9]+]]:_(s32) = G_OR [[OR12]], [[SHL13]]
|
||||
; TAHITI: [[COPY75:%[0-9]+]]:_(s32) = COPY [[LSHR15]](s32)
|
||||
; TAHITI: [[AND45:%[0-9]+]]:_(s32) = G_AND [[COPY75]], [[C1]]
|
||||
; TAHITI: [[SHL14:%[0-9]+]]:_(s32) = G_SHL [[AND45]], [[C16]](s32)
|
||||
; TAHITI: [[OR14:%[0-9]+]]:_(s32) = G_OR [[OR13]], [[SHL14]]
|
||||
; TAHITI: [[COPY76:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; TAHITI: [[AND46:%[0-9]+]]:_(s32) = G_AND [[COPY76]], [[C1]]
|
||||
; TAHITI: [[SHL15:%[0-9]+]]:_(s32) = G_SHL [[AND46]], [[C]](s32)
|
||||
; TAHITI: [[OR15:%[0-9]+]]:_(s32) = G_OR [[OR14]], [[SHL15]]
|
||||
; TAHITI: [[COPY77:%[0-9]+]]:_(s32) = COPY [[LSHR16]](s32)
|
||||
; TAHITI: [[AND47:%[0-9]+]]:_(s32) = G_AND [[COPY77]], [[C1]]
|
||||
; TAHITI: [[C17:%[0-9]+]]:_(s32) = G_CONSTANT i32 17
|
||||
; TAHITI: [[SHL16:%[0-9]+]]:_(s32) = G_SHL [[AND47]], [[C17]](s32)
|
||||
; TAHITI: [[OR16:%[0-9]+]]:_(s32) = G_OR [[OR15]], [[SHL16]]
|
||||
; TAHITI: [[COPY78:%[0-9]+]]:_(s32) = COPY [[LSHR17]](s32)
|
||||
; TAHITI: [[AND48:%[0-9]+]]:_(s32) = G_AND [[COPY78]], [[C1]]
|
||||
; TAHITI: [[C18:%[0-9]+]]:_(s32) = G_CONSTANT i32 18
|
||||
; TAHITI: [[SHL17:%[0-9]+]]:_(s32) = G_SHL [[AND48]], [[C18]](s32)
|
||||
; TAHITI: [[OR17:%[0-9]+]]:_(s32) = G_OR [[OR16]], [[SHL17]]
|
||||
; TAHITI: [[COPY79:%[0-9]+]]:_(s32) = COPY [[LSHR18]](s32)
|
||||
; TAHITI: [[AND49:%[0-9]+]]:_(s32) = G_AND [[COPY79]], [[C1]]
|
||||
; TAHITI: [[C19:%[0-9]+]]:_(s32) = G_CONSTANT i32 19
|
||||
; TAHITI: [[SHL18:%[0-9]+]]:_(s32) = G_SHL [[AND49]], [[C19]](s32)
|
||||
; TAHITI: [[OR18:%[0-9]+]]:_(s32) = G_OR [[OR17]], [[SHL18]]
|
||||
; TAHITI: [[COPY80:%[0-9]+]]:_(s32) = COPY [[LSHR19]](s32)
|
||||
; TAHITI: [[AND50:%[0-9]+]]:_(s32) = G_AND [[COPY80]], [[C1]]
|
||||
; TAHITI: [[C20:%[0-9]+]]:_(s32) = G_CONSTANT i32 20
|
||||
; TAHITI: [[SHL19:%[0-9]+]]:_(s32) = G_SHL [[AND50]], [[C20]](s32)
|
||||
; TAHITI: [[OR19:%[0-9]+]]:_(s32) = G_OR [[OR18]], [[SHL19]]
|
||||
; TAHITI: [[COPY81:%[0-9]+]]:_(s32) = COPY [[LSHR20]](s32)
|
||||
; TAHITI: [[AND51:%[0-9]+]]:_(s32) = G_AND [[COPY81]], [[C1]]
|
||||
; TAHITI: [[C21:%[0-9]+]]:_(s32) = G_CONSTANT i32 21
|
||||
; TAHITI: [[SHL20:%[0-9]+]]:_(s32) = G_SHL [[AND51]], [[C21]](s32)
|
||||
; TAHITI: [[OR20:%[0-9]+]]:_(s32) = G_OR [[OR19]], [[SHL20]]
|
||||
; TAHITI: [[COPY82:%[0-9]+]]:_(s32) = COPY [[LSHR21]](s32)
|
||||
; TAHITI: [[AND52:%[0-9]+]]:_(s32) = G_AND [[COPY82]], [[C1]]
|
||||
; TAHITI: [[C22:%[0-9]+]]:_(s32) = G_CONSTANT i32 22
|
||||
; TAHITI: [[SHL21:%[0-9]+]]:_(s32) = G_SHL [[AND52]], [[C22]](s32)
|
||||
; TAHITI: [[OR21:%[0-9]+]]:_(s32) = G_OR [[OR20]], [[SHL21]]
|
||||
; TAHITI: [[COPY83:%[0-9]+]]:_(s32) = COPY [[LSHR22]](s32)
|
||||
; TAHITI: [[AND53:%[0-9]+]]:_(s32) = G_AND [[COPY83]], [[C1]]
|
||||
; TAHITI: [[C23:%[0-9]+]]:_(s32) = G_CONSTANT i32 23
|
||||
; TAHITI: [[SHL22:%[0-9]+]]:_(s32) = G_SHL [[AND53]], [[C23]](s32)
|
||||
; TAHITI: [[OR22:%[0-9]+]]:_(s32) = G_OR [[OR21]], [[SHL22]]
|
||||
; TAHITI: [[COPY84:%[0-9]+]]:_(s32) = COPY [[LSHR23]](s32)
|
||||
; TAHITI: [[AND54:%[0-9]+]]:_(s32) = G_AND [[COPY84]], [[C1]]
|
||||
; TAHITI: [[C24:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
|
||||
; TAHITI: [[SHL23:%[0-9]+]]:_(s32) = G_SHL [[AND54]], [[C24]](s32)
|
||||
; TAHITI: [[OR23:%[0-9]+]]:_(s32) = G_OR [[OR22]], [[SHL23]]
|
||||
; TAHITI: [[COPY85:%[0-9]+]]:_(s32) = COPY [[LSHR24]](s32)
|
||||
; TAHITI: [[AND55:%[0-9]+]]:_(s32) = G_AND [[COPY85]], [[C1]]
|
||||
; TAHITI: [[C25:%[0-9]+]]:_(s32) = G_CONSTANT i32 25
|
||||
; TAHITI: [[SHL24:%[0-9]+]]:_(s32) = G_SHL [[AND55]], [[C25]](s32)
|
||||
; TAHITI: [[OR24:%[0-9]+]]:_(s32) = G_OR [[OR23]], [[SHL24]]
|
||||
; TAHITI: [[COPY86:%[0-9]+]]:_(s32) = COPY [[LSHR25]](s32)
|
||||
; TAHITI: [[AND56:%[0-9]+]]:_(s32) = G_AND [[COPY86]], [[C1]]
|
||||
; TAHITI: [[C26:%[0-9]+]]:_(s32) = G_CONSTANT i32 26
|
||||
; TAHITI: [[SHL25:%[0-9]+]]:_(s32) = G_SHL [[AND56]], [[C26]](s32)
|
||||
; TAHITI: [[OR25:%[0-9]+]]:_(s32) = G_OR [[OR24]], [[SHL25]]
|
||||
; TAHITI: [[COPY87:%[0-9]+]]:_(s32) = COPY [[LSHR26]](s32)
|
||||
; TAHITI: [[AND57:%[0-9]+]]:_(s32) = G_AND [[COPY87]], [[C1]]
|
||||
; TAHITI: [[C27:%[0-9]+]]:_(s32) = G_CONSTANT i32 27
|
||||
; TAHITI: [[SHL26:%[0-9]+]]:_(s32) = G_SHL [[AND57]], [[C27]](s32)
|
||||
; TAHITI: [[OR26:%[0-9]+]]:_(s32) = G_OR [[OR25]], [[SHL26]]
|
||||
; TAHITI: [[COPY88:%[0-9]+]]:_(s32) = COPY [[LSHR27]](s32)
|
||||
; TAHITI: [[AND58:%[0-9]+]]:_(s32) = G_AND [[COPY88]], [[C1]]
|
||||
; TAHITI: [[C28:%[0-9]+]]:_(s32) = G_CONSTANT i32 28
|
||||
; TAHITI: [[SHL27:%[0-9]+]]:_(s32) = G_SHL [[AND58]], [[C28]](s32)
|
||||
; TAHITI: [[OR27:%[0-9]+]]:_(s32) = G_OR [[OR26]], [[SHL27]]
|
||||
; TAHITI: [[COPY89:%[0-9]+]]:_(s32) = COPY [[LSHR28]](s32)
|
||||
; TAHITI: [[AND59:%[0-9]+]]:_(s32) = G_AND [[COPY89]], [[C1]]
|
||||
; TAHITI: [[C29:%[0-9]+]]:_(s32) = G_CONSTANT i32 29
|
||||
; TAHITI: [[SHL28:%[0-9]+]]:_(s32) = G_SHL [[AND59]], [[C29]](s32)
|
||||
; TAHITI: [[OR28:%[0-9]+]]:_(s32) = G_OR [[OR27]], [[SHL28]]
|
||||
; TAHITI: [[COPY90:%[0-9]+]]:_(s32) = COPY [[LSHR29]](s32)
|
||||
; TAHITI: [[AND60:%[0-9]+]]:_(s32) = G_AND [[COPY90]], [[C1]]
|
||||
; TAHITI: [[C30:%[0-9]+]]:_(s32) = G_CONSTANT i32 30
|
||||
; TAHITI: [[SHL29:%[0-9]+]]:_(s32) = G_SHL [[AND60]], [[C30]](s32)
|
||||
; TAHITI: [[OR29:%[0-9]+]]:_(s32) = G_OR [[OR28]], [[SHL29]]
|
||||
; TAHITI: [[COPY91:%[0-9]+]]:_(s32) = COPY [[LSHR30]](s32)
|
||||
; TAHITI: [[AND61:%[0-9]+]]:_(s32) = G_AND [[COPY91]], [[C1]]
|
||||
; TAHITI: [[C31:%[0-9]+]]:_(s32) = G_CONSTANT i32 31
|
||||
; TAHITI: [[SHL30:%[0-9]+]]:_(s32) = G_SHL [[AND61]], [[C31]](s32)
|
||||
; TAHITI: [[OR30:%[0-9]+]]:_(s32) = G_OR [[OR29]], [[SHL30]]
|
||||
; TAHITI: $vgpr0 = COPY [[OR30]](s32)
|
||||
; FIJI-LABEL: name: test_implicit_def_s1025
|
||||
; FIJI: [[DEF:%[0-9]+]]:_(s1024) = G_IMPLICIT_DEF
|
||||
|
@ -379,134 +343,162 @@ body: |
|
|||
; FIJI: [[LSHR29:%[0-9]+]]:_(s16) = G_LSHR [[TRUNC1]], [[C14]](s16)
|
||||
; FIJI: [[LSHR30:%[0-9]+]]:_(s16) = G_LSHR [[TRUNC1]], [[C15]](s16)
|
||||
; FIJI: [[DEF1:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
|
||||
; FIJI: [[COPY:%[0-9]+]]:_(s16) = COPY [[TRUNC]](s16)
|
||||
; FIJI: [[AND:%[0-9]+]]:_(s16) = G_AND [[COPY]], [[C1]]
|
||||
; FIJI: [[COPY1:%[0-9]+]]:_(s16) = COPY [[LSHR1]](s16)
|
||||
; FIJI: [[AND1:%[0-9]+]]:_(s16) = G_AND [[COPY1]], [[C1]]
|
||||
; FIJI: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[AND1]], [[C1]](s16)
|
||||
; FIJI: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[SHL]]
|
||||
; FIJI: [[COPY2:%[0-9]+]]:_(s16) = COPY [[LSHR2]](s16)
|
||||
; FIJI: [[AND2:%[0-9]+]]:_(s16) = G_AND [[COPY2]], [[C1]]
|
||||
; FIJI: [[SHL1:%[0-9]+]]:_(s16) = G_SHL [[AND2]], [[C2]](s16)
|
||||
; FIJI: [[OR1:%[0-9]+]]:_(s16) = G_OR [[OR]], [[SHL1]]
|
||||
; FIJI: [[COPY3:%[0-9]+]]:_(s16) = COPY [[LSHR3]](s16)
|
||||
; FIJI: [[AND3:%[0-9]+]]:_(s16) = G_AND [[COPY3]], [[C1]]
|
||||
; FIJI: [[SHL2:%[0-9]+]]:_(s16) = G_SHL [[AND3]], [[C3]](s16)
|
||||
; FIJI: [[OR2:%[0-9]+]]:_(s16) = G_OR [[OR1]], [[SHL2]]
|
||||
; FIJI: [[COPY4:%[0-9]+]]:_(s16) = COPY [[LSHR4]](s16)
|
||||
; FIJI: [[AND4:%[0-9]+]]:_(s16) = G_AND [[COPY4]], [[C1]]
|
||||
; FIJI: [[SHL3:%[0-9]+]]:_(s16) = G_SHL [[AND4]], [[C4]](s16)
|
||||
; FIJI: [[OR3:%[0-9]+]]:_(s16) = G_OR [[OR2]], [[SHL3]]
|
||||
; FIJI: [[COPY5:%[0-9]+]]:_(s16) = COPY [[LSHR5]](s16)
|
||||
; FIJI: [[AND5:%[0-9]+]]:_(s16) = G_AND [[COPY5]], [[C1]]
|
||||
; FIJI: [[SHL4:%[0-9]+]]:_(s16) = G_SHL [[AND5]], [[C5]](s16)
|
||||
; FIJI: [[OR4:%[0-9]+]]:_(s16) = G_OR [[OR3]], [[SHL4]]
|
||||
; FIJI: [[COPY6:%[0-9]+]]:_(s16) = COPY [[LSHR6]](s16)
|
||||
; FIJI: [[AND6:%[0-9]+]]:_(s16) = G_AND [[COPY6]], [[C1]]
|
||||
; FIJI: [[SHL5:%[0-9]+]]:_(s16) = G_SHL [[AND6]], [[C6]](s16)
|
||||
; FIJI: [[OR5:%[0-9]+]]:_(s16) = G_OR [[OR4]], [[SHL5]]
|
||||
; FIJI: [[COPY7:%[0-9]+]]:_(s16) = COPY [[LSHR7]](s16)
|
||||
; FIJI: [[AND7:%[0-9]+]]:_(s16) = G_AND [[COPY7]], [[C1]]
|
||||
; FIJI: [[SHL6:%[0-9]+]]:_(s16) = G_SHL [[AND7]], [[C7]](s16)
|
||||
; FIJI: [[OR6:%[0-9]+]]:_(s16) = G_OR [[OR5]], [[SHL6]]
|
||||
; FIJI: [[COPY8:%[0-9]+]]:_(s16) = COPY [[LSHR8]](s16)
|
||||
; FIJI: [[AND8:%[0-9]+]]:_(s16) = G_AND [[COPY8]], [[C1]]
|
||||
; FIJI: [[SHL7:%[0-9]+]]:_(s16) = G_SHL [[AND8]], [[C8]](s16)
|
||||
; FIJI: [[OR7:%[0-9]+]]:_(s16) = G_OR [[OR6]], [[SHL7]]
|
||||
; FIJI: [[COPY9:%[0-9]+]]:_(s16) = COPY [[LSHR9]](s16)
|
||||
; FIJI: [[AND9:%[0-9]+]]:_(s16) = G_AND [[COPY9]], [[C1]]
|
||||
; FIJI: [[SHL8:%[0-9]+]]:_(s16) = G_SHL [[AND9]], [[C9]](s16)
|
||||
; FIJI: [[OR8:%[0-9]+]]:_(s16) = G_OR [[OR7]], [[SHL8]]
|
||||
; FIJI: [[COPY10:%[0-9]+]]:_(s16) = COPY [[LSHR10]](s16)
|
||||
; FIJI: [[AND10:%[0-9]+]]:_(s16) = G_AND [[COPY10]], [[C1]]
|
||||
; FIJI: [[SHL9:%[0-9]+]]:_(s16) = G_SHL [[AND10]], [[C10]](s16)
|
||||
; FIJI: [[OR9:%[0-9]+]]:_(s16) = G_OR [[OR8]], [[SHL9]]
|
||||
; FIJI: [[COPY11:%[0-9]+]]:_(s16) = COPY [[LSHR11]](s16)
|
||||
; FIJI: [[AND11:%[0-9]+]]:_(s16) = G_AND [[COPY11]], [[C1]]
|
||||
; FIJI: [[SHL10:%[0-9]+]]:_(s16) = G_SHL [[AND11]], [[C11]](s16)
|
||||
; FIJI: [[OR10:%[0-9]+]]:_(s16) = G_OR [[OR9]], [[SHL10]]
|
||||
; FIJI: [[COPY12:%[0-9]+]]:_(s16) = COPY [[LSHR12]](s16)
|
||||
; FIJI: [[AND12:%[0-9]+]]:_(s16) = G_AND [[COPY12]], [[C1]]
|
||||
; FIJI: [[SHL11:%[0-9]+]]:_(s16) = G_SHL [[AND12]], [[C12]](s16)
|
||||
; FIJI: [[OR11:%[0-9]+]]:_(s16) = G_OR [[OR10]], [[SHL11]]
|
||||
; FIJI: [[COPY13:%[0-9]+]]:_(s16) = COPY [[LSHR13]](s16)
|
||||
; FIJI: [[AND13:%[0-9]+]]:_(s16) = G_AND [[COPY13]], [[C1]]
|
||||
; FIJI: [[SHL12:%[0-9]+]]:_(s16) = G_SHL [[AND13]], [[C13]](s16)
|
||||
; FIJI: [[OR12:%[0-9]+]]:_(s16) = G_OR [[OR11]], [[SHL12]]
|
||||
; FIJI: [[COPY14:%[0-9]+]]:_(s16) = COPY [[LSHR14]](s16)
|
||||
; FIJI: [[AND14:%[0-9]+]]:_(s16) = G_AND [[COPY14]], [[C1]]
|
||||
; FIJI: [[SHL13:%[0-9]+]]:_(s16) = G_SHL [[AND14]], [[C14]](s16)
|
||||
; FIJI: [[OR13:%[0-9]+]]:_(s16) = G_OR [[OR12]], [[SHL13]]
|
||||
; FIJI: [[COPY15:%[0-9]+]]:_(s16) = COPY [[LSHR15]](s16)
|
||||
; FIJI: [[AND15:%[0-9]+]]:_(s16) = G_AND [[COPY15]], [[C1]]
|
||||
; FIJI: [[SHL14:%[0-9]+]]:_(s16) = G_SHL [[AND15]], [[C15]](s16)
|
||||
; FIJI: [[OR14:%[0-9]+]]:_(s16) = G_OR [[OR13]], [[SHL14]]
|
||||
; FIJI: [[COPY16:%[0-9]+]]:_(s16) = COPY [[TRUNC1]](s16)
|
||||
; FIJI: [[AND16:%[0-9]+]]:_(s16) = G_AND [[COPY16]], [[C1]]
|
||||
; FIJI: [[COPY17:%[0-9]+]]:_(s16) = COPY [[LSHR16]](s16)
|
||||
; FIJI: [[AND17:%[0-9]+]]:_(s16) = G_AND [[COPY17]], [[C1]]
|
||||
; FIJI: [[SHL15:%[0-9]+]]:_(s16) = G_SHL [[AND17]], [[C1]](s16)
|
||||
; FIJI: [[OR15:%[0-9]+]]:_(s16) = G_OR [[AND16]], [[SHL15]]
|
||||
; FIJI: [[COPY18:%[0-9]+]]:_(s16) = COPY [[LSHR17]](s16)
|
||||
; FIJI: [[AND18:%[0-9]+]]:_(s16) = G_AND [[COPY18]], [[C1]]
|
||||
; FIJI: [[SHL16:%[0-9]+]]:_(s16) = G_SHL [[AND18]], [[C2]](s16)
|
||||
; FIJI: [[OR16:%[0-9]+]]:_(s16) = G_OR [[OR15]], [[SHL16]]
|
||||
; FIJI: [[COPY19:%[0-9]+]]:_(s16) = COPY [[LSHR18]](s16)
|
||||
; FIJI: [[AND19:%[0-9]+]]:_(s16) = G_AND [[COPY19]], [[C1]]
|
||||
; FIJI: [[SHL17:%[0-9]+]]:_(s16) = G_SHL [[AND19]], [[C3]](s16)
|
||||
; FIJI: [[OR17:%[0-9]+]]:_(s16) = G_OR [[OR16]], [[SHL17]]
|
||||
; FIJI: [[COPY20:%[0-9]+]]:_(s16) = COPY [[LSHR19]](s16)
|
||||
; FIJI: [[AND20:%[0-9]+]]:_(s16) = G_AND [[COPY20]], [[C1]]
|
||||
; FIJI: [[SHL18:%[0-9]+]]:_(s16) = G_SHL [[AND20]], [[C4]](s16)
|
||||
; FIJI: [[OR18:%[0-9]+]]:_(s16) = G_OR [[OR17]], [[SHL18]]
|
||||
; FIJI: [[COPY21:%[0-9]+]]:_(s16) = COPY [[LSHR20]](s16)
|
||||
; FIJI: [[AND21:%[0-9]+]]:_(s16) = G_AND [[COPY21]], [[C1]]
|
||||
; FIJI: [[SHL19:%[0-9]+]]:_(s16) = G_SHL [[AND21]], [[C5]](s16)
|
||||
; FIJI: [[OR19:%[0-9]+]]:_(s16) = G_OR [[OR18]], [[SHL19]]
|
||||
; FIJI: [[COPY22:%[0-9]+]]:_(s16) = COPY [[LSHR21]](s16)
|
||||
; FIJI: [[AND22:%[0-9]+]]:_(s16) = G_AND [[COPY22]], [[C1]]
|
||||
; FIJI: [[SHL20:%[0-9]+]]:_(s16) = G_SHL [[AND22]], [[C6]](s16)
|
||||
; FIJI: [[OR20:%[0-9]+]]:_(s16) = G_OR [[OR19]], [[SHL20]]
|
||||
; FIJI: [[COPY23:%[0-9]+]]:_(s16) = COPY [[LSHR22]](s16)
|
||||
; FIJI: [[AND23:%[0-9]+]]:_(s16) = G_AND [[COPY23]], [[C1]]
|
||||
; FIJI: [[SHL21:%[0-9]+]]:_(s16) = G_SHL [[AND23]], [[C7]](s16)
|
||||
; FIJI: [[OR21:%[0-9]+]]:_(s16) = G_OR [[OR20]], [[SHL21]]
|
||||
; FIJI: [[COPY24:%[0-9]+]]:_(s16) = COPY [[LSHR23]](s16)
|
||||
; FIJI: [[AND24:%[0-9]+]]:_(s16) = G_AND [[COPY24]], [[C1]]
|
||||
; FIJI: [[SHL22:%[0-9]+]]:_(s16) = G_SHL [[AND24]], [[C8]](s16)
|
||||
; FIJI: [[OR22:%[0-9]+]]:_(s16) = G_OR [[OR21]], [[SHL22]]
|
||||
; FIJI: [[COPY25:%[0-9]+]]:_(s16) = COPY [[LSHR24]](s16)
|
||||
; FIJI: [[AND25:%[0-9]+]]:_(s16) = G_AND [[COPY25]], [[C1]]
|
||||
; FIJI: [[SHL23:%[0-9]+]]:_(s16) = G_SHL [[AND25]], [[C9]](s16)
|
||||
; FIJI: [[OR23:%[0-9]+]]:_(s16) = G_OR [[OR22]], [[SHL23]]
|
||||
; FIJI: [[COPY26:%[0-9]+]]:_(s16) = COPY [[LSHR25]](s16)
|
||||
; FIJI: [[AND26:%[0-9]+]]:_(s16) = G_AND [[COPY26]], [[C1]]
|
||||
; FIJI: [[SHL24:%[0-9]+]]:_(s16) = G_SHL [[AND26]], [[C10]](s16)
|
||||
; FIJI: [[OR24:%[0-9]+]]:_(s16) = G_OR [[OR23]], [[SHL24]]
|
||||
; FIJI: [[COPY27:%[0-9]+]]:_(s16) = COPY [[LSHR26]](s16)
|
||||
; FIJI: [[AND27:%[0-9]+]]:_(s16) = G_AND [[COPY27]], [[C1]]
|
||||
; FIJI: [[SHL25:%[0-9]+]]:_(s16) = G_SHL [[AND27]], [[C11]](s16)
|
||||
; FIJI: [[OR25:%[0-9]+]]:_(s16) = G_OR [[OR24]], [[SHL25]]
|
||||
; FIJI: [[COPY28:%[0-9]+]]:_(s16) = COPY [[LSHR27]](s16)
|
||||
; FIJI: [[AND28:%[0-9]+]]:_(s16) = G_AND [[COPY28]], [[C1]]
|
||||
; FIJI: [[SHL26:%[0-9]+]]:_(s16) = G_SHL [[AND28]], [[C12]](s16)
|
||||
; FIJI: [[OR26:%[0-9]+]]:_(s16) = G_OR [[OR25]], [[SHL26]]
|
||||
; FIJI: [[COPY29:%[0-9]+]]:_(s16) = COPY [[LSHR28]](s16)
|
||||
; FIJI: [[AND29:%[0-9]+]]:_(s16) = G_AND [[COPY29]], [[C1]]
|
||||
; FIJI: [[SHL27:%[0-9]+]]:_(s16) = G_SHL [[AND29]], [[C13]](s16)
|
||||
; FIJI: [[OR27:%[0-9]+]]:_(s16) = G_OR [[OR26]], [[SHL27]]
|
||||
; FIJI: [[COPY30:%[0-9]+]]:_(s16) = COPY [[LSHR29]](s16)
|
||||
; FIJI: [[AND30:%[0-9]+]]:_(s16) = G_AND [[COPY30]], [[C1]]
|
||||
; FIJI: [[SHL28:%[0-9]+]]:_(s16) = G_SHL [[AND30]], [[C14]](s16)
|
||||
; FIJI: [[OR28:%[0-9]+]]:_(s16) = G_OR [[OR27]], [[SHL28]]
|
||||
; FIJI: [[COPY31:%[0-9]+]]:_(s16) = COPY [[LSHR30]](s16)
|
||||
; FIJI: [[AND31:%[0-9]+]]:_(s16) = G_AND [[COPY31]], [[C1]]
|
||||
; FIJI: [[SHL29:%[0-9]+]]:_(s16) = G_SHL [[AND31]], [[C15]](s16)
|
||||
; FIJI: [[OR29:%[0-9]+]]:_(s16) = G_OR [[OR28]], [[SHL29]]
|
||||
; FIJI: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR14]](s16)
|
||||
; FIJI: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR29]](s16)
|
||||
; FIJI: [[SHL30:%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C]](s32)
|
||||
; FIJI: [[OR30:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL30]]
|
||||
; FIJI: [[C16:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
|
||||
; FIJI: [[COPY:%[0-9]+]]:_(s32) = COPY [[UV]](s32)
|
||||
; FIJI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C16]]
|
||||
; FIJI: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR1]](s16)
|
||||
; FIJI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C16]]
|
||||
; FIJI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C16]](s32)
|
||||
; FIJI: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND]], [[SHL]]
|
||||
; FIJI: [[ANYEXT1:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR2]](s16)
|
||||
; FIJI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[ANYEXT1]], [[C16]]
|
||||
; FIJI: [[C17:%[0-9]+]]:_(s32) = G_CONSTANT i32 2
|
||||
; FIJI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND2]], [[C17]](s32)
|
||||
; FIJI: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
|
||||
; FIJI: [[ANYEXT2:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR3]](s16)
|
||||
; FIJI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[ANYEXT2]], [[C16]]
|
||||
; FIJI: [[C18:%[0-9]+]]:_(s32) = G_CONSTANT i32 3
|
||||
; FIJI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C18]](s32)
|
||||
; FIJI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[OR1]], [[SHL2]]
|
||||
; FIJI: [[ANYEXT3:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR4]](s16)
|
||||
; FIJI: [[AND4:%[0-9]+]]:_(s32) = G_AND [[ANYEXT3]], [[C16]]
|
||||
; FIJI: [[C19:%[0-9]+]]:_(s32) = G_CONSTANT i32 4
|
||||
; FIJI: [[SHL3:%[0-9]+]]:_(s32) = G_SHL [[AND4]], [[C19]](s32)
|
||||
; FIJI: [[OR3:%[0-9]+]]:_(s32) = G_OR [[OR2]], [[SHL3]]
|
||||
; FIJI: [[ANYEXT4:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR5]](s16)
|
||||
; FIJI: [[AND5:%[0-9]+]]:_(s32) = G_AND [[ANYEXT4]], [[C16]]
|
||||
; FIJI: [[C20:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
|
||||
; FIJI: [[SHL4:%[0-9]+]]:_(s32) = G_SHL [[AND5]], [[C20]](s32)
|
||||
; FIJI: [[OR4:%[0-9]+]]:_(s32) = G_OR [[OR3]], [[SHL4]]
|
||||
; FIJI: [[ANYEXT5:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR6]](s16)
|
||||
; FIJI: [[AND6:%[0-9]+]]:_(s32) = G_AND [[ANYEXT5]], [[C16]]
|
||||
; FIJI: [[C21:%[0-9]+]]:_(s32) = G_CONSTANT i32 6
|
||||
; FIJI: [[SHL5:%[0-9]+]]:_(s32) = G_SHL [[AND6]], [[C21]](s32)
|
||||
; FIJI: [[OR5:%[0-9]+]]:_(s32) = G_OR [[OR4]], [[SHL5]]
|
||||
; FIJI: [[ANYEXT6:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR7]](s16)
|
||||
; FIJI: [[AND7:%[0-9]+]]:_(s32) = G_AND [[ANYEXT6]], [[C16]]
|
||||
; FIJI: [[C22:%[0-9]+]]:_(s32) = G_CONSTANT i32 7
|
||||
; FIJI: [[SHL6:%[0-9]+]]:_(s32) = G_SHL [[AND7]], [[C22]](s32)
|
||||
; FIJI: [[OR6:%[0-9]+]]:_(s32) = G_OR [[OR5]], [[SHL6]]
|
||||
; FIJI: [[ANYEXT7:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR8]](s16)
|
||||
; FIJI: [[AND8:%[0-9]+]]:_(s32) = G_AND [[ANYEXT7]], [[C16]]
|
||||
; FIJI: [[C23:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; FIJI: [[SHL7:%[0-9]+]]:_(s32) = G_SHL [[AND8]], [[C23]](s32)
|
||||
; FIJI: [[OR7:%[0-9]+]]:_(s32) = G_OR [[OR6]], [[SHL7]]
|
||||
; FIJI: [[ANYEXT8:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR9]](s16)
|
||||
; FIJI: [[AND9:%[0-9]+]]:_(s32) = G_AND [[ANYEXT8]], [[C16]]
|
||||
; FIJI: [[C24:%[0-9]+]]:_(s32) = G_CONSTANT i32 9
|
||||
; FIJI: [[SHL8:%[0-9]+]]:_(s32) = G_SHL [[AND9]], [[C24]](s32)
|
||||
; FIJI: [[OR8:%[0-9]+]]:_(s32) = G_OR [[OR7]], [[SHL8]]
|
||||
; FIJI: [[ANYEXT9:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR10]](s16)
|
||||
; FIJI: [[AND10:%[0-9]+]]:_(s32) = G_AND [[ANYEXT9]], [[C16]]
|
||||
; FIJI: [[C25:%[0-9]+]]:_(s32) = G_CONSTANT i32 10
|
||||
; FIJI: [[SHL9:%[0-9]+]]:_(s32) = G_SHL [[AND10]], [[C25]](s32)
|
||||
; FIJI: [[OR9:%[0-9]+]]:_(s32) = G_OR [[OR8]], [[SHL9]]
|
||||
; FIJI: [[ANYEXT10:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR11]](s16)
|
||||
; FIJI: [[AND11:%[0-9]+]]:_(s32) = G_AND [[ANYEXT10]], [[C16]]
|
||||
; FIJI: [[C26:%[0-9]+]]:_(s32) = G_CONSTANT i32 11
|
||||
; FIJI: [[SHL10:%[0-9]+]]:_(s32) = G_SHL [[AND11]], [[C26]](s32)
|
||||
; FIJI: [[OR10:%[0-9]+]]:_(s32) = G_OR [[OR9]], [[SHL10]]
|
||||
; FIJI: [[ANYEXT11:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR12]](s16)
|
||||
; FIJI: [[AND12:%[0-9]+]]:_(s32) = G_AND [[ANYEXT11]], [[C16]]
|
||||
; FIJI: [[C27:%[0-9]+]]:_(s32) = G_CONSTANT i32 12
|
||||
; FIJI: [[SHL11:%[0-9]+]]:_(s32) = G_SHL [[AND12]], [[C27]](s32)
|
||||
; FIJI: [[OR11:%[0-9]+]]:_(s32) = G_OR [[OR10]], [[SHL11]]
|
||||
; FIJI: [[ANYEXT12:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR13]](s16)
|
||||
; FIJI: [[AND13:%[0-9]+]]:_(s32) = G_AND [[ANYEXT12]], [[C16]]
|
||||
; FIJI: [[C28:%[0-9]+]]:_(s32) = G_CONSTANT i32 13
|
||||
; FIJI: [[SHL12:%[0-9]+]]:_(s32) = G_SHL [[AND13]], [[C28]](s32)
|
||||
; FIJI: [[OR12:%[0-9]+]]:_(s32) = G_OR [[OR11]], [[SHL12]]
|
||||
; FIJI: [[ANYEXT13:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR14]](s16)
|
||||
; FIJI: [[AND14:%[0-9]+]]:_(s32) = G_AND [[ANYEXT13]], [[C16]]
|
||||
; FIJI: [[C29:%[0-9]+]]:_(s32) = G_CONSTANT i32 14
|
||||
; FIJI: [[SHL13:%[0-9]+]]:_(s32) = G_SHL [[AND14]], [[C29]](s32)
|
||||
; FIJI: [[OR13:%[0-9]+]]:_(s32) = G_OR [[OR12]], [[SHL13]]
|
||||
; FIJI: [[ANYEXT14:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR15]](s16)
|
||||
; FIJI: [[AND15:%[0-9]+]]:_(s32) = G_AND [[ANYEXT14]], [[C16]]
|
||||
; FIJI: [[C30:%[0-9]+]]:_(s32) = G_CONSTANT i32 15
|
||||
; FIJI: [[SHL14:%[0-9]+]]:_(s32) = G_SHL [[AND15]], [[C30]](s32)
|
||||
; FIJI: [[OR14:%[0-9]+]]:_(s32) = G_OR [[OR13]], [[SHL14]]
|
||||
; FIJI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
|
||||
; FIJI: [[AND16:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C16]]
|
||||
; FIJI: [[SHL15:%[0-9]+]]:_(s32) = G_SHL [[AND16]], [[C]](s32)
|
||||
; FIJI: [[OR15:%[0-9]+]]:_(s32) = G_OR [[OR14]], [[SHL15]]
|
||||
; FIJI: [[ANYEXT15:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR16]](s16)
|
||||
; FIJI: [[AND17:%[0-9]+]]:_(s32) = G_AND [[ANYEXT15]], [[C16]]
|
||||
; FIJI: [[C31:%[0-9]+]]:_(s32) = G_CONSTANT i32 17
|
||||
; FIJI: [[SHL16:%[0-9]+]]:_(s32) = G_SHL [[AND17]], [[C31]](s32)
|
||||
; FIJI: [[OR16:%[0-9]+]]:_(s32) = G_OR [[OR15]], [[SHL16]]
|
||||
; FIJI: [[ANYEXT16:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR17]](s16)
|
||||
; FIJI: [[AND18:%[0-9]+]]:_(s32) = G_AND [[ANYEXT16]], [[C16]]
|
||||
; FIJI: [[C32:%[0-9]+]]:_(s32) = G_CONSTANT i32 18
|
||||
; FIJI: [[SHL17:%[0-9]+]]:_(s32) = G_SHL [[AND18]], [[C32]](s32)
|
||||
; FIJI: [[OR17:%[0-9]+]]:_(s32) = G_OR [[OR16]], [[SHL17]]
|
||||
; FIJI: [[ANYEXT17:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR18]](s16)
|
||||
; FIJI: [[AND19:%[0-9]+]]:_(s32) = G_AND [[ANYEXT17]], [[C16]]
|
||||
; FIJI: [[C33:%[0-9]+]]:_(s32) = G_CONSTANT i32 19
|
||||
; FIJI: [[SHL18:%[0-9]+]]:_(s32) = G_SHL [[AND19]], [[C33]](s32)
|
||||
; FIJI: [[OR18:%[0-9]+]]:_(s32) = G_OR [[OR17]], [[SHL18]]
|
||||
; FIJI: [[ANYEXT18:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR19]](s16)
|
||||
; FIJI: [[AND20:%[0-9]+]]:_(s32) = G_AND [[ANYEXT18]], [[C16]]
|
||||
; FIJI: [[C34:%[0-9]+]]:_(s32) = G_CONSTANT i32 20
|
||||
; FIJI: [[SHL19:%[0-9]+]]:_(s32) = G_SHL [[AND20]], [[C34]](s32)
|
||||
; FIJI: [[OR19:%[0-9]+]]:_(s32) = G_OR [[OR18]], [[SHL19]]
|
||||
; FIJI: [[ANYEXT19:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR20]](s16)
|
||||
; FIJI: [[AND21:%[0-9]+]]:_(s32) = G_AND [[ANYEXT19]], [[C16]]
|
||||
; FIJI: [[C35:%[0-9]+]]:_(s32) = G_CONSTANT i32 21
|
||||
; FIJI: [[SHL20:%[0-9]+]]:_(s32) = G_SHL [[AND21]], [[C35]](s32)
|
||||
; FIJI: [[OR20:%[0-9]+]]:_(s32) = G_OR [[OR19]], [[SHL20]]
|
||||
; FIJI: [[ANYEXT20:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR21]](s16)
|
||||
; FIJI: [[AND22:%[0-9]+]]:_(s32) = G_AND [[ANYEXT20]], [[C16]]
|
||||
; FIJI: [[C36:%[0-9]+]]:_(s32) = G_CONSTANT i32 22
|
||||
; FIJI: [[SHL21:%[0-9]+]]:_(s32) = G_SHL [[AND22]], [[C36]](s32)
|
||||
; FIJI: [[OR21:%[0-9]+]]:_(s32) = G_OR [[OR20]], [[SHL21]]
|
||||
; FIJI: [[ANYEXT21:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR22]](s16)
|
||||
; FIJI: [[AND23:%[0-9]+]]:_(s32) = G_AND [[ANYEXT21]], [[C16]]
|
||||
; FIJI: [[C37:%[0-9]+]]:_(s32) = G_CONSTANT i32 23
|
||||
; FIJI: [[SHL22:%[0-9]+]]:_(s32) = G_SHL [[AND23]], [[C37]](s32)
|
||||
; FIJI: [[OR22:%[0-9]+]]:_(s32) = G_OR [[OR21]], [[SHL22]]
|
||||
; FIJI: [[ANYEXT22:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR23]](s16)
|
||||
; FIJI: [[AND24:%[0-9]+]]:_(s32) = G_AND [[ANYEXT22]], [[C16]]
|
||||
; FIJI: [[C38:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
|
||||
; FIJI: [[SHL23:%[0-9]+]]:_(s32) = G_SHL [[AND24]], [[C38]](s32)
|
||||
; FIJI: [[OR23:%[0-9]+]]:_(s32) = G_OR [[OR22]], [[SHL23]]
|
||||
; FIJI: [[ANYEXT23:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR24]](s16)
|
||||
; FIJI: [[AND25:%[0-9]+]]:_(s32) = G_AND [[ANYEXT23]], [[C16]]
|
||||
; FIJI: [[C39:%[0-9]+]]:_(s32) = G_CONSTANT i32 25
|
||||
; FIJI: [[SHL24:%[0-9]+]]:_(s32) = G_SHL [[AND25]], [[C39]](s32)
|
||||
; FIJI: [[OR24:%[0-9]+]]:_(s32) = G_OR [[OR23]], [[SHL24]]
|
||||
; FIJI: [[ANYEXT24:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR25]](s16)
|
||||
; FIJI: [[AND26:%[0-9]+]]:_(s32) = G_AND [[ANYEXT24]], [[C16]]
|
||||
; FIJI: [[C40:%[0-9]+]]:_(s32) = G_CONSTANT i32 26
|
||||
; FIJI: [[SHL25:%[0-9]+]]:_(s32) = G_SHL [[AND26]], [[C40]](s32)
|
||||
; FIJI: [[OR25:%[0-9]+]]:_(s32) = G_OR [[OR24]], [[SHL25]]
|
||||
; FIJI: [[ANYEXT25:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR26]](s16)
|
||||
; FIJI: [[AND27:%[0-9]+]]:_(s32) = G_AND [[ANYEXT25]], [[C16]]
|
||||
; FIJI: [[C41:%[0-9]+]]:_(s32) = G_CONSTANT i32 27
|
||||
; FIJI: [[SHL26:%[0-9]+]]:_(s32) = G_SHL [[AND27]], [[C41]](s32)
|
||||
; FIJI: [[OR26:%[0-9]+]]:_(s32) = G_OR [[OR25]], [[SHL26]]
|
||||
; FIJI: [[ANYEXT26:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR27]](s16)
|
||||
; FIJI: [[AND28:%[0-9]+]]:_(s32) = G_AND [[ANYEXT26]], [[C16]]
|
||||
; FIJI: [[C42:%[0-9]+]]:_(s32) = G_CONSTANT i32 28
|
||||
; FIJI: [[SHL27:%[0-9]+]]:_(s32) = G_SHL [[AND28]], [[C42]](s32)
|
||||
; FIJI: [[OR27:%[0-9]+]]:_(s32) = G_OR [[OR26]], [[SHL27]]
|
||||
; FIJI: [[ANYEXT27:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR28]](s16)
|
||||
; FIJI: [[AND29:%[0-9]+]]:_(s32) = G_AND [[ANYEXT27]], [[C16]]
|
||||
; FIJI: [[C43:%[0-9]+]]:_(s32) = G_CONSTANT i32 29
|
||||
; FIJI: [[SHL28:%[0-9]+]]:_(s32) = G_SHL [[AND29]], [[C43]](s32)
|
||||
; FIJI: [[OR28:%[0-9]+]]:_(s32) = G_OR [[OR27]], [[SHL28]]
|
||||
; FIJI: [[ANYEXT28:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR29]](s16)
|
||||
; FIJI: [[AND30:%[0-9]+]]:_(s32) = G_AND [[ANYEXT28]], [[C16]]
|
||||
; FIJI: [[C44:%[0-9]+]]:_(s32) = G_CONSTANT i32 30
|
||||
; FIJI: [[SHL29:%[0-9]+]]:_(s32) = G_SHL [[AND30]], [[C44]](s32)
|
||||
; FIJI: [[OR29:%[0-9]+]]:_(s32) = G_OR [[OR28]], [[SHL29]]
|
||||
; FIJI: [[ANYEXT29:%[0-9]+]]:_(s32) = G_ANYEXT [[LSHR30]](s16)
|
||||
; FIJI: [[AND31:%[0-9]+]]:_(s32) = G_AND [[ANYEXT29]], [[C16]]
|
||||
; FIJI: [[C45:%[0-9]+]]:_(s32) = G_CONSTANT i32 31
|
||||
; FIJI: [[SHL30:%[0-9]+]]:_(s32) = G_SHL [[AND31]], [[C45]](s32)
|
||||
; FIJI: [[OR30:%[0-9]+]]:_(s32) = G_OR [[OR29]], [[SHL30]]
|
||||
; FIJI: $vgpr0 = COPY [[OR30]](s32)
|
||||
%0:_(s1025) = G_IMPLICIT_DEF
|
||||
%1:_(s32) = G_TRUNC %0
|
||||
|
|
|
@ -21,29 +21,24 @@ body: |
|
|||
; CI: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 3
|
||||
; CI: [[PTR_ADD2:%[0-9]+]]:_(p4) = G_PTR_ADD [[MV]], [[C3]](s64)
|
||||
; CI: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD2]](p4) :: (load 1 + 3, addrspace 6)
|
||||
; CI: [[C4:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
|
||||
; CI: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C4]]
|
||||
; CI: [[COPY2:%[0-9]+]]:_(s32) = COPY [[LOAD1]](s32)
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C6]]
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[COPY1]](s32)
|
||||
; CI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[TRUNC1]]
|
||||
; CI: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s16) = G_AND [[TRUNC2]], [[C4]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C6]]
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C5]](s32)
|
||||
; CI: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[SHL1]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s16) = G_OR [[AND2]], [[TRUNC3]]
|
||||
; CI: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR]](s16)
|
||||
; CI: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR1]](s16)
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL2]]
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C5]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND]], [[SHL]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C4]]
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND2]], [[C6]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
|
||||
; CI: [[COPY4:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY4]], [[C4]]
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[OR1]], [[SHL2]]
|
||||
; CI: $vgpr0 = COPY [[OR2]](s32)
|
||||
%0:_(p6) = COPY $vgpr0
|
||||
%1:_(s32) = G_LOAD %0 :: (load 4, align 1, addrspace 6)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -68,29 +68,24 @@ body: |
|
|||
; CI: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 3
|
||||
; CI: [[PTR_ADD2:%[0-9]+]]:_(p4) = G_PTR_ADD [[MV]], [[C3]](s64)
|
||||
; CI: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD2]](p4) :: (load 1 + 3, addrspace 6)
|
||||
; CI: [[C4:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
|
||||
; CI: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C4]]
|
||||
; CI: [[COPY2:%[0-9]+]]:_(s32) = COPY [[LOAD1]](s32)
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C6]]
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[COPY1]](s32)
|
||||
; CI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[TRUNC1]]
|
||||
; CI: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s16) = G_AND [[TRUNC2]], [[C4]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C6]]
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C5]](s32)
|
||||
; CI: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[SHL1]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s16) = G_OR [[AND2]], [[TRUNC3]]
|
||||
; CI: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR]](s16)
|
||||
; CI: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR1]](s16)
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL2]]
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C5]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND]], [[SHL]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C4]]
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND2]], [[C6]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
|
||||
; CI: [[COPY4:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY4]], [[C4]]
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[OR1]], [[SHL2]]
|
||||
; CI: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[OR2]](s32)
|
||||
; CI: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
|
||||
%0:_(p6) = COPY $sgpr0
|
||||
|
|
|
@ -68,31 +68,26 @@ body: |
|
|||
; CI: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 3
|
||||
; CI: [[PTR_ADD2:%[0-9]+]]:_(p4) = G_PTR_ADD [[MV]], [[C3]](s64)
|
||||
; CI: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD2]](p4) :: (load 1 + 3, addrspace 6)
|
||||
; CI: [[C4:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
|
||||
; CI: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[C5]](s32)
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
|
||||
; CI: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LOAD]](s32)
|
||||
; CI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C4]]
|
||||
; CI: [[COPY2:%[0-9]+]]:_(s32) = COPY [[LOAD1]](s32)
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C6]]
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[COPY1]](s32)
|
||||
; CI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[TRUNC1]]
|
||||
; CI: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s16) = G_AND [[TRUNC2]], [[C4]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C6]]
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C5]](s32)
|
||||
; CI: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[SHL1]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s16) = G_OR [[AND2]], [[TRUNC3]]
|
||||
; CI: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR]](s16)
|
||||
; CI: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR1]](s16)
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL2]]
|
||||
; CI: [[ZEXT2:%[0-9]+]]:_(s64) = G_ZEXT [[OR2]](s32)
|
||||
; CI: $vgpr0_vgpr1 = COPY [[ZEXT2]](s64)
|
||||
; CI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C4]]
|
||||
; CI: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
|
||||
; CI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C5]](s32)
|
||||
; CI: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND]], [[SHL]]
|
||||
; CI: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LOAD2]](s32)
|
||||
; CI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C4]]
|
||||
; CI: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
|
||||
; CI: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[AND2]], [[C6]](s32)
|
||||
; CI: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
|
||||
; CI: [[COPY4:%[0-9]+]]:_(s32) = COPY [[LOAD3]](s32)
|
||||
; CI: [[AND3:%[0-9]+]]:_(s32) = G_AND [[COPY4]], [[C4]]
|
||||
; CI: [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
|
||||
; CI: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[AND3]], [[C7]](s32)
|
||||
; CI: [[OR2:%[0-9]+]]:_(s32) = G_OR [[OR1]], [[SHL2]]
|
||||
; CI: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[OR2]](s32)
|
||||
; CI: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)
|
||||
%0:_(p6) = COPY $sgpr0
|
||||
%1:_(s64) = G_ZEXTLOAD %0 :: (load 4, align 1, addrspace 6)
|
||||
$vgpr0_vgpr1 = COPY %1
|
||||
|
|
|
@ -44,25 +44,22 @@ define i32 @v_sdot4_cast_v4i8(<4 x i8> %a, <4 x i8> %b, i32 %c) {
|
|||
; GFX906-LABEL: v_sdot4_cast_v4i8:
|
||||
; GFX906: ; %bb.0:
|
||||
; GFX906-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
|
||||
; GFX906-NEXT: s_mov_b32 s5, 8
|
||||
; GFX906-NEXT: s_movk_i32 s4, 0xff
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v1
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v3
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_bfe_u32 v0, v0, 0, 16
|
||||
; GFX906-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v7
|
||||
; GFX906-NEXT: v_lshl_or_b32 v0, v1, 16, v0
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v5
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v2, 8, v2
|
||||
; GFX906-NEXT: v_or_b32_sdwa v1, v4, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_or_b32_sdwa v2, v6, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX906-NEXT: v_bfe_u32 v2, v2, 0, 16
|
||||
; GFX906-NEXT: v_lshl_or_b32 v1, v2, 16, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_sdwa v1, s5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX906-NEXT: v_and_or_b32 v0, v0, s4, v1
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v2
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v3
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v1, 16, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v2, 24, v2
|
||||
; GFX906-NEXT: v_or3_b32 v0, v0, v1, v2
|
||||
; GFX906-NEXT: v_lshlrev_b32_sdwa v1, s5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v6
|
||||
; GFX906-NEXT: v_and_b32_e32 v3, s4, v7
|
||||
; GFX906-NEXT: v_and_or_b32 v1, v4, s4, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v2, 16, v2
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v3, 24, v3
|
||||
; GFX906-NEXT: v_or3_b32 v1, v1, v2, v3
|
||||
; GFX906-NEXT: v_dot4_i32_i8 v0, v0, v1, v8
|
||||
; GFX906-NEXT: s_setpc_b64 s[30:31]
|
||||
;
|
||||
|
@ -70,22 +67,23 @@ define i32 @v_sdot4_cast_v4i8(<4 x i8> %a, <4 x i8> %b, i32 %c) {
|
|||
; GFX10: ; %bb.0:
|
||||
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
|
||||
; GFX10-NEXT: s_waitcnt_vscnt null, 0x0
|
||||
; GFX10-NEXT: s_movk_i32 s4, 0xff
|
||||
; GFX10-NEXT: s_mov_b32 s4, 8
|
||||
; GFX10-NEXT: s_movk_i32 s5, 0xff
|
||||
; GFX10-NEXT: ; implicit-def: $vcc_hi
|
||||
; GFX10-NEXT: v_and_b32_sdwa v1, v1, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v3, v3, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v5, v5, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v7, v7, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v2, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v3, v6, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_bfe_u32 v0, v0, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v2, v2, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v3, v3, 0, 16
|
||||
; GFX10-NEXT: v_lshl_or_b32 v7, v1, 16, v0
|
||||
; GFX10-NEXT: v_lshl_or_b32 v1, v3, 16, v2
|
||||
; GFX10-NEXT: v_lshlrev_b32_sdwa v1, s4, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX10-NEXT: v_and_or_b32 v0, v0, s5, v1
|
||||
; GFX10-NEXT: v_and_b32_e32 v1, s5, v2
|
||||
; GFX10-NEXT: v_and_b32_e32 v2, s5, v3
|
||||
; GFX10-NEXT: v_lshlrev_b32_sdwa v3, s4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX10-NEXT: v_and_b32_e32 v5, s5, v6
|
||||
; GFX10-NEXT: v_and_b32_e32 v6, s5, v7
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v1, 16, v1
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v2, 24, v2
|
||||
; GFX10-NEXT: v_and_or_b32 v3, v4, s5, v3
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v4, 16, v5
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v5, 24, v6
|
||||
; GFX10-NEXT: v_or3_b32 v7, v0, v1, v2
|
||||
; GFX10-NEXT: v_or3_b32 v1, v3, v4, v5
|
||||
; GFX10-NEXT: v_dot4_i32_i8 v0, v7, v1, v8
|
||||
; GFX10-NEXT: s_setpc_b64 s[30:31]
|
||||
%a.cast = bitcast <4 x i8> %a to i32
|
||||
|
|
|
@ -44,25 +44,22 @@ define i32 @v_udot4_cast_v4i8(<4 x i8> %a, <4 x i8> %b, i32 %c) {
|
|||
; GFX906-LABEL: v_udot4_cast_v4i8:
|
||||
; GFX906: ; %bb.0:
|
||||
; GFX906-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
|
||||
; GFX906-NEXT: s_mov_b32 s5, 8
|
||||
; GFX906-NEXT: s_movk_i32 s4, 0xff
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v1
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v3
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_bfe_u32 v0, v0, 0, 16
|
||||
; GFX906-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v7
|
||||
; GFX906-NEXT: v_lshl_or_b32 v0, v1, 16, v0
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v5
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v1, 8, v1
|
||||
; GFX906-NEXT: v_lshlrev_b16_e32 v2, 8, v2
|
||||
; GFX906-NEXT: v_or_b32_sdwa v1, v4, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_or_b32_sdwa v2, v6, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX906-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX906-NEXT: v_bfe_u32 v2, v2, 0, 16
|
||||
; GFX906-NEXT: v_lshl_or_b32 v1, v2, 16, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_sdwa v1, s5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX906-NEXT: v_and_or_b32 v0, v0, s4, v1
|
||||
; GFX906-NEXT: v_and_b32_e32 v1, s4, v2
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v3
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v1, 16, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v2, 24, v2
|
||||
; GFX906-NEXT: v_or3_b32 v0, v0, v1, v2
|
||||
; GFX906-NEXT: v_lshlrev_b32_sdwa v1, s5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX906-NEXT: v_and_b32_e32 v2, s4, v6
|
||||
; GFX906-NEXT: v_and_b32_e32 v3, s4, v7
|
||||
; GFX906-NEXT: v_and_or_b32 v1, v4, s4, v1
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v2, 16, v2
|
||||
; GFX906-NEXT: v_lshlrev_b32_e32 v3, 24, v3
|
||||
; GFX906-NEXT: v_or3_b32 v1, v1, v2, v3
|
||||
; GFX906-NEXT: v_dot4_u32_u8 v0, v0, v1, v8
|
||||
; GFX906-NEXT: s_setpc_b64 s[30:31]
|
||||
;
|
||||
|
@ -70,22 +67,23 @@ define i32 @v_udot4_cast_v4i8(<4 x i8> %a, <4 x i8> %b, i32 %c) {
|
|||
; GFX10: ; %bb.0:
|
||||
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
|
||||
; GFX10-NEXT: s_waitcnt_vscnt null, 0x0
|
||||
; GFX10-NEXT: s_movk_i32 s4, 0xff
|
||||
; GFX10-NEXT: s_mov_b32 s4, 8
|
||||
; GFX10-NEXT: s_movk_i32 s5, 0xff
|
||||
; GFX10-NEXT: ; implicit-def: $vcc_hi
|
||||
; GFX10-NEXT: v_and_b32_sdwa v1, v1, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v3, v3, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v5, v5, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_and_b32_sdwa v7, v7, s4 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v2, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_or_b32_sdwa v3, v6, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
|
||||
; GFX10-NEXT: v_bfe_u32 v0, v0, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v1, v1, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v2, v2, 0, 16
|
||||
; GFX10-NEXT: v_bfe_u32 v3, v3, 0, 16
|
||||
; GFX10-NEXT: v_lshl_or_b32 v7, v1, 16, v0
|
||||
; GFX10-NEXT: v_lshl_or_b32 v1, v3, 16, v2
|
||||
; GFX10-NEXT: v_lshlrev_b32_sdwa v1, s4, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX10-NEXT: v_and_or_b32 v0, v0, s5, v1
|
||||
; GFX10-NEXT: v_and_b32_e32 v1, s5, v2
|
||||
; GFX10-NEXT: v_and_b32_e32 v2, s5, v3
|
||||
; GFX10-NEXT: v_lshlrev_b32_sdwa v3, s4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
|
||||
; GFX10-NEXT: v_and_b32_e32 v5, s5, v6
|
||||
; GFX10-NEXT: v_and_b32_e32 v6, s5, v7
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v1, 16, v1
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v2, 24, v2
|
||||
; GFX10-NEXT: v_and_or_b32 v3, v4, s5, v3
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v4, 16, v5
|
||||
; GFX10-NEXT: v_lshlrev_b32_e32 v5, 24, v6
|
||||
; GFX10-NEXT: v_or3_b32 v7, v0, v1, v2
|
||||
; GFX10-NEXT: v_or3_b32 v1, v3, v4, v5
|
||||
; GFX10-NEXT: v_dot4_u32_u8 v0, v7, v1, v8
|
||||
; GFX10-NEXT: s_setpc_b64 s[30:31]
|
||||
%a.cast = bitcast <4 x i8> %a to i32
|
||||
|
|
Loading…
Reference in New Issue