1	.extern f001
2	.extern F002
3	.text
4	.global load_immediate
5load_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
39	/* Test constant folding.  */
40	r0.l = (a + 5) - 2;
41	r1.l = (a + 5) + 10;
42
43	.text
44	.global load_pointer_register
45load_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
59load_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
76load_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
87load_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
98load_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
107load_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
116load_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
125load_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
132	.data
133	.global load_data
134load_data1:	.byte 0
135load_data2:	.word 16
136
137