57 lines · plain
1; RUN: llc < %s -mtriple=powerpc64le | FileCheck %s2 3; CHECK-LABEL: testmsws:4; CHECK: bl lroundf5define signext i32 @testmsws(float %x) {6entry:7 %0 = tail call i64 @llvm.lround.i64.f32(float %x)8 %conv = trunc i64 %0 to i329 ret i32 %conv10}11 12; CHECK-LABEL: testmsxs:13; CHECK: bl lroundf14define i64 @testmsxs(float %x) {15entry:16 %0 = tail call i64 @llvm.lround.i64.f32(float %x)17 ret i64 %018}19 20; CHECK-LABEL: testmswd:21; CHECK: bl lround22define signext i32 @testmswd(double %x) {23entry:24 %0 = tail call i64 @llvm.lround.i64.f64(double %x)25 %conv = trunc i64 %0 to i3226 ret i32 %conv27}28 29; CHECK-LABEL: testmsxd:30; CHECK: bl lround31define i64 @testmsxd(double %x) {32entry:33 %0 = tail call i64 @llvm.lround.i64.f64(double %x)34 ret i64 %035}36 37; CHECK-LABEL: testmswl:38; CHECK: bl lroundl39define signext i32 @testmswl(ppc_fp128 %x) {40entry:41 %0 = tail call i64 @llvm.lround.i64.ppcf128(ppc_fp128 %x)42 %conv = trunc i64 %0 to i3243 ret i32 %conv44}45 46; CHECK-LABEL: testmsll:47; CHECK: bl lroundl48define i64 @testmsll(ppc_fp128 %x) {49entry:50 %0 = tail call i64 @llvm.lround.i64.ppcf128(ppc_fp128 %x)51 ret i64 %052}53 54declare i64 @llvm.lround.i64.f32(float) nounwind readnone55declare i64 @llvm.lround.i64.f64(double) nounwind readnone56declare i64 @llvm.lround.i64.ppcf128(ppc_fp128) nounwind readnone57