Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / lround-conv-i32.ll
blob06baf1f273c95fa74acab3631eca59fdbea746fa
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-unknown             | FileCheck %s
3 ; RUN: llc < %s -mtriple=i686-unknown -mattr=sse2 | FileCheck %s
4 ; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X64
6 define i32 @testmsws(float %x) {
7 ; CHECK-LABEL: testmsws:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    jmp lroundf # TAILCALL
11 ; X64-LABEL: testmsws:
12 ; X64:       # %bb.0: # %entry
13 ; X64-NEXT:    jmp lroundf@PLT # TAILCALL
14 entry:
15   %0 = tail call i32 @llvm.lround.i32.f32(float %x)
16   ret i32 %0
19 define i32 @testmswd(double %x) {
20 ; CHECK-LABEL: testmswd:
21 ; CHECK:       # %bb.0: # %entry
22 ; CHECK-NEXT:    jmp lround # TAILCALL
24 ; X64-LABEL: testmswd:
25 ; X64:       # %bb.0: # %entry
26 ; X64-NEXT:    jmp lround@PLT # TAILCALL
27 entry:
28   %0 = tail call i32 @llvm.lround.i32.f64(double %x)
29   ret i32 %0
32 define i32 @testmsll(x86_fp80 %x) {
33 ; CHECK-LABEL: testmsll:
34 ; CHECK:       # %bb.0: # %entry
35 ; CHECK-NEXT:    jmp lroundl # TAILCALL
37 ; X64-LABEL: testmsll:
38 ; X64:       # %bb.0: # %entry
39 ; X64-NEXT:    jmp lroundl@PLT # TAILCALL
40 entry:
41   %0 = tail call i32 @llvm.lround.i32.f80(x86_fp80 %x)
42   ret i32 %0
45 declare i32 @llvm.lround.i32.f32(float) nounwind readnone
46 declare i32 @llvm.lround.i32.f64(double) nounwind readnone
47 declare i32 @llvm.lround.i32.f80(x86_fp80) nounwind readnone