[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / ARM / tail-call-builtin.ll
blobc829cc52462ee0c5fd8f831c291dd89c1559691a
1 ; RUN: llc -mtriple=thumbv7-linux-gnueabihf %s -o - | FileCheck %s
3 define i64 @test_mismatched_call(double %in) {
4 ; CHECK-LABEL: test_mismatched_call:
5 ; CHECK: bl floor
6 ; CHECK: vmov r0, r1, d0
8   %val = tail call double @floor(double %in)
9   %res = bitcast double %val to i64
10   ret i64 %res
13 define double @test_matched_call(double %in) {
14 ; CHECK-LABEL: test_matched_call:
15 ; CHECK: b floor
17   %val = tail call double @floor(double %in)
18   ret double %val
21 define void @test_irrelevant_call(double %in) {
22 ; CHECK-LABEL: test_irrelevant_call:
23 ; CHECK-NOT: bl floor
25   %val = tail call double @floor(double %in)
26   ret void
29 define arm_aapcscc double @test_callingconv(double %in) {
30 ; CHECK: test_callingconv:
31 ; CHECK: bl floor
33   %val = tail call double @floor(double %in)
34   ret double %val
37 declare double @floor(double) nounwind readonly