| ; RUN: llc -march=hexagon < %s | FileCheck %s |
| |
| declare i32 @ret_i32() |
| |
| define i8 @test_i8() { |
| ; CHECK-LABEL: test_i8: |
| ; CHECK: jump ret_i32 |
| %res = tail call i32 @ret_i32() |
| %val = trunc i32 %res to i8 |
| ret i8 %val |
| } |
| |
| define i16 @test_i16() { |
| ; CHECK-LABEL: test_i16: |
| ; CHECK: jump ret_i32 |
| %res = tail call i32 @ret_i32() |
| %val = trunc i32 %res to i16 |
| ret i16 %val |
| } |
| |
| declare i64 @ret_i64() |
| define i32 @test_i32() { |
| ; CHECK-LABEL: test_i32: |
| ; CHECK: call ret_i64 |
| %res = tail call i64 @ret_i64() |
| %val = trunc i64 %res to i32 |
| ret i32 42 |
| } |