1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2024-12-15 04:30:12 +00:00
llvm-6502/test/Feature/newcasts.ll
Reid Spencer e3ff5ada8a For PR761:
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.

For PR645:
Make global names use the @ prefix.

For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:25:06 +00:00

29 lines
690 B
LLVM

; RUN: llvm-as < %s | llvm-dis > %t1.ll
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll
define void @"NewCasts" (i16 %x) {
%a = zext i16 %x to i32
%b = sext i16 %x to i32
%c = trunc i16 %x to i8
%d = uitofp i16 %x to float
%e = sitofp i16 %x to double
%f = fptoui float %d to i16
%g = fptosi double %e to i16
%i = fpext float %d to double
%j = fptrunc double %i to float
%k = bitcast i32 %a to float
%l = inttoptr i16 %x to i32*
%m = ptrtoint i32* %l to i64
ret void
}
define i16 @"ZExtConst" () {
ret i16 trunc ( i32 zext ( i16 42 to i32) to i16 )
}
define i16 @"SExtConst" () {
ret i16 trunc (i32 sext (i16 42 to i32) to i16 )
}