forked from OSchip/llvm-project
[X86][AsmParser] Recommit r335658
Recommit of r335658 so that it does not change the behaviour of any existing error output. llvm-svn: 335668
This commit is contained in:
parent
1cb63dc2d5
commit
67599c2e1e
|
@ -1049,6 +1049,14 @@ static bool CheckBaseRegAndIndexRegAndScale(unsigned BaseReg, unsigned IndexReg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RIP/EIP-relative addressing is only supported in 64-bit mode.
|
||||||
|
if (!Is64BitMode && BaseReg != 0 &&
|
||||||
|
(BaseReg == X86::RIP || BaseReg == X86::EIP)) {
|
||||||
|
ErrMsg = "RIP-relative addressing requires 64-bit mode";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return checkScale(Scale, ErrMsg);
|
return checkScale(Scale, ErrMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
; RUN: not llc -mtriple i386-apple-- -o /dev/null < %s 2>&1| FileCheck %s
|
||||||
|
; CHECK: <inline asm>:1:13: error: RIP-relative addressing requires 64-bit mode
|
||||||
|
; CHECK-NEXT: jmpl *_foo(%eip)
|
||||||
|
|
||||||
|
; Make sure that we emit an error if we encounter RIP-relative instructions in
|
||||||
|
; 32-bit mode.
|
||||||
|
|
||||||
|
define i32 @foo() { ret i32 0 }
|
||||||
|
|
||||||
|
define i32 @bar() {
|
||||||
|
call void asm sideeffect "jmpl *_foo(%eip)\0A", "~{dirflag},~{fpsr},~{flags}"()
|
||||||
|
ret i32 0
|
||||||
|
}
|
Loading…
Reference in New Issue