1 ; Test matching operands with the GPR constraint "r".
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -no-integrated-as | FileCheck %s
5 define void @f1(ptr %dst) {
9 ; CHECK: st %r0, 0(%r2)
11 %val = call i32 asm "blah $0", "=r,0" (i8 100)
12 store i32 %val, ptr %dst
16 define void @f2(ptr %dst) {
20 ; CHECK: st %r0, 0(%r2)
22 %val = call i32 asm "blah $0", "=r,0" (i16 101)
23 store i32 %val, ptr %dst
27 define void @f3(ptr %dst) {
31 ; CHECK: st %r0, 0(%r2)
33 %val = call i32 asm "blah $0", "=r,0" (i32 102)
34 store i32 %val, ptr %dst
38 ; FIXME: this uses "lhi %r0, 103", but should use "lghi %r0, 103".
39 define void @f4(ptr %dst) {
42 ; CHECK: st %r0, 0(%r2)
44 %val = call i32 asm "blah $0", "=r,0" (i64 103)
45 store i32 %val, ptr %dst
51 ; CHECK: lghi %r2, 104
54 %val = call i64 asm "blah $0", "=r,0" (i8 104)
60 ; CHECK: lghi %r2, 105
63 %val = call i64 asm "blah $0", "=r,0" (i16 105)
69 ; CHECK: lghi %r2, 106
72 %val = call i64 asm "blah $0", "=r,0" (i32 106)
78 ; CHECK: lghi %r2, 107
81 %val = call i64 asm "blah $0", "=r,0" (i64 107)