Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / bfin / load.s
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
39         /* Test constant folding.  */
40         r0.l = (a + 5) - 2; 
41         r1.l = (a + 5) + 10;
42
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
132         .global load_data
133 load_data1:     .byte 0
134 load_data2:     .word 16
135