This patch adds the x, t and g modifiers for inline asm from GCC. These will print a vector register as xmm*, ymm* or zmm* respectively. I also fixed register names with modifiers with inteldialect so they are no longer printed with a leading %. Patch by Amanieu d'Antras Differential Revision: https://reviews.llvm.org/D78977
9 lines
305 B
LLVM
9 lines
305 B
LLVM
; RUN: not llc -mtriple=x86_64-- < %s 2>&1 | FileCheck %s
|
|
|
|
;CHECK: error: invalid operand in inline asm: 'vmovd ${1:k}, $0'
|
|
define i32 @foo() {
|
|
entry:
|
|
%0 = tail call i32 asm sideeffect "vmovd ${1:k}, $0", "=r,x,~{dirflag},~{fpsr},~{flags}"(<2 x i64> <i64 240518168632, i64 240518168632>)
|
|
ret i32 %0
|
|
}
|