mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Rejected r204899 and r204900 due to remaining test failures on cmake-llvm-x86_64-linux buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204901 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -271,23 +271,7 @@ public:
|
|||||||
unsigned getSOImmOpValue(const MCInst &MI, unsigned Op,
|
unsigned getSOImmOpValue(const MCInst &MI, unsigned Op,
|
||||||
SmallVectorImpl<MCFixup> &Fixups,
|
SmallVectorImpl<MCFixup> &Fixups,
|
||||||
const MCSubtargetInfo &STI) const {
|
const MCSubtargetInfo &STI) const {
|
||||||
|
unsigned SoImm = MI.getOperand(Op).getImm();
|
||||||
const MCOperand &MO = MI.getOperand(Op);
|
|
||||||
|
|
||||||
// We expect MO to be an immediate or an expression,
|
|
||||||
// if it is an immediate - that's fine, just encode the value.
|
|
||||||
// Otherwise - create a Fixup.
|
|
||||||
if (MO.isExpr()) {
|
|
||||||
const MCExpr *Expr = MO.getExpr();
|
|
||||||
// In instruction code this value always encoded as lowest 12 bits,
|
|
||||||
// so we don't have to perform any specific adjustments and
|
|
||||||
// can use just 2-bytes fixup.
|
|
||||||
MCFixupKind Kind = MCFixupKind(FK_Data_2);
|
|
||||||
Fixups.push_back(MCFixup::Create(0, Expr, Kind, MI.getLoc()));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned SoImm = MO.getImm();
|
|
||||||
int SoImmVal = ARM_AM::getSOImmVal(SoImm);
|
int SoImmVal = ARM_AM::getSOImmVal(SoImm);
|
||||||
assert(SoImmVal != -1 && "Not a valid so_imm value!");
|
assert(SoImmVal != -1 && "Not a valid so_imm value!");
|
||||||
|
|
||||||
|
@@ -1,9 +0,0 @@
|
|||||||
// PR18931
|
|
||||||
// RUN: llvm-mc %s -triple=arm-linux-gnueabi -filetype=obj -o %t
|
|
||||||
// RUN: llvm-objdump --disassemble -arch=arm %t | FileCheck %s
|
|
||||||
|
|
||||||
.text
|
|
||||||
// CHECK: cmp r2, #1
|
|
||||||
cmp r2, #(l2 - l1 + 4) >> 2
|
|
||||||
l1:
|
|
||||||
l2:
|
|
Reference in New Issue
Block a user