Implement bswap
[llvm/msp430.git] / test / ExecutionEngine / 2007-12-14-BigEndian.ll
blob6286cea5d13510b2e995d612fd1f4e37fd5e1fb9
1 ; RUN: llvm-as %s -o - | lli -force-interpreter
3 target datalayout = "E"
5 define i32 @main() {
6 entry:
7         %i = alloca i93
8         store i93 18364758544493064720, i93* %i
9         %i1 = load i93* %i
10         %i2 = shl i93 %i1, 32
11         %i3 = or i93 %i2, 3753679480
12         store i93 %i3, i93* %i
13         %i4 = load i93* %i
14         %C = icmp eq i93 %i3, %i4
15         br i1 %C, label %ok1, label %fail
16 ok1:
17         %b = bitcast i93* %i to [12 x i8]*
18         %b0 = getelementptr [12 x i8]* %b, i32 0, i32 0
19         %v0 = load i8* %b0
20         %c0 = icmp eq i8 %v0, 30
21         br i1 %c0, label %ok2, label %fail
22 ok2:
23         %b1 = getelementptr [12 x i8]* %b, i32 0, i32 1
24         %v1 = load i8* %b1
25         %c1 = icmp eq i8 %v1, 220
26         br i1 %c1, label %ok3, label %fail
27 ok3:
28         %b2 = getelementptr [12 x i8]* %b, i32 0, i32 2
29         %v2 = load i8* %b2
30         %c2 = icmp eq i8 %v2, 186
31         br i1 %c2, label %ok4, label %fail
32 ok4:
33         %b3 = getelementptr [12 x i8]* %b, i32 0, i32 3
34         %v3 = load i8* %b3
35         %c3 = icmp eq i8 %v3, 152
36         br i1 %c3, label %ok5, label %fail
37 ok5:
38         %b4 = getelementptr [12 x i8]* %b, i32 0, i32 4
39         %v4 = load i8* %b4
40         %c4 = icmp eq i8 %v4, 118
41         br i1 %c4, label %ok6, label %fail
42 ok6:
43         %b5 = getelementptr [12 x i8]* %b, i32 0, i32 5
44         %v5 = load i8* %b5
45         %c5 = icmp eq i8 %v5, 84
46         br i1 %c5, label %ok7, label %fail
47 ok7:
48         %b6 = getelementptr [12 x i8]* %b, i32 0, i32 6
49         %v6 = load i8* %b6
50         %c6 = icmp eq i8 %v6, 50
51         br i1 %c6, label %ok8, label %fail
52 ok8:
53         %b7 = getelementptr [12 x i8]* %b, i32 0, i32 7
54         %v7 = load i8* %b7
55         %c7 = icmp eq i8 %v7, 16
56         br i1 %c7, label %ok9, label %fail
57 ok9:
58         %b8 = getelementptr [12 x i8]* %b, i32 0, i32 8
59         %v8 = load i8* %b8
60         %c8 = icmp eq i8 %v8, 223
61         br i1 %c8, label %okA, label %fail
62 okA:
63         %b9 = getelementptr [12 x i8]* %b, i32 0, i32 9
64         %v9 = load i8* %b9
65         %c9 = icmp eq i8 %v9, 188
66         br i1 %c9, label %okB, label %fail
67 okB:
68         %bA = getelementptr [12 x i8]* %b, i32 0, i32 10
69         %vA = load i8* %bA
70         %cA = icmp eq i8 %vA, 154
71         br i1 %cA, label %okC, label %fail
72 okC:
73         %bB = getelementptr [12 x i8]* %b, i32 0, i32 11
74         %vB = load i8* %bB
75         %cB = icmp eq i8 %vB, 120
76         br i1 %cB, label %okD, label %fail
77 okD:
78         ret i32 0
79 fail:
80         ret i32 1