Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AVR / lround-conv.ll
blobaaf7af8e4805f79cba7bf97f738e9b4dc0078f86
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=avr -mcpu=atmega328p | FileCheck %s
4 define signext i16 @testmsws(float %x) {
5 ; CHECK-LABEL: testmsws:
6 ; CHECK:       ; %bb.0: ; %entry
7 ; CHECK-NEXT:    call lroundf
8 ; CHECK-NEXT:    movw r24, r22
9 ; CHECK-NEXT:    ret
10 entry:
11   %0 = tail call i32 @llvm.lround.i32.f32(float %x)
12   %conv = trunc i32 %0 to i16
13   ret i16 %conv
16 define i32 @testmsxs(float %x) {
17 ; CHECK-LABEL: testmsxs:
18 ; CHECK:       ; %bb.0: ; %entry
19 ; CHECK-NEXT:    call lroundf
20 ; CHECK-NEXT:    ret
21 entry:
22   %0 = tail call i32 @llvm.lround.i32.f32(float %x)
23   ret i32 %0
26 define signext i16 @testmswd(double %x) {
27 ; CHECK-LABEL: testmswd:
28 ; CHECK:       ; %bb.0: ; %entry
29 ; CHECK-NEXT:    call lround
30 ; CHECK-NEXT:    movw r24, r22
31 ; CHECK-NEXT:    ret
32 entry:
33   %0 = tail call i32 @llvm.lround.i32.f64(double %x)
34   %conv = trunc i32 %0 to i16
35   ret i16 %conv
38 define i32 @testmsxd(double %x) {
39 ; CHECK-LABEL: testmsxd:
40 ; CHECK:       ; %bb.0: ; %entry
41 ; CHECK-NEXT:    call lround
42 ; CHECK-NEXT:    ret
43 entry:
44   %0 = tail call i32 @llvm.lround.i32.f64(double %x)
45   ret i32 %0
48 declare i32 @llvm.lround.i32.f32(float) nounwind readnone
49 declare i32 @llvm.lround.i32.f64(double) nounwind readnone