57 lines · plain
1; RUN: llc < %s -mtriple=mips64el -mattr=+soft-float | FileCheck %s2 3define signext i32 @testmsws(float %x) {4; CHECK-LABEL: testmsws:5; CHECK: jal llroundf6entry:7 %0 = tail call i64 @llvm.llround.f32(float %x)8 %conv = trunc i64 %0 to i329 ret i32 %conv10}11 12define i64 @testmsxs(float %x) {13; CHECK-LABEL: testmsxs:14; CHECK: jal llroundf15entry:16 %0 = tail call i64 @llvm.llround.f32(float %x)17 ret i64 %018}19 20define signext i32 @testmswd(double %x) {21; CHECK-LABEL: testmswd:22; CHECK: jal llround23entry:24 %0 = tail call i64 @llvm.llround.f64(double %x)25 %conv = trunc i64 %0 to i3226 ret i32 %conv27}28 29define i64 @testmsxd(double %x) {30; CHECK-LABEL: testmsxd:31; CHECK: jal llround32entry:33 %0 = tail call i64 @llvm.llround.f64(double %x)34 ret i64 %035}36 37define signext i32 @testmswl(fp128 %x) {38; CHECK-LABEL: testmswl:39; CHECK: jal llroundl40entry:41 %0 = tail call i64 @llvm.llround.f128(fp128 %x)42 %conv = trunc i64 %0 to i3243 ret i32 %conv44}45 46define i64 @testmsll(fp128 %x) {47; CHECK-LABEL: testmsll:48; CHECK: jal llroundl49entry:50 %0 = tail call i64 @llvm.llround.f128(fp128 %x)51 ret i64 %052}53 54declare i64 @llvm.llround.f32(float) nounwind readnone55declare i64 @llvm.llround.f64(double) nounwind readnone56declare i64 @llvm.llround.f128(fp128) nounwind readnone57