xref: /llvm-project/llvm/test/CodeGen/AArch64/fptosi-strictfp.ll (revision ebbfdca586d5543c13617b15d0cdf5b7fdc4fd4a)
1; RUN: llc < %s | FileCheck %s
2target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
3target triple = "aarch64"
4
5define i128 @test_fixtfti(fp128 %ld) #0 {
6; CHECK-LABEL: test_fixtfti:
7; CHECK: bl	__fixtfti
8entry:
9  %conv = call i128 @llvm.experimental.constrained.fptosi.i128.f128(fp128 %ld, metadata !"fpexcept.strict") #0
10  ret i128 %conv
11}
12
13declare i128 @llvm.experimental.constrained.fptosi.i128.f128(fp128, metadata)
14
15define i128 @test_fixtftu(fp128 %ld) #0 {
16; CHECK-LABEL: test_fixtftu:
17; CHECK: bl	__fixunstfti
18entry:
19  %conv = call i128 @llvm.experimental.constrained.fptoui.i128.f128(fp128 %ld, metadata !"fpexcept.strict") #0
20  ret i128 %conv
21}
22
23declare i128 @llvm.experimental.constrained.fptoui.i128.f128(fp128, metadata)
24
25attributes #0 = { strictfp }
26