Handle logical shift right (at least I hope so :) )
[llvm/msp430.git] / test / Assembler / 2002-07-08-HugePerformanceProblem.ll
blobb9ebfbe2ad619ff8c8e652d3e9fdb007b1591318
1 ; This file takes about 48 __MINUTES__ to assemble using as.  This is WAY too
2 ; long.  The type resolution code needs to be sped up a lot.
3 ; RUN: llvm-as %s -o /dev/null -f       
4         %ALL_INTERSECTIONS_METHOD = type i32 (%OBJECT*, %RAY*, %ISTACK*)*
5         %BBOX = type { %BBOX_VECT, %BBOX_VECT }
6         %BBOX_TREE = type { i16, i16, %BBOX, %BBOX_TREE** }
7         %BBOX_VECT = type [3 x float]
8         %BLEND_MAP = type { i16, i16, i16, i32, %BLEND_MAP_ENTRY* }
9         %BLEND_MAP_ENTRY = type { float, i8, { %COLOUR, %PIGMENT*, %TNORMAL*, %TEXTURE*, %UV_VECT } }
10         %CAMERA = type { %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, i32, double, double, i32, double, %TNORMAL* }
11         %COLOUR = type [5 x float]
12         %COPY_METHOD = type i8* (%OBJECT*)*
13         %COUNTER = type { i32, i32 }
14         %DENSITY_FILE = type { i32, %DENSITY_FILE_DATA* }
15         %DENSITY_FILE_DATA = type { i32, i8*, i32, i32, i32, i8*** }
16         %DESTROY_METHOD = type void (%OBJECT*)*
17         %FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
18         %FILE_HANDLE = type { i8*, i32, i32, i32, i32, i8*, %FILE*, i32, i32 (%FILE_HANDLE*, i8*, i32*, i32*, i32, i32)*, void (%FILE_HANDLE*, %COLOUR*, i32)*, i32 (%FILE_HANDLE*, %COLOUR*, i32*)*, void (%IMAGE*, i8*)*, void (%FILE_HANDLE*)* }
19         %FINISH = type { float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, %BBOX_VECT, %BBOX_VECT }
20         %FOG = type { i32, double, double, double, %COLOUR, %VECTOR, %TURB*, float, %FOG* }
21         %FRAME = type { %CAMERA*, i32, i32, i32, %LIGHT_SOURCE*, %OBJECT*, double, double, %COLOUR, %COLOUR, %COLOUR, %IMEDIA*, %FOG*, %RAINBOW*, %SKYSPHERE* }
22         %FRAMESEQ = type { i32, double, i32, i32, double, i32, i32, double, i32, double, i32, double, i32, i32 }
23         %IMAGE = type { i32, i32, i32, i32, i32, i16, i16, %VECTOR, float, float, i32, i32, i16, %IMAGE_COLOUR*, { %IMAGE_LINE*, i8** } }
24         %IMAGE_COLOUR = type { i16, i16, i16, i16, i16 }
25         %IMAGE_LINE = type { i8*, i8*, i8*, i8* }
26         %IMEDIA = type { i32, i32, i32, i32, i32, double, double, i32, i32, i32, i32, %COLOUR, %COLOUR, %COLOUR, %COLOUR, double, double, double, double*, %PIGMENT*, %IMEDIA* }
27         %INSIDE_METHOD = type i32 (double*, %OBJECT*)*
28         %INTERIOR = type { i32, i32, float, float, float, float, float, %IMEDIA* }
29         %INTERSECTION = type { double, %VECTOR, %VECTOR, %OBJECT*, i32, i32, double, double, i8* }
30         %INVERT_METHOD = type void (%OBJECT*)*
31         %ISTACK = type { %ISTACK*, %INTERSECTION*, i32 }
32         %LIGHT_SOURCE = type { %METHODS*, i32, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, i32, %OBJECT*, %COLOUR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, double, double, double, %LIGHT_SOURCE*, i8, i8, i8, i8, i32, i32, i32, i32, i32, %COLOUR**, %OBJECT*, [6 x %PROJECT_TREE_NODE*] }
33         %MATRIX = type [4 x %VECTOR_4D]
34         %METHODS = type { %ALL_INTERSECTIONS_METHOD, %INSIDE_METHOD, %NORMAL_METHOD, %COPY_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %TRANSFORM_METHOD, %DESTROY_METHOD, %DESTROY_METHOD }
35         %NORMAL_METHOD = type void (double*, %OBJECT*, %INTERSECTION*)*
36         %OBJECT = type { %METHODS*, i32, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, i32 }
37         %Opts = type { i32, i32, i8, i8, i8, i32, [150 x i8], [150 x i8], [150 x i8], [150 x i8], [150 x i8], double, double, i32, i32, double, double, i32, [25 x i8*], i32, i32, i32, double, double, i32, i32, double, double, double, i32, i32, i32, i32, i32, %FRAMESEQ, double, i32, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [150 x i8], %SHELLDATA*, [150 x i8], i32, i32 }
38         %PIGMENT = type { i16, i16, i16, i32, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, i16, i16, i16, { float, %VECTOR }, %complex.float }, %COLOUR }
39         %PRIORITY_QUEUE = type { i32, i32, %QELEM* }
40         %PROJECT = type { i32, i32, i32, i32 }
41         %PROJECT_QUEUE = type { i32, i32, %PROJECT_TREE_NODE** }
42         %PROJECT_TREE_NODE = type { i16, %BBOX_TREE*, %PROJECT, i16, %PROJECT_TREE_NODE** }
43         %QELEM = type { double, %BBOX_TREE* }
44         %RAINBOW = type { double, double, double, double, double, double, double, %VECTOR, %VECTOR, %VECTOR, %PIGMENT*, %RAINBOW* }
45         %RAY = type { %VECTOR, %VECTOR, i32, [100 x %INTERIOR*] }
46         %RAYINFO = type { %VECTOR, %VECTOR, %VECTORI, %VECTORI }
47         %RGB = type [3 x float]
48         %ROTATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
49         %SCALE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
50         %SHELLDATA = type { i32, i32, [250 x i8] }
51         %SKYSPHERE = type { i32, %PIGMENT**, %TRANSFORM* }
52         %SNGL_VECT = type [3 x float]
53         %TEXTURE = type { i16, i16, i16, i32, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, i16, i16, i16, { float, %VECTOR }, %complex.float }, %TEXTURE*, %PIGMENT*, %TNORMAL*, %FINISH*, %TEXTURE*, i32 }
54         %TNORMAL = type { i16, i16, i16, i32, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, i16, i16, i16, { float, %VECTOR }, %complex.float }, float }
55         %TPATTERN = type { i16, i16, i16, i32, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, i16, i16, i16, { float, %VECTOR }, %complex.float } }
56         %TRANSFORM = type { %MATRIX, %MATRIX }
57         %TRANSFORM_METHOD = type void (%OBJECT*, %TRANSFORM*)*
58         %TRANSLATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
59         %TURB = type { i16, %WARP*, %VECTOR, i32, float, float }
60         %UV_VECT = type [2 x double]
61         %VECTOR = type [3 x double]
62         %VECTORI = type [3 x i32]
63         %VECTOR_4D = type [4 x double]
64         %WARP = type { i16, %WARP* }
65         %__FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
66         %_h_val = type { [2 x i32], double }
67         %complex.float = type { float, float }