[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / AArch64 / lround-conv-fp16-win.ll
blob5eabc2a4f463035fe9aaa84c30fad33bf93d0654
1 ; RUN: llc < %s -mtriple=aarch64-windows -mattr=+fullfp16 | FileCheck %s
3 ; CHECK-LABEL: testmhhs:
4 ; CHECK:       fcvtas  w0, h0
5 ; CHECK:       ret
6 define i16 @testmhhs(half %x) {
7 entry:
8   %0 = tail call i32 @llvm.lround.i32.f16(half %x)
9   %conv = trunc i32 %0 to i16
10   ret i16 %conv
13 ; CHECK-LABEL: testmhws:
14 ; CHECK:       fcvtas  w0, h0
15 ; CHECK:       ret
16 define i32 @testmhws(half %x) {
17 entry:
18   %0 = tail call i32 @llvm.lround.i32.f16(half %x)
19   ret i32 %0
22 ; CHECK-LABEL: testmhxs:
23 ; CHECK:       fcvtas  w8, h0
24 ; CHECK-NEXT:  sxtw    x0, w8
25 ; CHECK-NEXT:  ret
26 define i64 @testmhxs(half %x) {
27 entry:
28   %0 = tail call i32 @llvm.lround.i32.f16(half %x)
29   %conv = sext i32 %0 to i64
30   ret i64 %conv
33 declare i32 @llvm.lround.i32.f16(half) nounwind readnone