OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [bfin/] [vector.s] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
        .text
2
        .global add_on_sign
3
add_on_sign:
4
        r4.h = r4.l = Sign (R1.h) * R5.h + Sign(r1.L) * R5.L;
5
 
6
        .text
7
        .global vit_max
8
vit_max:
9
        R7 = Vit_Max (R5, r2) (ASL);
10
        r0 = VIT_MAX (r0, r6) (asr);
11
        r5.l = vit_max (R3) (asL);
12
        r2.L = VIT_Max (r2) (Asr);
13
 
14
        .text
15
        .global vector_abs
16
vector_abs:
17
        R5 = ABS R5 (V);
18
        r2 = abs r0 (v);
19
 
20
        .text
21
        .global vector_add_sub
22
vector_add_sub:
23
        R5 = r3 +|+ R2;
24
        r5 = r3 +|+ r2 (Sco);
25
        r7 = R0 -|+ r6;
26
        r2 = R1 -|+ R3 (S);
27
        R4 = R0 +|- R2;
28
        R5 = r1 +|- r2 (CO);
29
        r6 = r3 -|- R4;
30
        r7 = R5 -|- R6 (co);
31
 
32
        r5 = r4 +|+ r3, R7 = r4 -|- r3 (Sco, ASR);
33
        R0 = R3 +|+ r6, R1 = R3 -|- R6 (ASL);
34
        R7 = R1 +|- R2, R6 = R1 -|+ R2 (S);
35
        r1 = r2 +|- r3, r5 = r2 -|+ r3;
36
 
37
        R5 = R0 + R1, R6 = R0 - R1;
38
        r0 = r7 + r1, r3 = r7 - r1 (s);
39
 
40
        r7 = A1 + A0, r5 = A1 - A0;
41
        r3 = a0 + a1, r6 = a0 - a1 (s);
42
 
43
        .text
44
        .global vector_ashift
45
vector_ashift:
46
        R1 = R3 >>> 15 (V);
47
        r4 = r0 >>> 4 (v);
48
        r5 = r0 << 0 (v,s);
49
        r2 = r2 << 12 (v, S);
50
 
51
        R7 = ASHIFT R5 BY R2.L (V);
52
        r0 = Ashift r2 by r0.L (v, s);
53
 
54
        .text
55
        .global vector_lshift
56
vector_lshift:
57
        R5 = r2 >> 15 (V);
58
        r0 = R1 << 2 (v);
59
 
60
        R4 = lshift r1 by r2.L (v);
61
 
62
        .text
63
        .global vector_max
64
vector_max:
65
        R6 = MAX (R0, R1) (V);
66
 
67
        .text
68
        .global vector_min
69
vector_min:
70
        r0 = min (r2, r7) (v);
71
 
72
        .text
73
        .global vector_mul
74
vector_mul:
75
        r2.h = r7.l * r6.h, r2.l = r7.h * r6.h;
76
        R4.L = R1.L * R0.L, R4.H = R1.H * R0.H;
77
        R0.h = R3.H * r2.l, r0.l=r3.l * r2.l;
78
        r5.h = r3.h * r2.h (M), r5.l = r3.L * r2.L (fu);
79
        R0 = r4.l * r7.l, r1 = r4.h * r7.h (s2rnd);
80
        R7 = R2.l * r5.l, r6 = r2.h * r5.h;
81
        R0.L = R7.L * R6.L, R0.H = R7.H * R6.H (ISS2);
82
        r3.h = r0.h * r1.h, r3.l = r0.l * r1.l (is);
83
 
84
        a1 = r2.l * r3.h, a0 = r2.h * R3.H;
85
        A0 = R1.l * R0.L, A1 += R1.h * R0.h;
86
        A1 = R5.h * R7.H, A0 += r5.L * r7.l (w32);
87
        a1 += r0.H * r1.H, A0 = R0.L * R1.l (is);
88
        a1 = r3.h * r4.h (m), a0 += r3.l * R4.L (FU);
89
        A1 += r4.H * R4.L, a0 -= r4.h * r4.h;
90
 
91
        r0.l = (a0 += R7.l * R6.L), R0.H = (A1 += R7.H * R6.H) (Iss2);
92
        r2.H = A1, r2.l = (a0 += r0.L * r1.L) (s2rnd);
93
        r7.h = (a1 = r2.h * r1.h), a0 += r2.l * r1.l;
94
        R2.H = (A1 = R7.L * R6.H), R2.L = (A0 = R7.H * R6.h);
95
        r6.L = (A0 = R3.L * r2.L), R6.H = (A1 += R3.H * R2.H);
96
        R7.h = (a1 += r6.h * r5.l), r7.l = (a0=r6.h * r5.h);
97
        r0.h = (A1 = r7.h * R4.l) (M), R0.l = (a0 += r7.l * r4.l);
98
        R5.H = (a1 = r3.h * r2.h) (m), r5.l= (a0 += r3.l * r2.l) (fu);
99
        r0.h = (A1 += R3.h * R2.h), R0.L = ( A0 = R3.L * R2.L) (is);
100
 
101
        R3 = (A1 = R6.H * R7.H) (M), A0 -= R6.L * R7.L;
102
        r1 = (a1 = r7.l * r4.l) (m), r0 = (a0 += r7.h * r4.h);
103
        R0 = (a0 += r7.l * r6.l), r1 = (a1+= r7.h * r6.h) (ISS2);
104
        r4 = (a0 = r6.l * r7.l), r5 = (a1 += r6.h * r7.h);
105
        R7 = (A1 += r3.h * r5.H), R6 = (A0 -= r3.l * r5.l);
106
        r5 = (a1 -= r6.h * r7.h), a0 += r6.l * r7.l;
107
        R3 = (A1 = r6.h * R7.h), R2 = (A0 = R6.l * r7.l);
108
        R5 = (A1 = r3.h * r7.h) (M), r4 = (A0 += R3.l * r7.l) (fu);
109
        R3 = a1, r2 = (a0 += r0.l *r1.l) (s2rnd);
110
        r1 = (a1 += r3.h * r2.h), r0 = (a0 = r3.l * r2.l) (is);
111
 
112
        .text
113
        .global vector_negate
114
vector_negate:
115
        R0 = - R1 (V);
116
        r7 = - r2 (v);
117
 
118
        .text
119
        .global vector_pack
120
vector_pack:
121
        R7 = Pack (r0.h, r1.l);
122
        r6 = PACK (r1.H, r6.H);
123
        R5 = pack (R2.L, R2.H);
124
 
125
        .text
126
        .global vector_search
127
vector_search:
128
        (R0, R1) = search R2 (lt);
129
        (r6, r7) = Search r0 (LE);
130
        (r3, r6) = SEARCH r1 (Gt);
131
        (r4, R5) = sEARch r3 (gE);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.