| 1 | .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); |