Home | History | Annotate | Download | only in bfin
      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 
     88