Lines Matching defs:SOffset

1339                                      SDValue &SOffset, SDValue &Offset,
1352 SOffset = Subtarget->hasRestrictedSOffset()
1418 SOffset =
1427 SDValue &VAddr, SDValue &SOffset,
1436 if (!SelectMUBUF(Addr, Ptr, VAddr, SOffset, Offset, Offen, Idxen, Addr64))
1469 SDValue &VAddr, SDValue &SOffset,
1491 SOffset = CurDAG->getTargetConstant(0, DL, MVT::i32);
1522 std::tie(VAddr, SOffset) = foldFrameIndex(N0);
1529 std::tie(VAddr, SOffset) = foldFrameIndex(Addr);
1547 SDValue &SOffset,
1559 SOffset = Addr;
1573 SOffset = Addr.getOperand(0);
1577 SOffset = CurDAG->getTargetConstant(0, DL, MVT::i32);
1589 SDValue &SOffset, SDValue &Offset
1594 if (!SelectMUBUF(Addr, Ptr, VAddr, SOffset, Offset, Offen, Idxen, Addr64))
1614 SDValue &SOffset) const {
1616 SOffset = CurDAG->getRegister(AMDGPU::SGPR_NULL, MVT::i32);
1620 SOffset = ByteOffsetNode;
2008 // negative if the resulting (Offset + (M0 or SOffset or zero) is negative.
2009 // Handle the case where the Immediate Offset + SOffset is negative.
2010 bool AMDGPUDAGToDAGISel::isSOffsetLegalWithImmOffset(SDValue *SOffset,
2016 KnownBits SKnown = CurDAG->computeKnownBits(*SOffset);
2024 // Match an immediate (if Offset is not null) or an SGPR (if SOffset is
2028 SDValue *SOffset, SDValue *Offset,
2032 assert((!SOffset || !Offset) &&
2037 if (!SOffset)
2042 *SOffset = ByteOffsetNode;
2043 return isSOffsetLegalWithImmOffset(SOffset, Imm32Only, IsBuffer,
2048 *SOffset = ByteOffsetNode.getOperand(0);
2049 return isSOffsetLegalWithImmOffset(SOffset, Imm32Only, IsBuffer,
2081 if (SOffset) {
2083 *SOffset = SDValue(
2117 // SOffset is not null) or an immediate+SGPR offset. If Imm32Only is
2120 SDValue *SOffset, SDValue *Offset,
2124 if (SOffset && Offset) {
2135 return SelectSMRDBaseOffset(B, SBase, SOffset, nullptr, false, false, true,
2156 if (SelectSMRDOffset(N1, SOffset, Offset, Imm32Only, IsBuffer, HasSOffset,
2161 if (SelectSMRDOffset(N0, SOffset, Offset, Imm32Only, IsBuffer, HasSOffset,
2170 SDValue *SOffset, SDValue *Offset,
2172 if (SelectSMRDBaseOffset(Addr, SBase, SOffset, Offset, Imm32Only)) {
2177 if (Addr.getValueType() == MVT::i32 && Offset && !SOffset) {
2188 return SelectSMRD(Addr, SBase, /* SOffset */ nullptr, &Offset);
2194 return SelectSMRD(Addr, SBase, /* SOffset */ nullptr, &Offset,
2199 SDValue &SOffset) const {
2200 return SelectSMRD(Addr, SBase, &SOffset, /* Offset */ nullptr);
2204 SDValue &SOffset,
2206 return SelectSMRD(Addr, SBase, &SOffset, &Offset);
2210 return SelectSMRDOffset(N, /* SOffset */ nullptr, &Offset,
2217 return SelectSMRDOffset(N, /* SOffset */ nullptr, &Offset,
2221 bool AMDGPUDAGToDAGISel::SelectSMRDBufferSgprImm(SDValue N, SDValue &SOffset,
2226 SelectSMRDBaseOffset(N, /* SBase */ SOffset, /* SOffset*/ nullptr,