1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/CodeGen/X86/asm-reject-rex.ll
Craig Topper 83408784f9 [X86] Reject registers that require a REX prefix in inline asm constraints in 32-bit mode
We don't currently reject r8-r15 or xmm8-32 or bpl/spl/sil/dil in 32-bit mode.

Differential Revision: https://reviews.llvm.org/D44031

llvm-svn: 326826
2018-03-06 18:56:33 +00:00

22 lines
637 B
LLVM

; RUN: not llc -o /dev/null %s -mtriple=i386-unknown-unknown 2>&1 | FileCheck %s
; Make sure X32 still works.
; RUN: llc -o /dev/null %s -mtriple=x86_64-linux-gnux32
; CHECK: error: couldn't allocate output register for constraint '{xmm8}'
define i64 @blup() {
%v = tail call i64 asm "", "={xmm8},0"(i64 0)
ret i64 %v
}
; CHECK: error: couldn't allocate output register for constraint '{r8d}'
define i32 @foo() {
%v = tail call i32 asm "", "={r8d},0"(i32 0)
ret i32 %v
}
; CHECK: error: couldn't allocate output register for constraint '{rax}'
define i64 @bar() {
%v = tail call i64 asm "", "={rax},0"(i64 0)
ret i64 %v
}