mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-25 14:32:53 +00:00
29 lines
551 B
LLVM
29 lines
551 B
LLVM
|
; 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
|
||
|
}
|