mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
R600/SI: Set 20-bit immediate byte offset for SMRD on VI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2156,7 +2156,12 @@ MachineSDNode *SITargetLowering::AdjustRegClass(MachineSDNode *N,
|
||||
SmallVector<SDValue, 8> Ops;
|
||||
Ops.push_back(SDValue(RSrc, 0));
|
||||
Ops.push_back(N->getOperand(0));
|
||||
Ops.push_back(DAG.getConstant(Offset->getSExtValue() << 2, MVT::i32));
|
||||
|
||||
// The immediate offset is in dwords on SI and in bytes on VI.
|
||||
if (Subtarget->getGeneration() >= AMDGPUSubtarget::VOLCANIC_ISLANDS)
|
||||
Ops.push_back(DAG.getConstant(Offset->getSExtValue(), MVT::i32));
|
||||
else
|
||||
Ops.push_back(DAG.getConstant(Offset->getSExtValue() << 2, MVT::i32));
|
||||
|
||||
// Copy remaining operands so we keep any chain and glue nodes that follow
|
||||
// the normal operands.
|
||||
|
||||
Reference in New Issue
Block a user