mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
generate address of constant pool entries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22298 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d4653b1852
commit
02c318e1d2
@ -1520,11 +1520,15 @@ unsigned AlphaISel::SelectExpr(SDOperand N) {
|
||||
BuildMI(BB, Alpha::BIS, 2, Result).addReg(Alpha::R30).addReg(Alpha::R30);
|
||||
return Result;
|
||||
|
||||
// case ISD::ConstantPool:
|
||||
// Tmp1 = cast<ConstantPoolSDNode>(N)->getIndex();
|
||||
// AlphaLowering.restoreGP(BB);
|
||||
// BuildMI(BB, Alpha::LDQ_SYM, 1, Result).addConstantPoolIndex(Tmp1);
|
||||
// return Result;
|
||||
case ISD::ConstantPool:
|
||||
Tmp1 = cast<ConstantPoolSDNode>(N)->getIndex();
|
||||
AlphaLowering.restoreGP(BB);
|
||||
Tmp2 = MakeReg(MVT::i64);
|
||||
BuildMI(BB, Alpha::LDAHr, 2, Tmp2).addConstantPoolIndex(Tmp1)
|
||||
.addReg(Alpha::R29);
|
||||
BuildMI(BB, Alpha::LDAr, 2, Result).addConstantPoolIndex(Tmp1)
|
||||
.addReg(Tmp2);
|
||||
return Result;
|
||||
|
||||
case ISD::FrameIndex:
|
||||
BuildMI(BB, Alpha::LDA, 2, Result)
|
||||
|
@ -369,6 +369,7 @@ def LDSr : MForm<0x22, (ops FPRC:$RA, s16imm:$DISP, GPRC:$RB), "lds $RA,$DISP($R
|
||||
def LDTr : MForm<0x23, (ops FPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldt $RA,$DISP($RB) !gprellow">; //Load T_floating
|
||||
|
||||
//Load address, rellocated form
|
||||
def LDAr : MForm<0x08, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "lda $RA,$DISP($RB) !gprellow">; //Load address
|
||||
def LDAHr : MForm<0x08, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldah $RA,$DISP($RB) !gprelhigh">; //Load address high
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user