Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / bfin / shift.s
1         .text
2         .global add_with_shift
3 add_with_shift:
4         P0 = (P0 + p1) << 1;
5         P2 = (p2 + p5) << 2;
6         r7 = (R7 + r1) << 2;
7         r3 = (r3 + R0) << 1;
8
9         .text
10         .global shift_with_add
11 shift_with_add:
12         P5 = p4 + (P0 << 2);
13         P0 = p2 + (p1 << 1);
14
15         .text
16         .global arithmetic_shift
17 arithmetic_shift:
18         A0 = A0 >> 31;
19         a0 = a0 << 31;
20         a1 = a1 >> 0;
21         A1 = A1 << 0;
22         r7 = r5 << 31 (s);
23         R3 = r2 >>> 22;
24         r1.L = R2.H << 15 (S);
25         r5.h = r2.l >>> 2;
26         r0 <<= 0;
27         r1 >>>= 31;
28
29         r0 >>>= R1;
30         R2 <<= R1;
31         r3.l = Ashift  r4.h by r2.l;
32         R7.H = ASHIFT R7.L by R0.L (S);
33         r7.h = ashift  r7.l by r0.l (s);
34         r6 = AShiFT R5 by R2.L;
35         R0 = Ashift R4 by r1.l (s);
36         r2 = ashift r6 BY r3.L (S);
37         A0 = Ashift a0 by r1.l;
38         a1 = ASHIFT a1 by r0.L;
39
40
41         .text
42         .global logical_shift
43 logical_shift:
44         p0 = p0 >> 1;
45         P1 = p2 >> 2;
46         P3 = P1 << 1;
47         p4 = p5 << 2;
48
49         r0 >>= 31;
50         R7 <<= 31;
51         r1.H = r2.l >> 15;
52         r7.l = r0.L << 0;
53         r5 = r5 >> 31;
54         r0 = r0 << 12;
55         A0 = A0 >> 1;
56         A0 = A0 << 0;
57         a1 = A1 << 31;
58         a1 = a1 >> 16;
59         
60         r5 >>= R7;
61         R6 <<= r0;
62         R1.H = LShift r2.h by r0.l;
63         r0.l = LSHIFT r0.h by r1.l;
64         r7.L = lshift r6.L BY r2.l;
65         r5 = LShIft R4 bY r3.L;
66         A0 = Lshift a0 By R6.L;
67         A1 = LsHIFt a1 by r5.l;
68
69         .text
70         .global rotate
71 rotate:
72         r7 = ROT r7 by -32;
73         R6 = Rot r7 by -31;
74         R5 = RoT R7 by 31;
75         R4 = Rot r7 by 30;
76         a0 = rot A0 by 0;
77         A0 = ROT a0 BY 10;
78         A1 = ROT A1 by -20;
79         A1 = ROT a1 By -32;
80
81         r0 = rot r1 by r2.L;
82         R0 = Rot R4 BY R3.L;
83         A0 = ROT A0 by r7.l;
84         A1 = rot a1 bY r6.l;
85
86
87