1*9880d681SAndroid Build Coastguard Worker; Test the GPR constraint "d", which is equivalent to "r". 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -no-integrated-as | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i64 @f1() { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f1: 7*9880d681SAndroid Build Coastguard Worker; CHECK: lhi %r0, 1 8*9880d681SAndroid Build Coastguard Worker; CHECK: blah %r2 %r0 9*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 10*9880d681SAndroid Build Coastguard Worker %val = call i64 asm "blah $0 $1", "=d,d" (i8 1) 11*9880d681SAndroid Build Coastguard Worker ret i64 %val 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine i64 @f2() { 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f2: 16*9880d681SAndroid Build Coastguard Worker; CHECK: lhi %r0, 2 17*9880d681SAndroid Build Coastguard Worker; CHECK: blah %r2 %r0 18*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 19*9880d681SAndroid Build Coastguard Worker %val = call i64 asm "blah $0 $1", "=d,d" (i16 2) 20*9880d681SAndroid Build Coastguard Worker ret i64 %val 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine i64 @f3() { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f3: 25*9880d681SAndroid Build Coastguard Worker; CHECK: lhi %r0, 3 26*9880d681SAndroid Build Coastguard Worker; CHECK: blah %r2 %r0 27*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 28*9880d681SAndroid Build Coastguard Worker %val = call i64 asm "blah $0 $1", "=d,d" (i32 3) 29*9880d681SAndroid Build Coastguard Worker ret i64 %val 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Workerdefine i64 @f4() { 33*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f4: 34*9880d681SAndroid Build Coastguard Worker; CHECK: lghi %r0, 4 35*9880d681SAndroid Build Coastguard Worker; CHECK: blah %r2 %r0 36*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 37*9880d681SAndroid Build Coastguard Worker %val = call i64 asm "blah $0 $1", "=d,d" (i64 4) 38*9880d681SAndroid Build Coastguard Worker ret i64 %val 39*9880d681SAndroid Build Coastguard Worker} 40