]>
Commit | Line | Data |
---|---|---|
8df55cb8 CM |
1 | .extern f001 |
2 | .extern F002 | |
3 | .text | |
4 | .global load_immediate | |
5 | load_immediate: | |
6 | /* Half-Word Load. */ | |
7 | M3.l = 0xffff; | |
8 | b2.l = 0xfffe; | |
9 | Sp.l = 0; | |
10 | FP.L = 0xfedc; | |
11 | r0.h = 2; | |
12 | p5.H = 32; | |
13 | I2.h = 0xf204; | |
14 | b1.H = 64; | |
15 | l0.h = 0xffff; | |
16 | R5.h = load_data1; | |
17 | B2.H = F002; | |
18 | ||
19 | /* Zero Extended. */ | |
20 | fp = 0xff20 (Z); | |
21 | l2 = 32 (z); | |
22 | R5 = foo2 (Z); | |
23 | A0 = 0; | |
24 | A1 = 0; | |
25 | a1 = a0 = 0; | |
26 | ||
27 | /* Sign Extended. */ | |
28 | r2 = -64 (x); | |
29 | R0 = 0x7f (X); | |
30 | P2 = 0 (x); | |
31 | sp = -32 (x); | |
32 | fp = 44 (X); | |
33 | l3 = 0x800 (x); | |
34 | m2 = 0x7fff (X); | |
35 | R1 = 16 (X); | |
36 | L0 = foo1; | |
37 | r7 = load_data2; | |
38 | ||
b7c9ce98 BS |
39 | /* Test constant folding. */ |
40 | r0.l = (a + 5) - 2; | |
41 | r1.l = (a + 5) + 10; | |
42 | ||
8df55cb8 CM |
43 | .text |
44 | .global load_pointer_register | |
45 | load_pointer_register: | |
46 | Sp = [ fp]; | |
47 | FP = [ p0++ ]; | |
48 | p1 = [sp--]; | |
49 | SP = [P2 +56]; | |
50 | p3 = [fp + 0]; | |
51 | P4 = [FP + 0x0001FFFC]; | |
52 | sp = [fp-0x0001fffc]; | |
53 | sp = [p4-0]; | |
54 | P5 = [FP-128]; | |
55 | ||
56 | ||
57 | .text | |
58 | .global load_data_register | |
59 | load_data_register: | |
60 | R7 = [p0]; | |
61 | r6 = [p5++]; | |
62 | r5 = [P4 --]; | |
63 | R4 = [Fp + 40]; | |
64 | r3 = [sp+131068]; | |
65 | r2 = [sp-0]; | |
66 | r1 = [fp - 0x0001fffc]; | |
67 | R0 = [sp ++ p0]; | |
68 | R5 = [Fp-128]; | |
69 | r2 = [i0]; | |
70 | r1 = [I1++]; | |
71 | R3 = [I2--]; | |
72 | R4 = [i3 ++ M0]; | |
73 | ||
74 | .text | |
75 | .global load_half_word_zero_extend | |
76 | load_half_word_zero_extend: | |
77 | r7 = w [sp] (z); | |
78 | R6 = W [FP ++] (Z); | |
79 | R5 = W [P0 --] (z); | |
80 | R4 = w [p1 + 30] (Z); | |
81 | r3 = w [sp + 0xfffc] (z); | |
82 | r2 = w [fp - 0xfffc] (Z); | |
83 | R0 = W [ P0 ++ P5] (z); | |
84 | ||
85 | .text | |
86 | .global load_half_word_sign_extend | |
87 | load_half_word_sign_extend: | |
88 | r7 = w [sp] (x); | |
89 | R6 = W [FP ++] (X); | |
90 | R5 = W [P0 --] (X); | |
91 | r5 = w [p1 + 24] (x); | |
92 | R3 = w [sp + 0xfffc] (X); | |
93 | r7 = w [fp - 0xfffc] (x); | |
94 | R1 = W [ P1 ++ P2] (X); | |
95 | ||
96 | .text | |
97 | .global load_high_data_register_half | |
98 | load_high_data_register_half: | |
99 | r0.h = w [i0]; | |
100 | R1.H = W [I1 ++]; | |
101 | R2.h = w [I2 --]; | |
102 | r3.H = W [sp]; | |
103 | R4.h = W [Fp ++ p0]; | |
104 | ||
105 | .text | |
106 | .global load_low_data_register_half | |
107 | load_low_data_register_half: | |
108 | r7.l = w [i3]; | |
109 | R6.L = W [I2++]; | |
110 | R5.l = w [i1 --]; | |
111 | r4.L = w [P0]; | |
112 | r3.l = W [p2 ++ p3]; | |
113 | ||
114 | .text | |
115 | .global load_byte_zero_extend | |
116 | load_byte_zero_extend: | |
117 | r5 = b [p0] (z); | |
118 | R4 = B [P1++] (Z); | |
119 | r0 = b [p2--] (z); | |
120 | R3 = B [sp + 0x7fff] (Z); | |
121 | r7 = b [SP - 32767] (z); | |
122 | ||
123 | .text | |
124 | .global load_byte_sign_extend | |
125 | load_byte_sign_extend: | |
126 | r5 = b [ P0 ] (X); | |
127 | r2 = B [ p1++ ] (x); | |
128 | R3 = b [ FP--] (x); | |
129 | r7 = B [ sp+0] (x); | |
130 | r6 = b [fp-0x7fff] (X); | |
131 | ||
ed2c4879 | 132 | .data |
8df55cb8 CM |
133 | .global load_data |
134 | load_data1: .byte 0 | |
135 | load_data2: .word 16 | |
136 |