xref: /llvm-project/llvm/test/CodeGen/Generic/fpoperations.ll (revision 4d20e31f736c76785e03367c036183474459ef9a)
1*4d20e31fSSerge Pavlov; RUN: llc < %s | FileCheck %s
2*4d20e31fSSerge Pavlov
3*4d20e31fSSerge Pavlov; This test checks default lowering of the intrinsics operating floating point
4*4d20e31fSSerge Pavlov; values. MSP430 is used as a target in this test because it does not have
5*4d20e31fSSerge Pavlov; native FP support, so it won't get custom lowering for these intrinsics.
6*4d20e31fSSerge Pavlov;
7*4d20e31fSSerge Pavlov; REQUIRES: msp430-registered-target
8*4d20e31fSSerge Pavlov
9*4d20e31fSSerge Pavlovtarget datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"
10*4d20e31fSSerge Pavlovtarget triple = "msp430---elf"
11*4d20e31fSSerge Pavlov
12*4d20e31fSSerge Pavlov
13*4d20e31fSSerge Pavlovdefine float @roundeven_01(float %x) {
14*4d20e31fSSerge Pavloventry:
15*4d20e31fSSerge Pavlov  %res = call float @llvm.roundeven.f32(float %x)
16*4d20e31fSSerge Pavlov  ret float %res
17*4d20e31fSSerge Pavlov}
18*4d20e31fSSerge Pavlov; CHECK-LABEL: roundeven_01:
19*4d20e31fSSerge Pavlov; CHECK: call #roundeven
20*4d20e31fSSerge Pavlov
21*4d20e31fSSerge Pavlovdeclare float @llvm.roundeven.f32(float %x)
22