1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \ 2*9880d681SAndroid Build Coastguard Worker; RUN: %s | FileCheck %s -check-prefixes=ALL,N32,HARD-FLOAT 3*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \ 4*9880d681SAndroid Build Coastguard Worker; RUN: %s | FileCheck %s -check-prefixes=ALL,N32,HARD-FLOAT 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 -relocation-model=pic < \ 7*9880d681SAndroid Build Coastguard Worker; RUN: %s | FileCheck %s -check-prefixes=ALL,N64,HARD-FLOAT 8*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic < \ 9*9880d681SAndroid Build Coastguard Worker; RUN: %s | FileCheck %s -check-prefixes=ALL,N64,HARD-FLOAT 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \ 12*9880d681SAndroid Build Coastguard Worker; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,N32,SOFT-FLOAT 13*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \ 14*9880d681SAndroid Build Coastguard Worker; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,N32,SOFT-FLOAT 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < %s \ 17*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefixes=ALL,N64,SOFT-FLOAT 18*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < \ 19*9880d681SAndroid Build Coastguard Worker; RUN: %s | FileCheck %s -check-prefixes=ALL,N64,SOFT-FLOAT 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker@fp128 = global fp128 zeroinitializer 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine void @roundl_call(fp128 %value) { 24*9880d681SAndroid Build Coastguard Workerentry: 25*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: roundl_call: 26*9880d681SAndroid Build Coastguard Worker; N32: lw $25, %call16(roundl)($gp) 27*9880d681SAndroid Build Coastguard Worker; N64: ld $25, %call16(roundl)($gp) 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker; SOFT-FLOAT: sd $4, 8(${{[0-9]+}}) 30*9880d681SAndroid Build Coastguard Worker; SOFT-FLOAT: sd $2, 0(${{[0-9]+}}) 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker; HARD-FLOAT: sdc1 $f2, 8(${{[0-9]+}}) 33*9880d681SAndroid Build Coastguard Worker; HARD-FLOAT: sdc1 $f0, 0(${{[0-9]+}}) 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker %call = call fp128 @roundl(fp128 %value) 36*9880d681SAndroid Build Coastguard Worker store fp128 %call, fp128* @fp128 37*9880d681SAndroid Build Coastguard Worker ret void 38*9880d681SAndroid Build Coastguard Worker} 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workerdeclare fp128 @roundl(fp128) nounwind readnone 41