Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / InstCombine / 2006-02-07-SextZextCrash.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output   
2
3         %struct.rtx_const = type { uint, { %union.real_extract } }
4         %struct.rtx_def = type { int, [1 x %union.rtunion_def] }
5         %union.real_extract = type { double }
6         %union.rtunion_def = type { uint }
7
8 implementation   ; Functions:
9
10 fastcc void %decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
11         %tmp.54 = getelementptr %struct.rtx_const* %value, int 0, uint 0                ; <uint*> [#uses=1]
12         %tmp.56 = getelementptr %struct.rtx_def* %x, int 0, uint 0              ; <int*> [#uses=1]
13         %tmp.57 = load int* %tmp.56             ; <int> [#uses=1]
14         %tmp.58 = shl int %tmp.57, ubyte 8              ; <int> [#uses=1]
15         %tmp.59 = shr int %tmp.58, ubyte 24             ; <int> [#uses=1]
16         %tmp.60 = cast int %tmp.59 to ushort            ; <ushort> [#uses=1]
17         %tmp.61 = cast ushort %tmp.60 to uint           ; <uint> [#uses=1]
18         %tmp.62 = shl uint %tmp.61, ubyte 16            ; <uint> [#uses=1]
19         %tmp.65 = or uint 0, %tmp.62            ; <uint> [#uses=1]
20         store uint %tmp.65, uint* %tmp.54
21         ret void
22 }