search for: operand_pcrel

Displaying 3 results from an estimated 3 matches for "operand_pcrel".

2017 Jan 19
3
Got stuck with PC-rel branching
...using EpiphanyInstrInfo.td as BNONE32(ins jmptarget:$addr), Branch32 class - Branch32 class is defined in EpiphanyInstrFormats.td with bits<24> addr, which should go into bits{31-8} of the MC instruction. Those bits remain zeros after relaxation for some reason. - jmptarget operand has type OPERAND_PCREL, and uses EncoderMethod "getJumpTargetOpValue" defined in EpiphanyMCCodeEmitter. If this method gets MCExpr, it creates fixup, and I can see this fixup in debug. - Fixup is called fixup_Epiphany_PCREL24, and is defined in EpiphanyFixupKinds and EpiphanyAsmBackend, with FKF_IsPCRel flag....
2018 Mar 26
0
wrong imm value for branch conditions..
...brtarget:$offset), "bgeid\t$ra,$offset", [], IIC_BRc> {* * let rd = 0b10101;* *}* *def brtarget : Operand<OtherVT>* *{* * let PrintMethod = "printPCRelImmOperand";* * let EncoderMethod = "getBranchTargetOpValue";* * let OperandType = "OPERAND_PCREL";* * let DecoderMethod = "DecodeBranchTarget";* *}* *getBranchTargetOpValue**(const MCInst &MI, unsigned OpNo,* * SmallVectorImpl<MCFixup> &Fixups,* * const MCSubtargetInfo &STI) const {* * const MCOperand &...
2017 Jan 19
2
Got stuck with PC-rel branching
...; BNONE32(ins jmptarget:$addr), Branch32 class > > - Branch32 class is defined in EpiphanyInstrFormats.td with bits<24> addr, > which should go into bits{31-8} of the MC instruction. Those bits remain > zeros after relaxation for some reason. > > - jmptarget operand has type OPERAND_PCREL, and uses EncoderMethod > "getJumpTargetOpValue" defined in EpiphanyMCCodeEmitter. If this method > gets MCExpr, it creates fixup, and I can see this fixup in debug. > > - Fixup is called fixup_Epiphany_PCREL24, and is defined in > EpiphanyFixupKinds and EpiphanyAsmBackend,...