1*9880d681SAndroid Build Coastguard Worker; Test the FPR constraint "f". 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 float @f1() { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f1: 7*9880d681SAndroid Build Coastguard Worker; CHECK: lzer %f1 8*9880d681SAndroid Build Coastguard Worker; CHECK: blah %f0 %f1 9*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 10*9880d681SAndroid Build Coastguard Worker %val = call float asm "blah $0 $1", "=&f,f" (float 0.0) 11*9880d681SAndroid Build Coastguard Worker ret float %val 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine double @f2() { 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f2: 16*9880d681SAndroid Build Coastguard Worker; CHECK: lzdr %f1 17*9880d681SAndroid Build Coastguard Worker; CHECK: blah %f0 %f1 18*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 19*9880d681SAndroid Build Coastguard Worker %val = call double asm "blah $0 $1", "=&f,f" (double 0.0) 20*9880d681SAndroid Build Coastguard Worker ret double %val 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine double @f3() { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f3: 25*9880d681SAndroid Build Coastguard Worker; CHECK: lzxr %f1 26*9880d681SAndroid Build Coastguard Worker; CHECK: blah %f0 %f1 27*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 28*9880d681SAndroid Build Coastguard Worker %val = call double asm "blah $0 $1", "=&f,f" (fp128 0xL00000000000000000000000000000000) 29*9880d681SAndroid Build Coastguard Worker ret double %val 30*9880d681SAndroid Build Coastguard Worker} 31