llvm-6502/test/CodeGen/SystemZ/asm-08.ll
Ulrich Weigand 81d2500685 Use the integrated assembler as default on SystemZ
This was already done in clang, this commit now uses the integrated
assembler as default when using LLVM tools directly.

A number of test cases deliberately using an invalid instruction in
inline asm now have to use -no-integrated-as.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225820 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 19:45:16 +00:00

40 lines
799 B
LLVM

; Test the GPR constraint "d", which is equivalent to "r".
;
; RUN: llc < %s -mtriple=s390x-linux-gnu -no-integrated-as | FileCheck %s
define i64 @f1() {
; CHECK-LABEL: f1:
; CHECK: lhi %r0, 1
; CHECK: blah %r2 %r0
; CHECK: br %r14
%val = call i64 asm "blah $0 $1", "=d,d" (i8 1)
ret i64 %val
}
define i64 @f2() {
; CHECK-LABEL: f2:
; CHECK: lhi %r0, 2
; CHECK: blah %r2 %r0
; CHECK: br %r14
%val = call i64 asm "blah $0 $1", "=d,d" (i16 2)
ret i64 %val
}
define i64 @f3() {
; CHECK-LABEL: f3:
; CHECK: lhi %r0, 3
; CHECK: blah %r2 %r0
; CHECK: br %r14
%val = call i64 asm "blah $0 $1", "=d,d" (i32 3)
ret i64 %val
}
define i64 @f4() {
; CHECK-LABEL: f4:
; CHECK: lghi %r0, 4
; CHECK: blah %r2 %r0
; CHECK: br %r14
%val = call i64 asm "blah $0 $1", "=d,d" (i64 4)
ret i64 %val
}