1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/CodeGen/SystemZ/asm-06.ll
Ulrich Weigand 4155c036c2 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.

llvm-svn: 225820
2015-01-13 19:45:16 +00:00

40 lines
790 B
LLVM

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