summaryrefslogtreecommitdiff
path: root/test/CodeGen/scalarIntrinsicTruncRound.f95
blob: 0d6702f5c04ba832d07b19a88a8baca226f6f146 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! RUN: %flang -emit-llvm -o - %s | %file_check %s
PROGRAM testscalartruncround
  INTEGER i
  REAL x

  INTRINSIC aint, anint, nint, ceiling, floor

  x = 2.25

  x = aint(x)  ! CHECK: call float @llvm.trunc.f32
  x = -1.75
  x = anint(x) ! CHECK: call float @llvm.rint.f32
  x = 3.75
  i = nint(x)  ! CHECK: call float @llvm.rint.f32
  CONTINUE     ! CHECK: fptosi
  CONTINUE     ! CHECK: store i32

  i = ceiling(x) ! CHECK: call float @llvm.ceil.f32
  i = floor(x)   ! CHECK: call float @llvm.floor.f32

END PROGRAM