1; Test rint()-like rounding, with non-integer values triggering an 2; inexact condition. 3; 4; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s 5 6; Test f32. 7declare float @llvm.rint.f32(float %f) 8define float @f1(float %f) { 9; CHECK-LABEL: f1: 10; CHECK: fiebr %f0, 0, %f0 11; CHECK: br %r14 12 %res = call float @llvm.rint.f32(float %f) 13 ret float %res 14} 15 16; Test f64. 17declare double @llvm.rint.f64(double %f) 18define double @f2(double %f) { 19; CHECK-LABEL: f2: 20; CHECK: fidbr %f0, 0, %f0 21; CHECK: br %r14 22 %res = call double @llvm.rint.f64(double %f) 23 ret double %res 24} 25 26; Test f128. 27declare fp128 @llvm.rint.f128(fp128 %f) 28define void @f3(fp128 *%ptr) { 29; CHECK-LABEL: f3: 30; CHECK: fixbr %f0, 0, %f0 31; CHECK: br %r14 32 %src = load fp128 *%ptr 33 %res = call fp128 @llvm.rint.f128(fp128 %src) 34 store fp128 %res, fp128 *%ptr 35 ret void 36} 37