* gas/bfin/{bit2.s, cache2.s, control_code2.s, event2.s,
logical2.s, move2.s, parallel.s, parallel2.s, parallel3.s, parallel4.s, shift2.s, stack2.s, video2.s}: Remove DOS line endings.
This commit is contained in:
parent
6fa087861d
commit
a929810277
14 changed files with 2082 additions and 2075 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2008-07-14 Jie Zhang <jie.zhang@analog.com>
|
||||||
|
|
||||||
|
* gas/bfin/{bit2.s, cache2.s, control_code2.s, event2.s,
|
||||||
|
logical2.s, move2.s, parallel.s, parallel2.s, parallel3.s,
|
||||||
|
parallel4.s, shift2.s, stack2.s, video2.s}: Remove DOS line
|
||||||
|
endings.
|
||||||
|
|
||||||
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
|
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
* gas/mips/mips16-vis-1.d, gas/mips/mips16-vis-1.s: New tests.
|
* gas/mips/mips16-vis-1.d, gas/mips/mips16-vis-1.s: New tests.
|
||||||
|
|
|
@ -1,98 +1,98 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//8 BIT OPERATIONS
|
//8 BIT OPERATIONS
|
||||||
//
|
//
|
||||||
|
|
||||||
//BITCLR ( Dreg , uimm5 ) ; /* (a) */
|
//BITCLR ( Dreg , uimm5 ) ; /* (a) */
|
||||||
BITCLR ( R7 , 0 ) ;
|
BITCLR ( R7 , 0 ) ;
|
||||||
BITCLR ( R7 , 31 ) ;
|
BITCLR ( R7 , 31 ) ;
|
||||||
BITCLR ( R7 , 15 ) ;
|
BITCLR ( R7 , 15 ) ;
|
||||||
BITCLR ( R1 , 0 ) ;
|
BITCLR ( R1 , 0 ) ;
|
||||||
BITCLR ( R2 , 1 ) ;
|
BITCLR ( R2 , 1 ) ;
|
||||||
BITCLR ( R3 , 19 ) ;
|
BITCLR ( R3 , 19 ) ;
|
||||||
|
|
||||||
//BITSET ( Dreg , uimm5 ) ; /* (a) */
|
//BITSET ( Dreg , uimm5 ) ; /* (a) */
|
||||||
BITSET ( R7 , 0 ) ;
|
BITSET ( R7 , 0 ) ;
|
||||||
BITSET ( R7 , 31 ) ;
|
BITSET ( R7 , 31 ) ;
|
||||||
BITSET ( R7 , 15 ) ;
|
BITSET ( R7 , 15 ) ;
|
||||||
BITSET ( R1 , 0 ) ;
|
BITSET ( R1 , 0 ) ;
|
||||||
BITSET ( R2 , 1 ) ;
|
BITSET ( R2 , 1 ) ;
|
||||||
BITSET ( R3 , 19 ) ;
|
BITSET ( R3 , 19 ) ;
|
||||||
|
|
||||||
//BITTGL ( Dreg , uimm5 ) ; /* (a) */
|
//BITTGL ( Dreg , uimm5 ) ; /* (a) */
|
||||||
BITTGL ( R7 , 0 ) ;
|
BITTGL ( R7 , 0 ) ;
|
||||||
BITTGL ( R7 , 31 ) ;
|
BITTGL ( R7 , 31 ) ;
|
||||||
BITTGL ( R7 , 15 ) ;
|
BITTGL ( R7 , 15 ) ;
|
||||||
BITTGL ( R1 , 0 ) ;
|
BITTGL ( R1 , 0 ) ;
|
||||||
BITTGL ( R2 , 1 ) ;
|
BITTGL ( R2 , 1 ) ;
|
||||||
BITTGL ( R3 , 19 ) ;
|
BITTGL ( R3 , 19 ) ;
|
||||||
|
|
||||||
//CC = BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 1 (a)*/
|
//CC = BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 1 (a)*/
|
||||||
CC = BITTST ( R7 , 0 ) ;
|
CC = BITTST ( R7 , 0 ) ;
|
||||||
CC = BITTST ( R7 , 31 ) ;
|
CC = BITTST ( R7 , 31 ) ;
|
||||||
CC = BITTST ( R7 , 15 ) ;
|
CC = BITTST ( R7 , 15 ) ;
|
||||||
CC = BITTST ( R1 , 0 ) ;
|
CC = BITTST ( R1 , 0 ) ;
|
||||||
CC = BITTST ( R2 , 1 ) ;
|
CC = BITTST ( R2 , 1 ) ;
|
||||||
CC = BITTST ( R3 , 19 ) ;
|
CC = BITTST ( R3 , 19 ) ;
|
||||||
|
|
||||||
//CC = ! BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 0 (a)*/
|
//CC = ! BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 0 (a)*/
|
||||||
CC = !BITTST ( R7 , 0 ) ;
|
CC = !BITTST ( R7 , 0 ) ;
|
||||||
CC = !BITTST ( R7 , 31 ) ;
|
CC = !BITTST ( R7 , 31 ) ;
|
||||||
CC = !BITTST ( R7 , 15 ) ;
|
CC = !BITTST ( R7 , 15 ) ;
|
||||||
CC = !BITTST ( R1 , 0 ) ;
|
CC = !BITTST ( R1 , 0 ) ;
|
||||||
CC = !BITTST ( R2 , 1 ) ;
|
CC = !BITTST ( R2 , 1 ) ;
|
||||||
CC = !BITTST ( R3 , 19 ) ;
|
CC = !BITTST ( R3 , 19 ) ;
|
||||||
|
|
||||||
//Dreg = DEPOSIT ( Dreg, Dreg ) ; /* no extension (b) */
|
//Dreg = DEPOSIT ( Dreg, Dreg ) ; /* no extension (b) */
|
||||||
R7 = DEPOSIT(R0, R1);
|
R7 = DEPOSIT(R0, R1);
|
||||||
R7 = DEPOSIT(R7, R1);
|
R7 = DEPOSIT(R7, R1);
|
||||||
R7 = DEPOSIT(R7, R7);
|
R7 = DEPOSIT(R7, R7);
|
||||||
R1 = DEPOSIT(R0, R1);
|
R1 = DEPOSIT(R0, R1);
|
||||||
R2 = DEPOSIT(R7, R1);
|
R2 = DEPOSIT(R7, R1);
|
||||||
R3 = DEPOSIT(R7, R7);
|
R3 = DEPOSIT(R7, R7);
|
||||||
|
|
||||||
//Dreg = DEPOSIT ( Dreg, Dreg ) (X) ; /* sign-extended (b) */
|
//Dreg = DEPOSIT ( Dreg, Dreg ) (X) ; /* sign-extended (b) */
|
||||||
R7 = DEPOSIT(R0, R1)(X);
|
R7 = DEPOSIT(R0, R1)(X);
|
||||||
R7 = DEPOSIT(R7, R1)(X);
|
R7 = DEPOSIT(R7, R1)(X);
|
||||||
R7 = DEPOSIT(R7, R7)(X);
|
R7 = DEPOSIT(R7, R7)(X);
|
||||||
R1 = DEPOSIT(R0, R1)(X);
|
R1 = DEPOSIT(R0, R1)(X);
|
||||||
R2 = DEPOSIT(R7, R1)(X);
|
R2 = DEPOSIT(R7, R1)(X);
|
||||||
R3 = DEPOSIT(R7, R7)(X);
|
R3 = DEPOSIT(R7, R7)(X);
|
||||||
|
|
||||||
//Dreg = EXTRACT ( Dreg, Dreg_lo ) (Z) ; /* zero-extended (b)*/
|
//Dreg = EXTRACT ( Dreg, Dreg_lo ) (Z) ; /* zero-extended (b)*/
|
||||||
R7 = EXTRACT(R0, R1.L)(Z);
|
R7 = EXTRACT(R0, R1.L)(Z);
|
||||||
R7 = EXTRACT(R7, R1.L)(Z);
|
R7 = EXTRACT(R7, R1.L)(Z);
|
||||||
R7 = EXTRACT(R7, R7.L)(Z);
|
R7 = EXTRACT(R7, R7.L)(Z);
|
||||||
R1 = EXTRACT(R0, R1.L)(Z);
|
R1 = EXTRACT(R0, R1.L)(Z);
|
||||||
R2 = EXTRACT(R7, R1.L)(Z);
|
R2 = EXTRACT(R7, R1.L)(Z);
|
||||||
R3 = EXTRACT(R7, R7.L)(Z);
|
R3 = EXTRACT(R7, R7.L)(Z);
|
||||||
|
|
||||||
//Dreg = EXTRACT ( Dreg, Dreg_lo ) (X) ; /* sign-extended (b)*/
|
//Dreg = EXTRACT ( Dreg, Dreg_lo ) (X) ; /* sign-extended (b)*/
|
||||||
R7 = EXTRACT(R0, R1.L)(X);
|
R7 = EXTRACT(R0, R1.L)(X);
|
||||||
R7 = EXTRACT(R7, R1.L)(X);
|
R7 = EXTRACT(R7, R1.L)(X);
|
||||||
R7 = EXTRACT(R7, R7.L)(X);
|
R7 = EXTRACT(R7, R7.L)(X);
|
||||||
R1 = EXTRACT(R0, R1.L)(X);
|
R1 = EXTRACT(R0, R1.L)(X);
|
||||||
R2 = EXTRACT(R7, R1.L)(X);
|
R2 = EXTRACT(R7, R1.L)(X);
|
||||||
R3 = EXTRACT(R7, R7.L)(X);
|
R3 = EXTRACT(R7, R7.L)(X);
|
||||||
|
|
||||||
//BITMUX ( Dreg , Dreg , A0 ) (ASR) ; /* shift right, LSB is shifted out (b) */
|
//BITMUX ( Dreg , Dreg , A0 ) (ASR) ; /* shift right, LSB is shifted out (b) */
|
||||||
BITMUX(R0, R1, A0)(ASR);
|
BITMUX(R0, R1, A0)(ASR);
|
||||||
BITMUX(R0, R2, A0)(ASR);
|
BITMUX(R0, R2, A0)(ASR);
|
||||||
BITMUX(R1, R3, A0)(ASR);
|
BITMUX(R1, R3, A0)(ASR);
|
||||||
//BITMUX(R0, R0, A0)(ASR);
|
//BITMUX(R0, R0, A0)(ASR);
|
||||||
|
|
||||||
//BITMUX ( Dreg , Dreg , A0 ) (ASL) ; /* shift left, MSB is shifted out (b) */
|
//BITMUX ( Dreg , Dreg , A0 ) (ASL) ; /* shift left, MSB is shifted out (b) */
|
||||||
//BITMUX(R0, R0, A0)(ASL);
|
//BITMUX(R0, R0, A0)(ASL);
|
||||||
BITMUX(R0, R1, A0)(ASL);
|
BITMUX(R0, R1, A0)(ASL);
|
||||||
BITMUX(R1, R2, A0)(ASL);
|
BITMUX(R1, R2, A0)(ASL);
|
||||||
|
|
||||||
//Dreg_lo = ONES Dreg ; /* (b) */
|
//Dreg_lo = ONES Dreg ; /* (b) */
|
||||||
R0.L = ONES R0;
|
R0.L = ONES R0;
|
||||||
R0.L = ONES R1;
|
R0.L = ONES R1;
|
||||||
R1.L = ONES R6;
|
R1.L = ONES R6;
|
||||||
R2.L = ONES R7;
|
R2.L = ONES R7;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,86 +1,86 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//12 CACHE CONTROL
|
//12 CACHE CONTROL
|
||||||
//
|
//
|
||||||
|
|
||||||
//PREFETCH [ Preg ] ; /* indexed (a) */
|
//PREFETCH [ Preg ] ; /* indexed (a) */
|
||||||
PREFETCH [ P0 ] ;
|
PREFETCH [ P0 ] ;
|
||||||
PREFETCH [ P1 ] ;
|
PREFETCH [ P1 ] ;
|
||||||
PREFETCH [ P2 ] ;
|
PREFETCH [ P2 ] ;
|
||||||
PREFETCH [ P3 ] ;
|
PREFETCH [ P3 ] ;
|
||||||
PREFETCH [ P4 ] ;
|
PREFETCH [ P4 ] ;
|
||||||
PREFETCH [ P5 ] ;
|
PREFETCH [ P5 ] ;
|
||||||
PREFETCH [ SP ] ;
|
PREFETCH [ SP ] ;
|
||||||
PREFETCH [ FP ] ;
|
PREFETCH [ FP ] ;
|
||||||
|
|
||||||
//PREFETCH [ Preg ++ ] ; /* indexed, post increment (a) */
|
//PREFETCH [ Preg ++ ] ; /* indexed, post increment (a) */
|
||||||
PREFETCH [ P0++ ] ;
|
PREFETCH [ P0++ ] ;
|
||||||
PREFETCH [ P1++ ] ;
|
PREFETCH [ P1++ ] ;
|
||||||
PREFETCH [ P2++ ] ;
|
PREFETCH [ P2++ ] ;
|
||||||
PREFETCH [ P3++ ] ;
|
PREFETCH [ P3++ ] ;
|
||||||
PREFETCH [ P4++ ] ;
|
PREFETCH [ P4++ ] ;
|
||||||
PREFETCH [ P5++ ] ;
|
PREFETCH [ P5++ ] ;
|
||||||
PREFETCH [ SP++ ] ;
|
PREFETCH [ SP++ ] ;
|
||||||
PREFETCH [ FP++ ] ;
|
PREFETCH [ FP++ ] ;
|
||||||
|
|
||||||
//FLUSH [ Preg ] ; /* indexed (a) */
|
//FLUSH [ Preg ] ; /* indexed (a) */
|
||||||
FLUSH [ P0 ] ;
|
FLUSH [ P0 ] ;
|
||||||
FLUSH [ P1 ] ;
|
FLUSH [ P1 ] ;
|
||||||
FLUSH [ P2 ] ;
|
FLUSH [ P2 ] ;
|
||||||
FLUSH [ P3 ] ;
|
FLUSH [ P3 ] ;
|
||||||
FLUSH [ P4 ] ;
|
FLUSH [ P4 ] ;
|
||||||
FLUSH [ P5 ] ;
|
FLUSH [ P5 ] ;
|
||||||
FLUSH [ SP ] ;
|
FLUSH [ SP ] ;
|
||||||
FLUSH [ FP ] ;
|
FLUSH [ FP ] ;
|
||||||
//FLUSH [ Preg ++ ] ; /* indexed, post increment (a) */
|
//FLUSH [ Preg ++ ] ; /* indexed, post increment (a) */
|
||||||
FLUSH [ P0++ ] ;
|
FLUSH [ P0++ ] ;
|
||||||
FLUSH [ P1++ ] ;
|
FLUSH [ P1++ ] ;
|
||||||
FLUSH [ P2++ ] ;
|
FLUSH [ P2++ ] ;
|
||||||
FLUSH [ P3++ ] ;
|
FLUSH [ P3++ ] ;
|
||||||
FLUSH [ P4++ ] ;
|
FLUSH [ P4++ ] ;
|
||||||
FLUSH [ P5++ ] ;
|
FLUSH [ P5++ ] ;
|
||||||
FLUSH [ SP++ ] ;
|
FLUSH [ SP++ ] ;
|
||||||
FLUSH [ FP++ ] ;
|
FLUSH [ FP++ ] ;
|
||||||
|
|
||||||
//FLUSHINV [ Preg ] ; /* indexed (a) */
|
//FLUSHINV [ Preg ] ; /* indexed (a) */
|
||||||
FLUSHINV [ P0 ] ;
|
FLUSHINV [ P0 ] ;
|
||||||
FLUSHINV [ P1 ] ;
|
FLUSHINV [ P1 ] ;
|
||||||
FLUSHINV [ P2 ] ;
|
FLUSHINV [ P2 ] ;
|
||||||
FLUSHINV [ P3 ] ;
|
FLUSHINV [ P3 ] ;
|
||||||
FLUSHINV [ P4 ] ;
|
FLUSHINV [ P4 ] ;
|
||||||
FLUSHINV [ P5 ] ;
|
FLUSHINV [ P5 ] ;
|
||||||
FLUSHINV [ SP ] ;
|
FLUSHINV [ SP ] ;
|
||||||
FLUSHINV [ FP ] ;
|
FLUSHINV [ FP ] ;
|
||||||
|
|
||||||
//FLUSHINV [ Preg ++ ] ; /* indexed, post increment (a) */
|
//FLUSHINV [ Preg ++ ] ; /* indexed, post increment (a) */
|
||||||
FLUSHINV [ P0++ ] ;
|
FLUSHINV [ P0++ ] ;
|
||||||
FLUSHINV [ P1++ ] ;
|
FLUSHINV [ P1++ ] ;
|
||||||
FLUSHINV [ P2++ ] ;
|
FLUSHINV [ P2++ ] ;
|
||||||
FLUSHINV [ P3++ ] ;
|
FLUSHINV [ P3++ ] ;
|
||||||
FLUSHINV [ P4++ ] ;
|
FLUSHINV [ P4++ ] ;
|
||||||
FLUSHINV [ P5++ ] ;
|
FLUSHINV [ P5++ ] ;
|
||||||
FLUSHINV [ SP++ ] ;
|
FLUSHINV [ SP++ ] ;
|
||||||
FLUSHINV [ FP++ ] ;
|
FLUSHINV [ FP++ ] ;
|
||||||
|
|
||||||
//IFLUSH [ Preg ] ; /* indexed (a) */
|
//IFLUSH [ Preg ] ; /* indexed (a) */
|
||||||
IFLUSH [ P0 ] ;
|
IFLUSH [ P0 ] ;
|
||||||
IFLUSH [ P1 ] ;
|
IFLUSH [ P1 ] ;
|
||||||
IFLUSH [ P2 ] ;
|
IFLUSH [ P2 ] ;
|
||||||
IFLUSH [ P3 ] ;
|
IFLUSH [ P3 ] ;
|
||||||
IFLUSH [ P4 ] ;
|
IFLUSH [ P4 ] ;
|
||||||
IFLUSH [ P5 ] ;
|
IFLUSH [ P5 ] ;
|
||||||
IFLUSH [ SP ] ;
|
IFLUSH [ SP ] ;
|
||||||
IFLUSH [ FP ] ;
|
IFLUSH [ FP ] ;
|
||||||
|
|
||||||
//IFLUSH [ Preg ++ ] ; /* indexed, post increment (a) */
|
//IFLUSH [ Preg ++ ] ; /* indexed, post increment (a) */
|
||||||
IFLUSH [ P0++ ] ;
|
IFLUSH [ P0++ ] ;
|
||||||
IFLUSH [ P1++ ] ;
|
IFLUSH [ P1++ ] ;
|
||||||
IFLUSH [ P2++ ] ;
|
IFLUSH [ P2++ ] ;
|
||||||
IFLUSH [ P3++ ] ;
|
IFLUSH [ P3++ ] ;
|
||||||
IFLUSH [ P4++ ] ;
|
IFLUSH [ P4++ ] ;
|
||||||
IFLUSH [ P5++ ] ;
|
IFLUSH [ P5++ ] ;
|
||||||
IFLUSH [ SP++ ] ;
|
IFLUSH [ SP++ ] ;
|
||||||
IFLUSH [ FP++ ] ;
|
IFLUSH [ FP++ ] ;
|
||||||
|
|
|
@ -1,257 +1,257 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//6 CONTROL CODE BIT MANAGEMENT
|
//6 CONTROL CODE BIT MANAGEMENT
|
||||||
//
|
//
|
||||||
|
|
||||||
//CC = Dreg == Dreg ; /* equal, register, signed (a) */
|
//CC = Dreg == Dreg ; /* equal, register, signed (a) */
|
||||||
CC = R7 == R0;
|
CC = R7 == R0;
|
||||||
CC = R6 == R1;
|
CC = R6 == R1;
|
||||||
CC = R0 == R7;
|
CC = R0 == R7;
|
||||||
|
|
||||||
//CC = Dreg == imm3 ; /* equal, immediate, signed (a) */
|
//CC = Dreg == imm3 ; /* equal, immediate, signed (a) */
|
||||||
CC = R7 == -4;
|
CC = R7 == -4;
|
||||||
CC = R7 == 3;
|
CC = R7 == 3;
|
||||||
CC = R0 == -4;
|
CC = R0 == -4;
|
||||||
CC = R0 == 3;
|
CC = R0 == 3;
|
||||||
|
|
||||||
//CC = Dreg < Dreg ; /* less than, register, signed (a) */
|
//CC = Dreg < Dreg ; /* less than, register, signed (a) */
|
||||||
CC = R7 < R0;
|
CC = R7 < R0;
|
||||||
CC = R6 < R0;
|
CC = R6 < R0;
|
||||||
CC = R7 < R1;
|
CC = R7 < R1;
|
||||||
CC = R1 < R7;
|
CC = R1 < R7;
|
||||||
CC = R0 < R6;
|
CC = R0 < R6;
|
||||||
|
|
||||||
//CC = Dreg < imm3 ; /* less than, immediate, signed (a) */
|
//CC = Dreg < imm3 ; /* less than, immediate, signed (a) */
|
||||||
CC = R7 < -4;
|
CC = R7 < -4;
|
||||||
CC = R6 < -4;
|
CC = R6 < -4;
|
||||||
CC = R7 < 3;
|
CC = R7 < 3;
|
||||||
CC = R1 < 3;
|
CC = R1 < 3;
|
||||||
|
|
||||||
//CC = Dreg <= Dreg ; /* less than or equal, register, signed (a) */
|
//CC = Dreg <= Dreg ; /* less than or equal, register, signed (a) */
|
||||||
CC = R7 <= R0;
|
CC = R7 <= R0;
|
||||||
CC = R6 <= R0;
|
CC = R6 <= R0;
|
||||||
CC = R7 <= R1;
|
CC = R7 <= R1;
|
||||||
CC = R1 <= R7;
|
CC = R1 <= R7;
|
||||||
CC = R0 <= R6;
|
CC = R0 <= R6;
|
||||||
|
|
||||||
//CC = Dreg <= imm3 ; /* less than or equal, immediate, signed (a) */
|
//CC = Dreg <= imm3 ; /* less than or equal, immediate, signed (a) */
|
||||||
CC = R7 <= -4;
|
CC = R7 <= -4;
|
||||||
CC = R6 <= -4;
|
CC = R6 <= -4;
|
||||||
CC = R7 <= 3;
|
CC = R7 <= 3;
|
||||||
CC = R1 <= 3;
|
CC = R1 <= 3;
|
||||||
|
|
||||||
//CC = Dreg < Dreg (IU) ; /* less than, register, unsigned (a) */
|
//CC = Dreg < Dreg (IU) ; /* less than, register, unsigned (a) */
|
||||||
CC = R7 < R0(IU);
|
CC = R7 < R0(IU);
|
||||||
CC = R6 < R0(IU);
|
CC = R6 < R0(IU);
|
||||||
CC = R7 < R1(IU);
|
CC = R7 < R1(IU);
|
||||||
CC = R1 < R7(IU);
|
CC = R1 < R7(IU);
|
||||||
CC = R0 < R6(IU);
|
CC = R0 < R6(IU);
|
||||||
|
|
||||||
//CC = Dreg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */
|
//CC = Dreg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */
|
||||||
CC = R7 < 0(IU);
|
CC = R7 < 0(IU);
|
||||||
CC = R6 < 0(IU);
|
CC = R6 < 0(IU);
|
||||||
CC = R7 < 7(IU);
|
CC = R7 < 7(IU);
|
||||||
CC = R1 < 7(IU);
|
CC = R1 < 7(IU);
|
||||||
//CC = Dreg <= Dreg (IU) ; /* less than or equal, register, unsigned (a) */
|
//CC = Dreg <= Dreg (IU) ; /* less than or equal, register, unsigned (a) */
|
||||||
CC = R7 <= R0(IU);
|
CC = R7 <= R0(IU);
|
||||||
CC = R6 <= R0(IU);
|
CC = R6 <= R0(IU);
|
||||||
CC = R7 <= R1(IU);
|
CC = R7 <= R1(IU);
|
||||||
CC = R1 <= R7(IU);
|
CC = R1 <= R7(IU);
|
||||||
CC = R0 <= R6(IU);
|
CC = R0 <= R6(IU);
|
||||||
|
|
||||||
|
|
||||||
//CC = Dreg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */
|
//CC = Dreg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */
|
||||||
CC = R7 <= 0(IU);
|
CC = R7 <= 0(IU);
|
||||||
CC = R6 <= 0(IU);
|
CC = R6 <= 0(IU);
|
||||||
CC = R7 <= 7(IU);
|
CC = R7 <= 7(IU);
|
||||||
CC = R1 <= 7(IU);
|
CC = R1 <= 7(IU);
|
||||||
|
|
||||||
//CC = Preg == Preg ; /* equal, register, signed (a) */
|
//CC = Preg == Preg ; /* equal, register, signed (a) */
|
||||||
CC = P5 == P0;
|
CC = P5 == P0;
|
||||||
CC = P5 == P1;
|
CC = P5 == P1;
|
||||||
CC = P0 == P2;
|
CC = P0 == P2;
|
||||||
CC = P3 == P5;
|
CC = P3 == P5;
|
||||||
|
|
||||||
//CC = Preg == imm3 ; /* equal, immediate, signed (a) */
|
//CC = Preg == imm3 ; /* equal, immediate, signed (a) */
|
||||||
CC = P5 == -4;
|
CC = P5 == -4;
|
||||||
CC = P5 == 0;
|
CC = P5 == 0;
|
||||||
CC = P5 == 3;
|
CC = P5 == 3;
|
||||||
CC = P2 == -4;
|
CC = P2 == -4;
|
||||||
CC = P2 == 0;
|
CC = P2 == 0;
|
||||||
CC = P2 == 3;
|
CC = P2 == 3;
|
||||||
|
|
||||||
//CC = Preg < Preg ; /* less than, register, signed (a) */
|
//CC = Preg < Preg ; /* less than, register, signed (a) */
|
||||||
CC = P5 < P0;
|
CC = P5 < P0;
|
||||||
CC = P5 < P1;
|
CC = P5 < P1;
|
||||||
CC = P0 < P2;
|
CC = P0 < P2;
|
||||||
CC = P3 < P5;
|
CC = P3 < P5;
|
||||||
|
|
||||||
//CC = Preg < imm3 ; /* less than, immediate, signed (a) */
|
//CC = Preg < imm3 ; /* less than, immediate, signed (a) */
|
||||||
CC = P5 < -4;
|
CC = P5 < -4;
|
||||||
CC = P5 < 0;
|
CC = P5 < 0;
|
||||||
CC = P5 < 3;
|
CC = P5 < 3;
|
||||||
CC = P2 < -4;
|
CC = P2 < -4;
|
||||||
CC = P2 < 0;
|
CC = P2 < 0;
|
||||||
CC = P2 < 3;
|
CC = P2 < 3;
|
||||||
|
|
||||||
|
|
||||||
//CC = Preg <= Preg ; /* less than or equal, register, signed (a) */
|
//CC = Preg <= Preg ; /* less than or equal, register, signed (a) */
|
||||||
CC = P5 <= P0;
|
CC = P5 <= P0;
|
||||||
CC = P5 <= P1;
|
CC = P5 <= P1;
|
||||||
CC = P0 <= P2;
|
CC = P0 <= P2;
|
||||||
CC = P3 <= P5;
|
CC = P3 <= P5;
|
||||||
|
|
||||||
//CC = Preg <= imm3 ; /* less than or equal, immediate, signed (a) */
|
//CC = Preg <= imm3 ; /* less than or equal, immediate, signed (a) */
|
||||||
CC = P5 <= -4;
|
CC = P5 <= -4;
|
||||||
CC = P5 <= 0;
|
CC = P5 <= 0;
|
||||||
CC = P5 <= 3;
|
CC = P5 <= 3;
|
||||||
CC = P2 <= -4;
|
CC = P2 <= -4;
|
||||||
CC = P2 <= 0;
|
CC = P2 <= 0;
|
||||||
CC = P2 <= 3;
|
CC = P2 <= 3;
|
||||||
|
|
||||||
//CC = Preg < Preg (IU) ; /* less than, register, unsigned (a) */
|
//CC = Preg < Preg (IU) ; /* less than, register, unsigned (a) */
|
||||||
CC = P5 < P0(IU);
|
CC = P5 < P0(IU);
|
||||||
CC = P5 < P1(IU);
|
CC = P5 < P1(IU);
|
||||||
CC = P0 < P2(IU);
|
CC = P0 < P2(IU);
|
||||||
CC = P3 < P5(IU);
|
CC = P3 < P5(IU);
|
||||||
|
|
||||||
//CC = Preg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */
|
//CC = Preg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */
|
||||||
CC = P5 < 0(IU);
|
CC = P5 < 0(IU);
|
||||||
CC = P5 < 7(IU);
|
CC = P5 < 7(IU);
|
||||||
CC = P2 < 0(IU);
|
CC = P2 < 0(IU);
|
||||||
CC = P2 < 7(IU);
|
CC = P2 < 7(IU);
|
||||||
|
|
||||||
//CC = Preg <= Preg (IU) ; /* less than or equal, register, unsigned (a) */
|
//CC = Preg <= Preg (IU) ; /* less than or equal, register, unsigned (a) */
|
||||||
CC = P5 <= P0(IU);
|
CC = P5 <= P0(IU);
|
||||||
CC = P5 <= P1(IU);
|
CC = P5 <= P1(IU);
|
||||||
CC = P0 <= P2(IU);
|
CC = P0 <= P2(IU);
|
||||||
CC = P3 <= P5(IU);
|
CC = P3 <= P5(IU);
|
||||||
|
|
||||||
//CC = Preg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */
|
//CC = Preg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */
|
||||||
CC = P5 <= 0(IU);
|
CC = P5 <= 0(IU);
|
||||||
CC = P5 <= 7(IU);
|
CC = P5 <= 7(IU);
|
||||||
CC = P2 <= 0(IU);
|
CC = P2 <= 0(IU);
|
||||||
CC = P2 <= 7(IU);
|
CC = P2 <= 7(IU);
|
||||||
|
|
||||||
CC = A0 == A1 ; /* equal, signed (a) */
|
CC = A0 == A1 ; /* equal, signed (a) */
|
||||||
CC = A0 < A1 ; /* less than, Accumulator, signed (a) */
|
CC = A0 < A1 ; /* less than, Accumulator, signed (a) */
|
||||||
CC = A0 <= A1 ; /* less than or equal, Accumulator, signed (a) */
|
CC = A0 <= A1 ; /* less than or equal, Accumulator, signed (a) */
|
||||||
|
|
||||||
//Dreg = CC ; /* CC into 32-bit data register, zero-extended (a) */
|
//Dreg = CC ; /* CC into 32-bit data register, zero-extended (a) */
|
||||||
R7 = CC;
|
R7 = CC;
|
||||||
R0 = CC;
|
R0 = CC;
|
||||||
|
|
||||||
//statbit = CC ; /* status bit equals CC (a) */
|
//statbit = CC ; /* status bit equals CC (a) */
|
||||||
AZ = CC;
|
AZ = CC;
|
||||||
AN = CC;
|
AN = CC;
|
||||||
AC0= CC;
|
AC0= CC;
|
||||||
AC1= CC;
|
AC1= CC;
|
||||||
//V = CC;
|
//V = CC;
|
||||||
VS = CC;
|
VS = CC;
|
||||||
AV0= CC;
|
AV0= CC;
|
||||||
AV0S= CC;
|
AV0S= CC;
|
||||||
AV1 = CC;
|
AV1 = CC;
|
||||||
AV1S= CC;
|
AV1S= CC;
|
||||||
AQ = CC;
|
AQ = CC;
|
||||||
//statbit |= CC ; /* status bit equals status bit OR CC (a) */
|
//statbit |= CC ; /* status bit equals status bit OR CC (a) */
|
||||||
AZ |= CC;
|
AZ |= CC;
|
||||||
AN |= CC;
|
AN |= CC;
|
||||||
AC0|= CC;
|
AC0|= CC;
|
||||||
AC1|= CC;
|
AC1|= CC;
|
||||||
//V |= CC;
|
//V |= CC;
|
||||||
VS |= CC;
|
VS |= CC;
|
||||||
AV0|= CC;
|
AV0|= CC;
|
||||||
AV0S|= CC;
|
AV0S|= CC;
|
||||||
AV1 |= CC;
|
AV1 |= CC;
|
||||||
AV1S|= CC;
|
AV1S|= CC;
|
||||||
AQ |= CC;
|
AQ |= CC;
|
||||||
|
|
||||||
//statbit &= CC ; /* status bit equals status bit AND CC (a) */
|
//statbit &= CC ; /* status bit equals status bit AND CC (a) */
|
||||||
AZ &= CC;
|
AZ &= CC;
|
||||||
AN &= CC;
|
AN &= CC;
|
||||||
AC0&= CC;
|
AC0&= CC;
|
||||||
AC1&= CC;
|
AC1&= CC;
|
||||||
//V &= CC;
|
//V &= CC;
|
||||||
VS &= CC;
|
VS &= CC;
|
||||||
AV0&= CC;
|
AV0&= CC;
|
||||||
AV0S&= CC;
|
AV0S&= CC;
|
||||||
AV1 &= CC;
|
AV1 &= CC;
|
||||||
AV1S&= CC;
|
AV1S&= CC;
|
||||||
AQ &= CC;
|
AQ &= CC;
|
||||||
|
|
||||||
//statbit ^= CC ; /* status bit equals status bit XOR CC (a) */
|
//statbit ^= CC ; /* status bit equals status bit XOR CC (a) */
|
||||||
|
|
||||||
AZ ^= CC;
|
AZ ^= CC;
|
||||||
AN ^= CC;
|
AN ^= CC;
|
||||||
AC0^= CC;
|
AC0^= CC;
|
||||||
AC1^= CC;
|
AC1^= CC;
|
||||||
//V ^= CC;
|
//V ^= CC;
|
||||||
VS ^= CC;
|
VS ^= CC;
|
||||||
AV0^= CC;
|
AV0^= CC;
|
||||||
AV0S^= CC;
|
AV0S^= CC;
|
||||||
AV1 ^= CC;
|
AV1 ^= CC;
|
||||||
AV1S^= CC;
|
AV1S^= CC;
|
||||||
AQ ^= CC;
|
AQ ^= CC;
|
||||||
//CC = Dreg ; /* CC set if the register is non-zero (a) */
|
//CC = Dreg ; /* CC set if the register is non-zero (a) */
|
||||||
CC = R7;
|
CC = R7;
|
||||||
CC = R6;
|
CC = R6;
|
||||||
CC = R1;
|
CC = R1;
|
||||||
CC = R0;
|
CC = R0;
|
||||||
|
|
||||||
|
|
||||||
//CC = statbit ; /* CC equals status bit (a) */
|
//CC = statbit ; /* CC equals status bit (a) */
|
||||||
CC = AZ;
|
CC = AZ;
|
||||||
CC = AN;
|
CC = AN;
|
||||||
CC = AC0;
|
CC = AC0;
|
||||||
CC = AC1;
|
CC = AC1;
|
||||||
//CC = V;
|
//CC = V;
|
||||||
CC = VS;
|
CC = VS;
|
||||||
CC = AV0;
|
CC = AV0;
|
||||||
CC = AV0S;
|
CC = AV0S;
|
||||||
CC = AV1;
|
CC = AV1;
|
||||||
CC = AV1S;
|
CC = AV1S;
|
||||||
CC = AQ;
|
CC = AQ;
|
||||||
|
|
||||||
//CC |= statbit ; /* CC equals CC OR status bit (a) */
|
//CC |= statbit ; /* CC equals CC OR status bit (a) */
|
||||||
CC |= AZ;
|
CC |= AZ;
|
||||||
CC |= AN;
|
CC |= AN;
|
||||||
CC |= AC0;
|
CC |= AC0;
|
||||||
CC |= AC1;
|
CC |= AC1;
|
||||||
//CC |= V;
|
//CC |= V;
|
||||||
CC |= VS;
|
CC |= VS;
|
||||||
CC |= AV0;
|
CC |= AV0;
|
||||||
CC |= AV0S;
|
CC |= AV0S;
|
||||||
CC |= AV1;
|
CC |= AV1;
|
||||||
CC |= AV1S;
|
CC |= AV1S;
|
||||||
CC |= AQ;
|
CC |= AQ;
|
||||||
|
|
||||||
//CC &= statbit ; /* CC equals CC AND status bit (a) */
|
//CC &= statbit ; /* CC equals CC AND status bit (a) */
|
||||||
CC &= AZ;
|
CC &= AZ;
|
||||||
CC &= AN;
|
CC &= AN;
|
||||||
CC &= AC0;
|
CC &= AC0;
|
||||||
CC &= AC1;
|
CC &= AC1;
|
||||||
//CC &= V;
|
//CC &= V;
|
||||||
CC &= VS;
|
CC &= VS;
|
||||||
CC &= AV0;
|
CC &= AV0;
|
||||||
CC &= AV0S;
|
CC &= AV0S;
|
||||||
CC &= AV1;
|
CC &= AV1;
|
||||||
CC &= AV1S;
|
CC &= AV1S;
|
||||||
CC &= AQ;
|
CC &= AQ;
|
||||||
|
|
||||||
//CC ^= statbit ; /* CC equals CC XOR status bit (a) */
|
//CC ^= statbit ; /* CC equals CC XOR status bit (a) */
|
||||||
CC ^= AZ;
|
CC ^= AZ;
|
||||||
CC ^= AN;
|
CC ^= AN;
|
||||||
CC ^= AC0;
|
CC ^= AC0;
|
||||||
CC ^= AC1;
|
CC ^= AC1;
|
||||||
//CC ^= V;
|
//CC ^= V;
|
||||||
CC ^= VS;
|
CC ^= VS;
|
||||||
CC ^= AV0;
|
CC ^= AV0;
|
||||||
CC ^= AV0S;
|
CC ^= AV0S;
|
||||||
CC ^= AV1;
|
CC ^= AV1;
|
||||||
CC ^= AV1S;
|
CC ^= AV1S;
|
||||||
CC ^= AQ;
|
CC ^= AQ;
|
||||||
|
|
||||||
CC = ! CC ; /* (a) */
|
CC = ! CC ; /* (a) */
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//11 EXTERNAL EVENT MANAGEMENT
|
//11 EXTERNAL EVENT MANAGEMENT
|
||||||
//
|
//
|
||||||
IDLE ; /* (a) */
|
IDLE ; /* (a) */
|
||||||
CSYNC ; /* (a) */
|
CSYNC ; /* (a) */
|
||||||
SSYNC ; /* (a) */
|
SSYNC ; /* (a) */
|
||||||
EMUEXCPT ; /* (a) */
|
EMUEXCPT ; /* (a) */
|
||||||
|
|
||||||
//CLI Dreg ; /* previous state of IMASK moved to Dreg (a) */
|
//CLI Dreg ; /* previous state of IMASK moved to Dreg (a) */
|
||||||
CLI R0;
|
CLI R0;
|
||||||
CLI R1;
|
CLI R1;
|
||||||
CLI R2;
|
CLI R2;
|
||||||
|
|
||||||
//STI Dreg ; /* previous state of IMASK restored from Dreg (a) */
|
//STI Dreg ; /* previous state of IMASK restored from Dreg (a) */
|
||||||
STI R0;
|
STI R0;
|
||||||
STI R1;
|
STI R1;
|
||||||
STI R2;
|
STI R2;
|
||||||
|
|
||||||
//RAISE uimm4 ; /* (a) */
|
//RAISE uimm4 ; /* (a) */
|
||||||
RAISE 0;
|
RAISE 0;
|
||||||
RAISE 4;
|
RAISE 4;
|
||||||
RAISE 15;
|
RAISE 15;
|
||||||
|
|
||||||
//EXCPT uimm4 ; /* (a) */
|
//EXCPT uimm4 ; /* (a) */
|
||||||
EXCPT 0;
|
EXCPT 0;
|
||||||
EXCPT 1;
|
EXCPT 1;
|
||||||
EXCPT 15;
|
EXCPT 15;
|
||||||
|
|
||||||
//TESTSET ( Preg ) ; /* (a) */
|
//TESTSET ( Preg ) ; /* (a) */
|
||||||
TESTSET (P0);
|
TESTSET (P0);
|
||||||
TESTSET (P1);
|
TESTSET (P1);
|
||||||
TESTSET (P2);
|
TESTSET (P2);
|
||||||
//TESTSET (SP);
|
//TESTSET (SP);
|
||||||
//TESTSET (FP);
|
//TESTSET (FP);
|
||||||
|
|
||||||
NOP ; /* (a) */
|
NOP ; /* (a) */
|
||||||
MNOP ; /* (b) */
|
MNOP ; /* (b) */
|
||||||
|
|
|
@ -1,69 +1,69 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//7 LOGICAL OPERATIONS
|
//7 LOGICAL OPERATIONS
|
||||||
//
|
//
|
||||||
|
|
||||||
//Dreg = Dreg & Dreg ; /* (a) */
|
//Dreg = Dreg & Dreg ; /* (a) */
|
||||||
|
|
||||||
R7 = R7 & R7;
|
R7 = R7 & R7;
|
||||||
R7 = R7 & R0;
|
R7 = R7 & R0;
|
||||||
r7 = R7 & R1;
|
r7 = R7 & R1;
|
||||||
|
|
||||||
R1 = R7 & R7;
|
R1 = R7 & R7;
|
||||||
R2 = R7 & R0;
|
R2 = R7 & R0;
|
||||||
r3 = R7 & R1;
|
r3 = R7 & R1;
|
||||||
|
|
||||||
//Dreg = ~ Dreg ; /* (a)*/
|
//Dreg = ~ Dreg ; /* (a)*/
|
||||||
|
|
||||||
R7 = ~R7;
|
R7 = ~R7;
|
||||||
R7 = ~R0;
|
R7 = ~R0;
|
||||||
R0 = ~R7;
|
R0 = ~R7;
|
||||||
R0 = ~R2;
|
R0 = ~R2;
|
||||||
|
|
||||||
//Dreg = Dreg | Dreg ; /* (a) */
|
//Dreg = Dreg | Dreg ; /* (a) */
|
||||||
|
|
||||||
R7 = R7 | R7;
|
R7 = R7 | R7;
|
||||||
R7 = R7 | R1;
|
R7 = R7 | R1;
|
||||||
R7 = R7 | R0;
|
R7 = R7 | R0;
|
||||||
|
|
||||||
R1 = R7 | R7;
|
R1 = R7 | R7;
|
||||||
R2 = R7 | R1;
|
R2 = R7 | R1;
|
||||||
R3 = R7 | R0;
|
R3 = R7 | R0;
|
||||||
|
|
||||||
//Dreg = Dreg ^ Dreg ; /* (a) */
|
//Dreg = Dreg ^ Dreg ; /* (a) */
|
||||||
|
|
||||||
R7 = R7 ^ R7;
|
R7 = R7 ^ R7;
|
||||||
R7 = R7 ^ R1;
|
R7 = R7 ^ R1;
|
||||||
R7 = R7 ^ R0;
|
R7 = R7 ^ R0;
|
||||||
|
|
||||||
R1 = R7 ^ R7;
|
R1 = R7 ^ R7;
|
||||||
R2 = R7 ^ R1;
|
R2 = R7 ^ R1;
|
||||||
R3 = R7 ^ R0;
|
R3 = R7 ^ R0;
|
||||||
|
|
||||||
//Dreg_lo = CC = BXORSHIFT ( A0, Dreg ) ; /* (b) */
|
//Dreg_lo = CC = BXORSHIFT ( A0, Dreg ) ; /* (b) */
|
||||||
R0.L = CC = BXORSHIFT(A0, R0);
|
R0.L = CC = BXORSHIFT(A0, R0);
|
||||||
R0.L = CC = BXORSHIFT(A0, R1);
|
R0.L = CC = BXORSHIFT(A0, R1);
|
||||||
|
|
||||||
R3.L = CC = BXORSHIFT(A0, R0);
|
R3.L = CC = BXORSHIFT(A0, R0);
|
||||||
R3.L = CC = BXORSHIFT(A0, R1);
|
R3.L = CC = BXORSHIFT(A0, R1);
|
||||||
|
|
||||||
//Dreg_lo = CC = BXOR ( A0, Dreg ) ; /* (b) */
|
//Dreg_lo = CC = BXOR ( A0, Dreg ) ; /* (b) */
|
||||||
R0.L = CC = BXOR(A0, R0);
|
R0.L = CC = BXOR(A0, R0);
|
||||||
R0.L = CC = BXOR(A0, R1);
|
R0.L = CC = BXOR(A0, R1);
|
||||||
|
|
||||||
R3.L = CC = BXOR(A0, R0);
|
R3.L = CC = BXOR(A0, R0);
|
||||||
R3.L = CC = BXOR(A0, R1);
|
R3.L = CC = BXOR(A0, R1);
|
||||||
|
|
||||||
//Dreg_lo = CC = BXOR ( A0, A1, CC ) ; /* (b) */
|
//Dreg_lo = CC = BXOR ( A0, A1, CC ) ; /* (b) */
|
||||||
R0.L = CC = BXOR(A0, A1, CC);
|
R0.L = CC = BXOR(A0, A1, CC);
|
||||||
R0.L = CC = BXOR(A0, A1, CC);
|
R0.L = CC = BXOR(A0, A1, CC);
|
||||||
|
|
||||||
R3.L = CC = BXOR(A0, A1, CC);
|
R3.L = CC = BXOR(A0, A1, CC);
|
||||||
R3.L = CC = BXOR(A0, A1, CC);
|
R3.L = CC = BXOR(A0, A1, CC);
|
||||||
|
|
||||||
A0 = BXORSHIFT ( A0, A1, CC ) ; /* (b) */
|
A0 = BXORSHIFT ( A0, A1, CC ) ; /* (b) */
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,141 +1,141 @@
|
||||||
.section .text;
|
.section .text;
|
||||||
R5 = Deposit (r3, r2) || I0 += 2;
|
R5 = Deposit (r3, r2) || I0 += 2;
|
||||||
r0 = DEPOSIT (r7, R6) (X) || I1 += 4;
|
r0 = DEPOSIT (r7, R6) (X) || I1 += 4;
|
||||||
r4 = extract (r2, r1.L) (z) || I2 -= M0;
|
r4 = extract (r2, r1.L) (z) || I2 -= M0;
|
||||||
R2 = EXTRACT (r0, r2.l) (Z) || i3 += m1;
|
R2 = EXTRACT (r0, r2.l) (Z) || i3 += m1;
|
||||||
|
|
||||||
r7 = ExtracT (r3, r4.L) (X) || I3 += M1 (breV);
|
r7 = ExtracT (r3, r4.L) (X) || I3 += M1 (breV);
|
||||||
r5 = ExtRACt (R6, R1.L) (x) || i0 -= 2;
|
r5 = ExtRACt (R6, R1.L) (x) || i0 -= 2;
|
||||||
|
|
||||||
BITMUX(R1, R0, A0) (ASR) || I1 -= 4;
|
BITMUX(R1, R0, A0) (ASR) || I1 -= 4;
|
||||||
Bitmux (r2, R3, a0) (aSr) || I0 += 2;
|
Bitmux (r2, R3, a0) (aSr) || I0 += 2;
|
||||||
|
|
||||||
bitmux (r4, r5, a0) (asl) || Sp = [P0];
|
bitmux (r4, r5, a0) (asl) || Sp = [P0];
|
||||||
BiTMux (R7, r6, a0) (ASl) || FP = [P1++];
|
BiTMux (R7, r6, a0) (ASl) || FP = [P1++];
|
||||||
|
|
||||||
R5.l = ones r0 || P0 = [fp--];
|
R5.l = ones r0 || P0 = [fp--];
|
||||||
r7.L = Ones R2 || p1 = [P5 + 24];
|
r7.L = Ones R2 || p1 = [P5 + 24];
|
||||||
|
|
||||||
a0 = abs a0 || p2 = [Sp+60] || r0 = [i0];
|
a0 = abs a0 || p2 = [Sp+60] || r0 = [i0];
|
||||||
A0 = ABS A1 || P3 = [FP-60] || R1 = [I1++M0];
|
A0 = ABS A1 || P3 = [FP-60] || R1 = [I1++M0];
|
||||||
A1 = Abs a0 || P4 = [fp-4] || r2 = [i1++];
|
A1 = Abs a0 || P4 = [fp-4] || r2 = [i1++];
|
||||||
a1 = aBs A1 || fp = [sp] || r3 = [I2--];
|
a1 = aBs A1 || fp = [sp] || r3 = [I2--];
|
||||||
A1 = abs a1, a0 = ABS A0 || R4=[p5+56] || r0.h = w [I0];
|
A1 = abs a1, a0 = ABS A0 || R4=[p5+56] || r0.h = w [I0];
|
||||||
r0 = abs r2 || B[sp] = r0 || R1.H = W[I1++];
|
r0 = abs r2 || B[sp] = r0 || R1.H = W[I1++];
|
||||||
|
|
||||||
r4.L = R2.h + r0.L (s) || b [fp] = r0 || r2.H = w [i2--];
|
r4.L = R2.h + r0.L (s) || b [fp] = r0 || r2.H = w [i2--];
|
||||||
r5.H = R1.H + R1.L (S) || b [p0] = r0 || R3.l = W[I3];
|
r5.H = R1.H + R1.L (S) || b [p0] = r0 || R3.l = W[I3];
|
||||||
r6.L = R6.L + r5.l (NS) || b [p1] = r0 || r4.L =w [i3++];
|
r6.L = R6.L + r5.l (NS) || b [p1] = r0 || r4.L =w [i3++];
|
||||||
|
|
||||||
r4.l = r0 + r1 (RND20) || b [p2] = r0 || R5.l = W [i2--];
|
r4.l = r0 + r1 (RND20) || b [p2] = r0 || R5.l = W [i2--];
|
||||||
R3.H = r5 + r0 (rnd20) || r0 = b [p0] (x) || [i0] = R6;
|
R3.H = r5 + r0 (rnd20) || r0 = b [p0] (x) || [i0] = R6;
|
||||||
r1.L = r7 - R5 (rND20) || r0 = b [p4] (z) || [I1++] = R7;
|
r1.L = r7 - R5 (rND20) || r0 = b [p4] (z) || [I1++] = R7;
|
||||||
|
|
||||||
r2.L = R0 + R1 (rnd12) || r1 = b [sp] (x) || [I2--]= r7;
|
r2.L = R0 + R1 (rnd12) || r1 = b [sp] (x) || [I2--]= r7;
|
||||||
r7.H = r7 + r6 (RND12) || r1 = b [p0] (x)|| [I3++m1]=r6;
|
r7.H = r7 + r6 (RND12) || r1 = b [p0] (x)|| [I3++m1]=r6;
|
||||||
r5.l = r3 - R2 (rNd12) || r1 = b [p1] (z) || W [ i3 ] = r5.h;
|
r5.l = r3 - R2 (rNd12) || r1 = b [p1] (z) || W [ i3 ] = r5.h;
|
||||||
r2.h = R1 - R2 (Rnd12) || r1 = b [p2] (z) || w [I2++] = R4.H;
|
r2.h = R1 - R2 (Rnd12) || r1 = b [p2] (z) || w [I2++] = R4.H;
|
||||||
|
|
||||||
|
|
||||||
r6.L = EXPADJ (r5, r4.l) || r1 = b [p3] (z) || W[I1--]=r3.h;
|
r6.L = EXPADJ (r5, r4.l) || r1 = b [p3] (z) || W[I1--]=r3.h;
|
||||||
R5.l = ExpAdj (r0.h, r1.l) || r1 = b [p4] (z) || w[i0]=r2.l;
|
R5.l = ExpAdj (r0.h, r1.l) || r1 = b [p4] (z) || w[i0]=r2.l;
|
||||||
R4.L = expadj (R3, R5.L) (V) || r1 = b [p5] (z) || W [I0++] = R1.L;
|
R4.L = expadj (R3, R5.L) (V) || r1 = b [p5] (z) || W [I0++] = R1.L;
|
||||||
|
|
||||||
R6 = MAX (r5, R2) || r2 = b [p0] (x) || W[i1--]=R0.l;
|
R6 = MAX (r5, R2) || r2 = b [p0] (x) || W[i1--]=R0.l;
|
||||||
r0 = max (r1, r3) || b [p1] = r2 || NoP;
|
r0 = max (r1, r3) || b [p1] = r2 || NoP;
|
||||||
|
|
||||||
r5 = mIn (r2, R3) || b [p2] = r2 || r0 = [i1++];
|
r5 = mIn (r2, R3) || b [p2] = r2 || r0 = [i1++];
|
||||||
R4 = Min (r7, R0) || b [p3] = r2 || r1 = [i1++];
|
R4 = Min (r7, R0) || b [p3] = r2 || r1 = [i1++];
|
||||||
|
|
||||||
|
|
||||||
A0 -= A1 || b [p4] = r2 || r2 = [i1++];
|
A0 -= A1 || b [p4] = r2 || r2 = [i1++];
|
||||||
a0 -= a1 (w32) || b [p5] = r2 || r3 = [i1++];
|
a0 -= a1 (w32) || b [p5] = r2 || r3 = [i1++];
|
||||||
|
|
||||||
a0 += a1 || b [sp] = r2 || r4 = [i1++];
|
a0 += a1 || b [sp] = r2 || r4 = [i1++];
|
||||||
A0 += A1 (w32) || b [fp] = r2 || r5 = [i1++];
|
A0 += A1 (w32) || b [fp] = r2 || r5 = [i1++];
|
||||||
r7 = ( a0 += a1) || b [sp] = r3 || r6 = [i1++];
|
r7 = ( a0 += a1) || b [sp] = r3 || r6 = [i1++];
|
||||||
r6.l = (A0 += a1) || b [fp] = r3 || r7 = [i1++];
|
r6.l = (A0 += a1) || b [fp] = r3 || r7 = [i1++];
|
||||||
R0.H = (a0 += A1) || b [p0] = r3 || r7 = [i0++];
|
R0.H = (a0 += A1) || b [p0] = r3 || r7 = [i0++];
|
||||||
|
|
||||||
|
|
||||||
R0.l = r1.h * r2.l || b [p1] = r3 || r1 = [i0++];
|
R0.l = r1.h * r2.l || b [p1] = r3 || r1 = [i0++];
|
||||||
r1.L = r5.H * r0.H (s2rnd) || b [p2] = r3 || r2 = [i0++];
|
r1.L = r5.H * r0.H (s2rnd) || b [p2] = r3 || r2 = [i0++];
|
||||||
r7.l = r3.l * r3.H (FU) || b [p3] = r3 || r3 = [i0++];
|
r7.l = r3.l * r3.H (FU) || b [p3] = r3 || r3 = [i0++];
|
||||||
r4 = r2.H * r5.H (iSS2) || b [p4] = r3 || r0 = [i0++];
|
r4 = r2.H * r5.H (iSS2) || b [p4] = r3 || r0 = [i0++];
|
||||||
r0 = r1.l * r3.l (is) || b [p5] = r3 || r5 = [i0++];
|
r0 = r1.l * r3.l (is) || b [p5] = r3 || r5 = [i0++];
|
||||||
r6 = R5.H * r0.l || b [fp] = r4 || r7 = [i0++];
|
r6 = R5.H * r0.l || b [fp] = r4 || r7 = [i0++];
|
||||||
|
|
||||||
r2.h = r7.l * r6.H (M, iu) || b [sp] = r4 || r6 = [i0++];
|
r2.h = r7.l * r6.H (M, iu) || b [sp] = r4 || r6 = [i0++];
|
||||||
r3.H = r5.H * r0.L || r4 = b [p0] (x) || [I0++M0] = R0;
|
r3.H = r5.H * r0.L || r4 = b [p0] (x) || [I0++M0] = R0;
|
||||||
R0.H = r1.L * r1.H (M) || r4 = b [p1] (x) || [i0++M0] = R1;
|
R0.H = r1.L * r1.H (M) || r4 = b [p1] (x) || [i0++M0] = R1;
|
||||||
r1 = r7.H * r6.L (M, is) || r4 = b [p2] (x) || [i0++M0] = R2;
|
r1 = r7.H * r6.L (M, is) || r4 = b [p2] (x) || [i0++M0] = R2;
|
||||||
R5 = r0.l * r2.h || r4 = b [p3] (x) || [i0++m0] = R3;
|
R5 = r0.l * r2.h || r4 = b [p3] (x) || [i0++m0] = R3;
|
||||||
r3 = r6.H * r0.H (m) || r4 = b [p4] (z) || [i0++m0] = R4;
|
r3 = r6.H * r0.H (m) || r4 = b [p4] (z) || [i0++m0] = R4;
|
||||||
|
|
||||||
a0 = r5.l * R7.H (w32) || r4 = b [p5] (z) || [i0++m0] = R5;
|
a0 = r5.l * R7.H (w32) || r4 = b [p5] (z) || [i0++m0] = R5;
|
||||||
a0 = r0.h * r0.l || r5 = b [p0] (x) || [i0++M0] =R6;
|
a0 = r0.h * r0.l || r5 = b [p0] (x) || [i0++M0] =R6;
|
||||||
A0 += R2.L * r3.H (FU) || r5 = b [p1] (z) || [i0++M0]=R7;
|
A0 += R2.L * r3.H (FU) || r5 = b [p1] (z) || [i0++M0]=R7;
|
||||||
A0 += r4.h * r1.L || r5 = b [p2] (z) || [I1++M1] = R7;
|
A0 += r4.h * r1.L || r5 = b [p2] (z) || [I1++M1] = R7;
|
||||||
a0 -= r7.l * r6.H (Is) || r5 = b [p3] (x) || [i1++m1] = r6;
|
a0 -= r7.l * r6.H (Is) || r5 = b [p3] (x) || [i1++m1] = r6;
|
||||||
A0 -= R5.H * r2.H || r5 = b [p4] (z) || [i1++m1]=r5;
|
A0 -= R5.H * r2.H || r5 = b [p4] (z) || [i1++m1]=r5;
|
||||||
|
|
||||||
a1 = r1.L * r0.H (M) || r5 = b [p5] (x) || [i1++m1]=r4;
|
a1 = r1.L * r0.H (M) || r5 = b [p5] (x) || [i1++m1]=r4;
|
||||||
A1 = r2.h * r0.L || r5 = b [sp] (z) || [i1++m1] = r3;
|
A1 = r2.h * r0.L || r5 = b [sp] (z) || [i1++m1] = r3;
|
||||||
A1 = R7.H * R6.L (M, W32) || r5 = b [fp] (x) || [i1++m1] =r2;
|
A1 = R7.H * R6.L (M, W32) || r5 = b [fp] (x) || [i1++m1] =r2;
|
||||||
|
|
||||||
a1 += r3.l * r2.l (fu) || r0.l = w [i0] || [i1++m1] = r1;
|
a1 += r3.l * r2.l (fu) || r0.l = w [i0] || [i1++m1] = r1;
|
||||||
a1 += R6.H * r1.L || r1.l = w [i0] || [i1++m1] = R0;
|
a1 += R6.H * r1.L || r1.l = w [i0] || [i1++m1] = R0;
|
||||||
A1 -= r0.L * R3.H (is) || r2.l = w [i0] || [i2++m2] = R0;
|
A1 -= r0.L * R3.H (is) || r2.l = w [i0] || [i2++m2] = R0;
|
||||||
a1 -= r2.l * r7.h || r3.l = w [i0] || [I2++M2] =R1;
|
a1 -= r2.l * r7.h || r3.l = w [i0] || [I2++M2] =R1;
|
||||||
|
|
||||||
r7.l = (a0 = r6.H * r5.L) || r4.l = w [i0] || [i2++m2] = r2;
|
r7.l = (a0 = r6.H * r5.L) || r4.l = w [i0] || [i2++m2] = r2;
|
||||||
r0.L = (A0 = r1.h * R2.l) (tfu) || r5.l = w [i0] || [I2++m2] = R3;
|
r0.L = (A0 = r1.h * R2.l) (tfu) || r5.l = w [i0] || [I2++m2] = R3;
|
||||||
R2.L = (a0 += r5.L * r4.L) || r6.l = w [i0] || [I2++m2] = R4;
|
R2.L = (a0 += r5.L * r4.L) || r6.l = w [i0] || [I2++m2] = R4;
|
||||||
r3.l = (A0 += r7.H * r6.h) (T) || r7.l = w [i0] || [ i2 ++ m2] = R5;
|
r3.l = (A0 += r7.H * r6.h) (T) || r7.l = w [i0] || [ i2 ++ m2] = R5;
|
||||||
r0.l = (a0 -= r3.h * r2.h) || r7.l = w [i1++] || [i2++m2] = r6;
|
r0.l = (a0 -= r3.h * r2.h) || r7.l = w [i1++] || [i2++m2] = r6;
|
||||||
r1.l = (a0 -= r5.L * r4.L) (iH) || r6.l = w [i1++] || [i2++m2] = R7;
|
r1.l = (a0 -= r5.L * r4.L) (iH) || r6.l = w [i1++] || [i2++m2] = R7;
|
||||||
|
|
||||||
r1.H = (a1 = r1.l * R0.H) || r2.l = w [i1++] || [i3++m3] = R7;
|
r1.H = (a1 = r1.l * R0.H) || r2.l = w [i1++] || [i3++m3] = R7;
|
||||||
r2.h = (A1 = r0.H * r3.L) (M, Iss2) || r3.l = w [i1++] || [i3++m3] = r6;
|
r2.h = (A1 = r0.H * r3.L) (M, Iss2) || r3.l = w [i1++] || [i3++m3] = r6;
|
||||||
R6.H = (a1 += r7.l * r7.H) || r4.l = w [i1++] || [i3++m3] = R5;
|
R6.H = (a1 += r7.l * r7.H) || r4.l = w [i1++] || [i3++m3] = R5;
|
||||||
r7.h = (a1 += R2.L * R3.L) (S2rnd) || r5.l = w [i1++] || [i3++m3] = r4;
|
r7.h = (a1 += R2.L * R3.L) (S2rnd) || r5.l = w [i1++] || [i3++m3] = r4;
|
||||||
r6.H = (A1 -= R4.h * r2.h) || r6.l = w [i1++] || [i3++m3] = r3;
|
r6.H = (A1 -= R4.h * r2.h) || r6.l = w [i1++] || [i3++m3] = r3;
|
||||||
r5.h = (a1 -= r3.H * r7.L) (M, tFu) || r7.l = w [i1++] || [i3++m3] = r2;
|
r5.h = (a1 -= r3.H * r7.L) (M, tFu) || r7.l = w [i1++] || [i3++m3] = r2;
|
||||||
|
|
||||||
R0 = (A0 = R1.L * R2.L) || R1.L = W [I2--] || [i3++m3] = r1;
|
R0 = (A0 = R1.L * R2.L) || R1.L = W [I2--] || [i3++m3] = r1;
|
||||||
R2 = (A0 = r1.l * r2.l) (is) || R1.L = W [I2--] || [i3++m3] = r0;
|
R2 = (A0 = r1.l * r2.l) (is) || R1.L = W [I2--] || [i3++m3] = r0;
|
||||||
r4 = (a0 += r7.h * r6.L) || R2.L = W [I2--] || r0.h = w[i0];
|
r4 = (a0 += r7.h * r6.L) || R2.L = W [I2--] || r0.h = w[i0];
|
||||||
r6 = (A0 += R5.L * r3.h) (s2RND) || R3.L = W [I2--] || R1.H = w[i1];
|
r6 = (A0 += R5.L * r3.h) (s2RND) || R3.L = W [I2--] || R1.H = w[i1];
|
||||||
R6 = (a0 -= r2.h * r7.l) || R4.L = W [I2--] || r2.h = w[i2];
|
R6 = (a0 -= r2.h * r7.l) || R4.L = W [I2--] || r2.h = w[i2];
|
||||||
r4 = (A0 -= R0.L * r6.H) (FU) || R5.L = W [I2--] || r3.h = w[i3];
|
r4 = (A0 -= R0.L * r6.H) (FU) || R5.L = W [I2--] || r3.h = w[i3];
|
||||||
|
|
||||||
r7 = (a1 = r0.h * r1.l) || R6.L = W [I2--] || r4.h = w[i3];
|
r7 = (a1 = r0.h * r1.l) || R6.L = W [I2--] || r4.h = w[i3];
|
||||||
R5 = (A1 = r2.H * r3.H) (M, fu) || R7.L = W [I2--] || r4.h = W[i2];
|
R5 = (A1 = r2.H * r3.H) (M, fu) || R7.L = W [I2--] || r4.h = W[i2];
|
||||||
R3 = (A1 += r7.l * r5.l) || w [p0] = r0.L || r6.h = W[i1];
|
R3 = (A1 += r7.l * r5.l) || w [p0] = r0.L || r6.h = W[i1];
|
||||||
r1 = (a1 += r2.h * r7.h) (iss2) || w [p0] = r1.L || r7.h = w[i0];
|
r1 = (a1 += r2.h * r7.h) (iss2) || w [p0] = r1.L || r7.h = w[i0];
|
||||||
r3 = (A1 -= r0.l * R0.H) || w [p0] = r2.L || r7.L = w[I0++];
|
r3 = (A1 -= r0.l * R0.H) || w [p0] = r2.L || r7.L = w[I0++];
|
||||||
R5 = (a1 -= R2.l * R7.h) (m, is) || w [p0] = r3.L || R6.L = W [i1++];
|
R5 = (a1 -= R2.l * R7.h) (m, is) || w [p0] = r3.L || R6.L = W [i1++];
|
||||||
|
|
||||||
r7 = -R2(s) || w [p0] = r4.L || r5.l = w[i2++];
|
r7 = -R2(s) || w [p0] = r4.L || r5.l = w[i2++];
|
||||||
A0 = -A0 || w [p0] = r5.L || r4.l = w[i3++];
|
A0 = -A0 || w [p0] = r5.L || r4.l = w[i3++];
|
||||||
a0 = -a1 || w [p0] = r6.L || r3.L = w [i3--];
|
a0 = -a1 || w [p0] = r6.L || r3.L = w [i3--];
|
||||||
A1 = -A0 || w [p0] = r7.L || r2.l = W [i1++];
|
A1 = -A0 || w [p0] = r7.L || r2.l = W [i1++];
|
||||||
a1 = -A1 || w [p1] = r0 || r1.L = w [i2--];
|
a1 = -A1 || w [p1] = r0 || r1.L = w [i2--];
|
||||||
a1 = -a1, a0 = -a0 || w [p1] = r1 || r0.l = w [i1--];
|
a1 = -a1, a0 = -a0 || w [p1] = r1 || r0.l = w [i1--];
|
||||||
|
|
||||||
R5.L = r3 (rnd) || w [p1] = r2 || r0 = [i0++m3];
|
R5.L = r3 (rnd) || w [p1] = r2 || r0 = [i0++m3];
|
||||||
r6.H = r0 (RND) || w [p1] = r3 || r1 = [i1++m2];
|
r6.H = r0 (RND) || w [p1] = r3 || r1 = [i1++m2];
|
||||||
|
|
||||||
A0 = A0 (S) || w [p1] = r4 || r2 = [i2++m1];
|
A0 = A0 (S) || w [p1] = r4 || r2 = [i2++m1];
|
||||||
a1 = a1 (s) || w [p1] = r5 || r3 = [i3++m0];
|
a1 = a1 (s) || w [p1] = r5 || r3 = [i3++m0];
|
||||||
A1 = a1 (S), a0 = A0 (s) || r6 = w [p1] (z) || [i0] = r0;
|
A1 = a1 (S), a0 = A0 (s) || r6 = w [p1] (z) || [i0] = r0;
|
||||||
|
|
||||||
R5.l = signbits r0 || r7 = w [p1] (z) || [i1] = R0;
|
R5.l = signbits r0 || r7 = w [p1] (z) || [i1] = R0;
|
||||||
r0.L = SIGNbits r7.H || r1 = w [p2++](x) || [I2] = r0;
|
r0.L = SIGNbits r7.H || r1 = w [p2++](x) || [I2] = r0;
|
||||||
r3.l = signBits A0 || r2 = w [p2++] (x) || [I3] = R0;
|
r3.l = signBits A0 || r2 = w [p2++] (x) || [I3] = R0;
|
||||||
r7.L = SIGNBITS a1 || r3 = w [p2++] (z) || [i0] = R1;
|
r7.L = SIGNBITS a1 || r3 = w [p2++] (z) || [i0] = R1;
|
||||||
|
|
||||||
r5.l = R6.H - R7.h (s) || r4 = w [p2++] (x) || [i1] = r1;
|
r5.l = R6.H - R7.h (s) || r4 = w [p2++] (x) || [i1] = r1;
|
||||||
r0.H = r3.l - r3.h (NS) || r5 = w [p2++] (x) || [i2] = r2;
|
r0.H = r3.l - r3.h (NS) || r5 = w [p2++] (x) || [i2] = r2;
|
||||||
|
|
||||||
R1 = [I0++] || R2 = ABS R2 || NOP;
|
R1 = [I0++] || R2 = ABS R2 || NOP;
|
||||||
|
|
|
@ -1,80 +1,80 @@
|
||||||
.section .text;
|
.section .text;
|
||||||
A0 = A1 || P0 = [sp+20];
|
A0 = A1 || P0 = [sp+20];
|
||||||
a1 = a0 || P0 = [p5+24];
|
a1 = a0 || P0 = [p5+24];
|
||||||
a0 = R0 || P0 = [P4+28];
|
a0 = R0 || P0 = [P4+28];
|
||||||
A1 = r1 || P0 = [P3+32];
|
A1 = r1 || P0 = [P3+32];
|
||||||
|
|
||||||
R4 = A0 (fu) || P0 = [p3+36];
|
R4 = A0 (fu) || P0 = [p3+36];
|
||||||
r5 = A1 (ISS2) || P0 = [P3+40];
|
r5 = A1 (ISS2) || P0 = [P3+40];
|
||||||
R6 = a0 || P0 = [P4+44];
|
R6 = a0 || P0 = [P4+44];
|
||||||
R7 = A1 || P0 = [P4+48];
|
R7 = A1 || P0 = [P4+48];
|
||||||
R6 = A0, R7 = a1 || P0 = [P4+52];
|
R6 = A0, R7 = a1 || P0 = [P4+52];
|
||||||
r1 = a1, r0 = a0 (fu) || P0 = [P4+56];
|
r1 = a1, r0 = a0 (fu) || P0 = [P4+56];
|
||||||
|
|
||||||
A0.X = r5.l || p0 = [p4+60];
|
A0.X = r5.l || p0 = [p4+60];
|
||||||
a1.X = r2.L || r0 = [i0 ++ m0];
|
a1.X = r2.L || r0 = [i0 ++ m0];
|
||||||
r0.l = a0.x || r1 = [i0 ++ m1];
|
r0.l = a0.x || r1 = [i0 ++ m1];
|
||||||
R7.l = A1.X || r0 = [i0 ++ m2];
|
R7.l = A1.X || r0 = [i0 ++ m2];
|
||||||
A0.L = r3.l || r0 = [i0 ++ m3];
|
A0.L = r3.l || r0 = [i0 ++ m3];
|
||||||
a1.l = r4.l || r0 = [i1 ++ m3];
|
a1.l = r4.l || r0 = [i1 ++ m3];
|
||||||
A0.h = r6.H || r0 = [i1 ++ m2];
|
A0.h = r6.H || r0 = [i1 ++ m2];
|
||||||
A1.H = r5.h || r0 = [i1 ++ m1];
|
A1.H = r5.h || r0 = [i1 ++ m1];
|
||||||
r0.l = A0 (iu) || r4 = [i1 ++ m0];
|
r0.l = A0 (iu) || r4 = [i1 ++ m0];
|
||||||
R1.H = A1 (s2rnd) || r0 = [i2 ++ m0];
|
R1.H = A1 (s2rnd) || r0 = [i2 ++ m0];
|
||||||
r1.h = a1 || r0 = [i2 ++ m1];
|
r1.h = a1 || r0 = [i2 ++ m1];
|
||||||
R2.l = A0, r2.H = A1 (IH) || r0 = [i2 ++ m2];
|
R2.l = A0, r2.H = A1 (IH) || r0 = [i2 ++ m2];
|
||||||
R2.l = A0, r2.H = A1 || r0 = [i2 ++ m3];
|
R2.l = A0, r2.H = A1 || r0 = [i2 ++ m3];
|
||||||
r0.H = A1, R0.L = a0 (t) || r5 = [i3 ++ m0];
|
r0.H = A1, R0.L = a0 (t) || r5 = [i3 ++ m0];
|
||||||
r0.H = A1, R0.L = a0 (fu) || r5 = [i3 ++ m1];
|
r0.H = A1, R0.L = a0 (fu) || r5 = [i3 ++ m1];
|
||||||
r0.H = A1, R0.L = a0 (is) || r5 = [i3 ++ m2];
|
r0.H = A1, R0.L = a0 (is) || r5 = [i3 ++ m2];
|
||||||
r0.H = A1, R0.L = a0 || r5 = [i3 ++ m3];
|
r0.H = A1, R0.L = a0 || r5 = [i3 ++ m3];
|
||||||
|
|
||||||
A0 = A0 >> 31 || r0 = [fp - 32];
|
A0 = A0 >> 31 || r0 = [fp - 32];
|
||||||
a0 = a0 << 31 || r0 = [fp - 28];
|
a0 = a0 << 31 || r0 = [fp - 28];
|
||||||
a1 = a1 >> 0 || r0 = [fp - 24];
|
a1 = a1 >> 0 || r0 = [fp - 24];
|
||||||
A1 = A1 << 0 || r0 = [fp - 20];
|
A1 = A1 << 0 || r0 = [fp - 20];
|
||||||
r7 = r5 << 31 (s) || r0 = [fp - 16];
|
r7 = r5 << 31 (s) || r0 = [fp - 16];
|
||||||
R3 = r2 >>> 22 || r0 = [fp - 12];
|
R3 = r2 >>> 22 || r0 = [fp - 12];
|
||||||
r1.L = R2.H << 15 (S) || r0 = [fp - 8];
|
r1.L = R2.H << 15 (S) || r0 = [fp - 8];
|
||||||
r5.h = r2.l >>> 2 || r0 = [fp - 4];
|
r5.h = r2.l >>> 2 || r0 = [fp - 4];
|
||||||
|
|
||||||
r3.l = Ashift r4.h by r2.l || r0 = [fp - 100];
|
r3.l = Ashift r4.h by r2.l || r0 = [fp - 100];
|
||||||
R7.H = ASHIFT R7.L by R0.L (S) || r0 = [fp - 104];
|
R7.H = ASHIFT R7.L by R0.L (S) || r0 = [fp - 104];
|
||||||
r7.h = ashift r7.l by r0.l (s) || r0 = [fp - 108];
|
r7.h = ashift r7.l by r0.l (s) || r0 = [fp - 108];
|
||||||
r6 = AShiFT R5 by R2.L || r0 = [fp - 112];
|
r6 = AShiFT R5 by R2.L || r0 = [fp - 112];
|
||||||
R0 = Ashift R4 by r1.l (s) || r3 = [fp - 116];
|
R0 = Ashift R4 by r1.l (s) || r3 = [fp - 116];
|
||||||
r2 = ashift r6 BY r3.L (S) || r0 = [fp - 120];
|
r2 = ashift r6 BY r3.L (S) || r0 = [fp - 120];
|
||||||
A0 = Ashift a0 by r1.l || r0 = [fp - 124];
|
A0 = Ashift a0 by r1.l || r0 = [fp - 124];
|
||||||
a1 = ASHIFT a1 by r0.L || r0 = [fp - 128];
|
a1 = ASHIFT a1 by r0.L || r0 = [fp - 128];
|
||||||
|
|
||||||
r1.H = r2.l >> 15 || R5 = W [P1--] (z);
|
r1.H = r2.l >> 15 || R5 = W [P1--] (z);
|
||||||
r7.l = r0.L << 0 || R5 = W [P2] (z);
|
r7.l = r0.L << 0 || R5 = W [P2] (z);
|
||||||
r5 = r5 >> 31 || R7 = W [P2++] (z);
|
r5 = r5 >> 31 || R7 = W [P2++] (z);
|
||||||
r0 = r0 << 12 || R5 = W [P2--] (z);
|
r0 = r0 << 12 || R5 = W [P2--] (z);
|
||||||
A0 = A0 >> 1 || R5 = W [P2+0] (z);
|
A0 = A0 >> 1 || R5 = W [P2+0] (z);
|
||||||
A0 = A0 << 0 || R5 = W [P2+2] (z);
|
A0 = A0 << 0 || R5 = W [P2+2] (z);
|
||||||
a1 = A1 << 31 || R5 = W [P2+4] (z);
|
a1 = A1 << 31 || R5 = W [P2+4] (z);
|
||||||
a1 = a1 >> 16 || R5 = W [P2+30] (z);
|
a1 = a1 >> 16 || R5 = W [P2+30] (z);
|
||||||
|
|
||||||
R1.H = LShift r2.h by r0.l || R5 = W [P2+24] (z);
|
R1.H = LShift r2.h by r0.l || R5 = W [P2+24] (z);
|
||||||
r0.l = LSHIFT r0.h by r1.l || R5 = W [P2+22] (z);
|
r0.l = LSHIFT r0.h by r1.l || R5 = W [P2+22] (z);
|
||||||
r7.L = lshift r6.L BY r2.l || R5 = W [P2+20] (z);
|
r7.L = lshift r6.L BY r2.l || R5 = W [P2+20] (z);
|
||||||
r5 = LShIft R4 bY r3.L || R4 = W [P2+18] (z);
|
r5 = LShIft R4 bY r3.L || R4 = W [P2+18] (z);
|
||||||
A0 = Lshift a0 By R6.L || R5 = W [P2+16] (z);
|
A0 = Lshift a0 By R6.L || R5 = W [P2+16] (z);
|
||||||
A1 = LsHIFt a1 by r5.l || R5 = W [P2+14] (z);
|
A1 = LsHIFt a1 by r5.l || R5 = W [P2+14] (z);
|
||||||
|
|
||||||
r7 = ROT r7 by -32 || R5 = W [P2+12] (z);
|
r7 = ROT r7 by -32 || R5 = W [P2+12] (z);
|
||||||
R6 = Rot r7 by -31 || R5 = W [P2+10] (z);
|
R6 = Rot r7 by -31 || R5 = W [P2+10] (z);
|
||||||
R5 = RoT R7 by 31 || R6 = W [P2+8] (z);
|
R5 = RoT R7 by 31 || R6 = W [P2+8] (z);
|
||||||
R4 = Rot r7 by 30 || R5 = W [P2+6] (z);
|
R4 = Rot r7 by 30 || R5 = W [P2+6] (z);
|
||||||
a0 = rot A0 by 0 || R5 = W [P3] (z);
|
a0 = rot A0 by 0 || R5 = W [P3] (z);
|
||||||
A0 = ROT a0 BY 10 || R5 = W [P3++] (z);
|
A0 = ROT a0 BY 10 || R5 = W [P3++] (z);
|
||||||
A1 = ROT A1 by -20 || R5 = W [P3--] (z);
|
A1 = ROT A1 by -20 || R5 = W [P3--] (z);
|
||||||
A1 = ROT a1 By -32 || R5 = W [P4] (z);
|
A1 = ROT a1 By -32 || R5 = W [P4] (z);
|
||||||
|
|
||||||
r0 = rot r1 by r2.L || R5 = W [P4++] (z);
|
r0 = rot r1 by r2.L || R5 = W [P4++] (z);
|
||||||
R0 = Rot R4 BY R3.L || R5 = W [P4--] (z);
|
R0 = Rot R4 BY R3.L || R5 = W [P4--] (z);
|
||||||
A0 = ROT A0 by r7.l || R5 = W [P5] (z);
|
A0 = ROT A0 by r7.l || R5 = W [P5] (z);
|
||||||
A1 = rot a1 bY r6.l || R5 = W [P5++] (z);
|
A1 = rot a1 bY r6.l || R5 = W [P5++] (z);
|
||||||
|
|
||||||
NOp || R5 = W [P5--] (z);
|
NOp || R5 = W [P5--] (z);
|
||||||
|
|
|
@ -1,95 +1,95 @@
|
||||||
.section .text;
|
.section .text;
|
||||||
r4.h = r4.l = Sign (R1.h) * R5.h + Sign(r1.L) * R5.L|| [p0] = P0;
|
r4.h = r4.l = Sign (R1.h) * R5.h + Sign(r1.L) * R5.L|| [p0] = P0;
|
||||||
|
|
||||||
R7 = Vit_Max (R5, r2) (ASL)|| [p0++] = P0;
|
R7 = Vit_Max (R5, r2) (ASL)|| [p0++] = P0;
|
||||||
r0 = VIT_MAX (r0, r6) (asr)|| [p0--] = P0;
|
r0 = VIT_MAX (r0, r6) (asr)|| [p0--] = P0;
|
||||||
r5.l = vit_max (R3) (asL)|| [p0+4] = P0;
|
r5.l = vit_max (R3) (asL)|| [p0+4] = P0;
|
||||||
r2.L = VIT_Max (r2) (Asr)|| [p0+8] = P0;
|
r2.L = VIT_Max (r2) (Asr)|| [p0+8] = P0;
|
||||||
|
|
||||||
R5 = ABS R5 (V)|| [p0+60] = P0;
|
R5 = ABS R5 (V)|| [p0+60] = P0;
|
||||||
r2 = abs r0 (v)|| [p0+56] = P0;
|
r2 = abs r0 (v)|| [p0+56] = P0;
|
||||||
|
|
||||||
R5 = r3 +|+ R2|| [p0+52] = P0;
|
R5 = r3 +|+ R2|| [p0+52] = P0;
|
||||||
r5 = r3 +|+ r2 (Sco)|| [p1] = P0;
|
r5 = r3 +|+ r2 (Sco)|| [p1] = P0;
|
||||||
r7 = R0 -|+ r6|| [p1++] = P0;
|
r7 = R0 -|+ r6|| [p1++] = P0;
|
||||||
r2 = R1 -|+ R3 (S)|| [p1--] = P0;
|
r2 = R1 -|+ R3 (S)|| [p1--] = P0;
|
||||||
R4 = R0 +|- R2|| [p1+48] = P0;
|
R4 = R0 +|- R2|| [p1+48] = P0;
|
||||||
R5 = r1 +|- r2 (CO)|| [p1+44] = P0;
|
R5 = r1 +|- r2 (CO)|| [p1+44] = P0;
|
||||||
r6 = r3 -|- R4|| [p1+40] = P0;
|
r6 = r3 -|- R4|| [p1+40] = P0;
|
||||||
r7 = R5 -|- R6 (co)|| [p2] = P0;
|
r7 = R5 -|- R6 (co)|| [p2] = P0;
|
||||||
|
|
||||||
r5 = r4 +|+ r3, R7 = r4 -|- r3 (Sco, ASR)|| [p2++] = P0;
|
r5 = r4 +|+ r3, R7 = r4 -|- r3 (Sco, ASR)|| [p2++] = P0;
|
||||||
R0 = R3 +|+ r6, R1 = R3 -|- R6 (ASL)|| [p2--] = P0;
|
R0 = R3 +|+ r6, R1 = R3 -|- R6 (ASL)|| [p2--] = P0;
|
||||||
R7 = R1 +|- R2, R6 = R1 -|+ R2 (S)|| [p2+36] = P0;
|
R7 = R1 +|- R2, R6 = R1 -|+ R2 (S)|| [p2+36] = P0;
|
||||||
r1 = r2 +|- r3, r5 = r2 -|+ r3|| [p2+32] = P0;
|
r1 = r2 +|- r3, r5 = r2 -|+ r3|| [p2+32] = P0;
|
||||||
|
|
||||||
R5 = R0 + R1, R6 = R0 - R1|| [p3] = P0;
|
R5 = R0 + R1, R6 = R0 - R1|| [p3] = P0;
|
||||||
r0 = r7 + r1, r3 = r7 - r1 (s)|| [p3++] = P0;
|
r0 = r7 + r1, r3 = r7 - r1 (s)|| [p3++] = P0;
|
||||||
|
|
||||||
r7 = A1 + A0, r5 = A1 - A0|| [p3--] = P0;
|
r7 = A1 + A0, r5 = A1 - A0|| [p3--] = P0;
|
||||||
r3 = a0 + a1, r6 = a0 - a1 (s)|| [p3+28] = P0;
|
r3 = a0 + a1, r6 = a0 - a1 (s)|| [p3+28] = P0;
|
||||||
|
|
||||||
R1 = R3 >>> 15 (V)|| [p3+24] = P0;
|
R1 = R3 >>> 15 (V)|| [p3+24] = P0;
|
||||||
r4 = r0 >>> 4 (v)|| [p4] = P0;
|
r4 = r0 >>> 4 (v)|| [p4] = P0;
|
||||||
r5 = r0 << 0 (v,s)|| [p4++] = P0;
|
r5 = r0 << 0 (v,s)|| [p4++] = P0;
|
||||||
r2 = r2 << 12 (v, S)|| [p4--] = P0;
|
r2 = r2 << 12 (v, S)|| [p4--] = P0;
|
||||||
|
|
||||||
R7 = ASHIFT R5 BY R2.L (V)|| [p4+24] = P0;
|
R7 = ASHIFT R5 BY R2.L (V)|| [p4+24] = P0;
|
||||||
r0 = Ashift r2 by r0.L (v, s)|| [p4+20] = P0;
|
r0 = Ashift r2 by r0.L (v, s)|| [p4+20] = P0;
|
||||||
|
|
||||||
R5 = r2 >> 15 (V)|| [p4+16] = P0;
|
R5 = r2 >> 15 (V)|| [p4+16] = P0;
|
||||||
r0 = R1 << 2 (v)|| [p4+12] = P0;
|
r0 = R1 << 2 (v)|| [p4+12] = P0;
|
||||||
|
|
||||||
R4 = lshift r1 by r2.L (v)|| [p5] = P0;
|
R4 = lshift r1 by r2.L (v)|| [p5] = P0;
|
||||||
|
|
||||||
R6 = MAX (R0, R1) (V)|| [p5++] = P0;
|
R6 = MAX (R0, R1) (V)|| [p5++] = P0;
|
||||||
r0 = min (r2, r7) (v)|| [p5--] = P0;
|
r0 = min (r2, r7) (v)|| [p5--] = P0;
|
||||||
|
|
||||||
r2.h = r7.l * r6.h, r2.l = r7.h * r6.h|| [p5+8] = P0;
|
r2.h = r7.l * r6.h, r2.l = r7.h * r6.h|| [p5+8] = P0;
|
||||||
R4.L = R1.L * R0.L, R4.H = R1.H * R0.H|| [p5+4] = P0;
|
R4.L = R1.L * R0.L, R4.H = R1.H * R0.H|| [p5+4] = P0;
|
||||||
R0.h = R3.H * r2.l, r0.l=r3.l * r2.l|| [p5] = P0;
|
R0.h = R3.H * r2.l, r0.l=r3.l * r2.l|| [p5] = P0;
|
||||||
r5.h = r3.h * r2.h (M), r5.l = r3.L * r2.L (fu)|| [sp] = P0;
|
r5.h = r3.h * r2.h (M), r5.l = r3.L * r2.L (fu)|| [sp] = P0;
|
||||||
R0 = r4.l * r7.l, r1 = r4.h * r7.h (s2rnd)|| [sp++] = P0;
|
R0 = r4.l * r7.l, r1 = r4.h * r7.h (s2rnd)|| [sp++] = P0;
|
||||||
R7 = R2.l * r5.l, r6 = r2.h * r5.h|| [sp--] = P0;
|
R7 = R2.l * r5.l, r6 = r2.h * r5.h|| [sp--] = P0;
|
||||||
R0.L = R7.L * R6.L, R0.H = R7.H * R6.H (ISS2)|| [sp+60] = P0;
|
R0.L = R7.L * R6.L, R0.H = R7.H * R6.H (ISS2)|| [sp+60] = P0;
|
||||||
r3.h = r0.h * r1.h, r3.l = r0.l * r1.l (is)|| [fp] = P0;
|
r3.h = r0.h * r1.h, r3.l = r0.l * r1.l (is)|| [fp] = P0;
|
||||||
|
|
||||||
a1 = r2.l * r3.h, a0 = r2.h * R3.H|| [fp++] = P0;
|
a1 = r2.l * r3.h, a0 = r2.h * R3.H|| [fp++] = P0;
|
||||||
A0 = R1.l * R0.L, A1 += R1.h * R0.h|| [fp--] = P0;
|
A0 = R1.l * R0.L, A1 += R1.h * R0.h|| [fp--] = P0;
|
||||||
A1 = R5.h * R7.H, A0 += r5.L * r7.l (w32)|| [fp+0] = P0;
|
A1 = R5.h * R7.H, A0 += r5.L * r7.l (w32)|| [fp+0] = P0;
|
||||||
a1 += r0.H * r1.H, A0 = R0.L * R1.l (is)|| [fp+60] = P0;
|
a1 += r0.H * r1.H, A0 = R0.L * R1.l (is)|| [fp+60] = P0;
|
||||||
a1 = r3.h * r4.h (m), a0 += r3.l * R4.L (FU)|| [p0] = P1;
|
a1 = r3.h * r4.h (m), a0 += r3.l * R4.L (FU)|| [p0] = P1;
|
||||||
A1 += r4.H * R4.L, a0 -= r4.h * r4.h|| [p0] = P2;
|
A1 += r4.H * R4.L, a0 -= r4.h * r4.h|| [p0] = P2;
|
||||||
|
|
||||||
r0.l = (a0 += R7.l * R6.L), R0.H = (A1 += R7.H * R6.H) (Iss2)|| [p0] = P3;
|
r0.l = (a0 += R7.l * R6.L), R0.H = (A1 += R7.H * R6.H) (Iss2)|| [p0] = P3;
|
||||||
r2.H = A1, r2.l = (a0 += r0.L * r1.L) (s2rnd)|| [p0] = P4;
|
r2.H = A1, r2.l = (a0 += r0.L * r1.L) (s2rnd)|| [p0] = P4;
|
||||||
r7.h = (a1 = r2.h * r1.h), a0 += r2.l * r1.l|| [p0] = P5;
|
r7.h = (a1 = r2.h * r1.h), a0 += r2.l * r1.l|| [p0] = P5;
|
||||||
R2.H = (A1 = R7.L * R6.H), R2.L = (A0 = R7.H * R6.h)|| [p0] = fp;
|
R2.H = (A1 = R7.L * R6.H), R2.L = (A0 = R7.H * R6.h)|| [p0] = fp;
|
||||||
r6.L = (A0 = R3.L * r2.L), R6.H = (A1 += R3.H * R2.H)|| [p0] = sp;
|
r6.L = (A0 = R3.L * r2.L), R6.H = (A1 += R3.H * R2.H)|| [p0] = sp;
|
||||||
R7.h = (a1 += r6.h * r5.l), r7.l = (a0=r6.h * r5.h)|| [p0] = r1;
|
R7.h = (a1 += r6.h * r5.l), r7.l = (a0=r6.h * r5.h)|| [p0] = r1;
|
||||||
r0.h = (A1 = r7.h * R4.l) (M), R0.l = (a0 += r7.l * r4.l)|| [p0++] = r2;
|
r0.h = (A1 = r7.h * R4.l) (M), R0.l = (a0 += r7.l * r4.l)|| [p0++] = r2;
|
||||||
R5.H = (a1 = r3.h * r2.h) (m), r5.l= (a0 += r3.l * r2.l) (fu)|| [p1--] = r3;
|
R5.H = (a1 = r3.h * r2.h) (m), r5.l= (a0 += r3.l * r2.l) (fu)|| [p1--] = r3;
|
||||||
r0.h = (A1 += R3.h * R2.h), R0.L = ( A0 = R3.L * R2.L) (is)|| [i0] = r0;
|
r0.h = (A1 += R3.h * R2.h), R0.L = ( A0 = R3.L * R2.L) (is)|| [i0] = r0;
|
||||||
|
|
||||||
R3 = (A1 = R6.H * R7.H) (M), A0 -= R6.L * R7.L|| [i0++] = r1;
|
R3 = (A1 = R6.H * R7.H) (M), A0 -= R6.L * R7.L|| [i0++] = r1;
|
||||||
r1 = (a1 = r7.l * r4.l) (m), r0 = (a0 += r7.h * r4.h)|| [i0--] = r2;
|
r1 = (a1 = r7.l * r4.l) (m), r0 = (a0 += r7.h * r4.h)|| [i0--] = r2;
|
||||||
R0 = (a0 += r7.l * r6.l), r1 = (a1+= r7.h * r6.h) (ISS2)|| [i1] = r3;
|
R0 = (a0 += r7.l * r6.l), r1 = (a1+= r7.h * r6.h) (ISS2)|| [i1] = r3;
|
||||||
r4 = (a0 = r6.l * r7.l), r5 = (a1 += r6.h * r7.h)|| [i1++] = r3;
|
r4 = (a0 = r6.l * r7.l), r5 = (a1 += r6.h * r7.h)|| [i1++] = r3;
|
||||||
R7 = (A1 += r3.h * r5.H), R6 = (A0 -= r3.l * r5.l)|| [i1--] = r3;
|
R7 = (A1 += r3.h * r5.H), R6 = (A0 -= r3.l * r5.l)|| [i1--] = r3;
|
||||||
r5 = (a1 -= r6.h * r7.h), a0 += r6.l * r7.l|| [i2] = r0;
|
r5 = (a1 -= r6.h * r7.h), a0 += r6.l * r7.l|| [i2] = r0;
|
||||||
R3 = (A1 = r6.h * R7.h), R2 = (A0 = R6.l * r7.l)|| [i2++] = r0;
|
R3 = (A1 = r6.h * R7.h), R2 = (A0 = R6.l * r7.l)|| [i2++] = r0;
|
||||||
R5 = (A1 = r3.h * r7.h) (M), r4 = (A0 += R3.l * r7.l) (fu)|| [i2--] = R0;
|
R5 = (A1 = r3.h * r7.h) (M), r4 = (A0 += R3.l * r7.l) (fu)|| [i2--] = R0;
|
||||||
R3 = a1, r2 = (a0 += r0.l *r1.l) (s2rnd)|| [i3] = R7;
|
R3 = a1, r2 = (a0 += r0.l *r1.l) (s2rnd)|| [i3] = R7;
|
||||||
r1 = (a1 += r3.h * r2.h), r0 = (a0 = r3.l * r2.l) (is)|| [i3++] = R7;
|
r1 = (a1 += r3.h * r2.h), r0 = (a0 = r3.l * r2.l) (is)|| [i3++] = R7;
|
||||||
|
|
||||||
R0 = - R1 (V)|| [i3--] = R6;
|
R0 = - R1 (V)|| [i3--] = R6;
|
||||||
r7 = - r2 (v)|| [p0++p1] = R0;
|
r7 = - r2 (v)|| [p0++p1] = R0;
|
||||||
|
|
||||||
R7 = Pack (r0.h, r1.l)|| [p0++p1] = R3;
|
R7 = Pack (r0.h, r1.l)|| [p0++p1] = R3;
|
||||||
r6 = PACK (r1.H, r6.H)|| [p0++p2] = r0;
|
r6 = PACK (r1.H, r6.H)|| [p0++p2] = r0;
|
||||||
R5 = pack (R2.L, R2.H)|| [p0++p3] = r4;
|
R5 = pack (R2.L, R2.H)|| [p0++p3] = r4;
|
||||||
|
|
||||||
(R0, R1) = search R2 (lt)|| r2 = [p0+4];
|
(R0, R1) = search R2 (lt)|| r2 = [p0+4];
|
||||||
(r6, r7) = Search r0 (LE)|| r5 = [p0--];
|
(r6, r7) = Search r0 (LE)|| r5 = [p0--];
|
||||||
(r3, r6) = SEARCH r1 (Gt)|| r0 = [p0+20];
|
(r3, r6) = SEARCH r1 (Gt)|| r0 = [p0+20];
|
||||||
(r4, R5) = sEARch r3 (gE)|| r1 = [p0++];
|
(r4, R5) = sEARch r3 (gE)|| r1 = [p0++];
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
.section .text;
|
.section .text;
|
||||||
R7 = Align8 (r5, r2) || [i0] = r0;
|
R7 = Align8 (r5, r2) || [i0] = r0;
|
||||||
R5 = ALIGN16 (R0, R1) || [i0++] = r0;
|
R5 = ALIGN16 (R0, R1) || [i0++] = r0;
|
||||||
r2 = ALIGN24 (r5, r0) || [i0--] = r0;
|
r2 = ALIGN24 (r5, r0) || [i0--] = r0;
|
||||||
|
|
||||||
DISAlgnExcpt || [i1] = r0;
|
DISAlgnExcpt || [i1] = r0;
|
||||||
|
|
||||||
R5 = Byteop3p (r1:0, r3:2) (lO)
|
R5 = Byteop3p (r1:0, r3:2) (lO)
|
||||||
|| [i1++] = r0;
|
|| [i1++] = r0;
|
||||||
R0 = BYTEOP3P (R1:0, R3:2) (HI) || // comment test
|
R0 = BYTEOP3P (R1:0, R3:2) (HI) || // comment test
|
||||||
[i1--] = r0;
|
[i1--] = r0;
|
||||||
R1 = byteop3p (r1:0, r3:2) (LO, r) || [i2] = r0;
|
R1 = byteop3p (r1:0, r3:2) (LO, r) || [i2] = r0;
|
||||||
r2 = ByteOp3P (r1:0, R3:2) (hi, R) || [i2++] = r0;
|
r2 = ByteOp3P (r1:0, R3:2) (hi, R) || [i2++] = r0;
|
||||||
|
|
||||||
R5 = A1.l + A1.h, R2 = a0.l + a0.h || [i2--] = r0;
|
R5 = A1.l + A1.h, R2 = a0.l + a0.h || [i2--] = r0;
|
||||||
|
|
||||||
(r2, r3) = BYTEOP16P (R1:0, R3:2) || [i3] = r0;
|
(r2, r3) = BYTEOP16P (R1:0, R3:2) || [i3] = r0;
|
||||||
(R6, R0) = byteop16p (r1:0, r3:2) (r) || [i3++] = r0;
|
(R6, R0) = byteop16p (r1:0, r3:2) (r) || [i3++] = r0;
|
||||||
|
|
||||||
R7 = BYTEOP1P (R1:0, R3:2) (t) || [i3--] = r0;
|
R7 = BYTEOP1P (R1:0, R3:2) (t) || [i3--] = r0;
|
||||||
r2 = byteop1p (r1:0, r3:2) (t) || [p0] = r0;
|
r2 = byteop1p (r1:0, r3:2) (t) || [p0] = r0;
|
||||||
R3 = ByteOp1P (r1:0, R3:2) (R) || [p0++] = r0;
|
R3 = ByteOp1P (r1:0, R3:2) (R) || [p0++] = r0;
|
||||||
r7 = byteOP1P (R1:0, r3:2) (T, r) || [p0--] = r0;
|
r7 = byteOP1P (R1:0, r3:2) (T, r) || [p0--] = r0;
|
||||||
|
|
||||||
R0 = BYTEOP2P (R1:0, R3:2) (RNDL) || [p1] = r0;
|
R0 = BYTEOP2P (R1:0, R3:2) (RNDL) || [p1] = r0;
|
||||||
r1 = byteop2p (r1:0, r3:2) (rndh) || [p1++] = r0;
|
r1 = byteop2p (r1:0, r3:2) (rndh) || [p1++] = r0;
|
||||||
R2 = Byteop2p (R1:0, R3:2) (tL) || [p1--] = r0;
|
R2 = Byteop2p (R1:0, R3:2) (tL) || [p1--] = r0;
|
||||||
R3 = Byteop2p (r1:0, r3:2) (TH) || [p2] = r0;
|
R3 = Byteop2p (r1:0, r3:2) (TH) || [p2] = r0;
|
||||||
r4 = ByTEOP2P (r1:0, R3:2) (Rndl, R) || [p2++] = r0;
|
r4 = ByTEOP2P (r1:0, R3:2) (Rndl, R) || [p2++] = r0;
|
||||||
R5 = byTeOp2p (R1:0, r3:2) (rndH, r) || [p2--] = r0;
|
R5 = byTeOp2p (R1:0, r3:2) (rndH, r) || [p2--] = r0;
|
||||||
r6 = BYTEop2p (r1:0, r3:2) (tl, R) || [p3] = r0;
|
r6 = BYTEop2p (r1:0, r3:2) (tl, R) || [p3] = r0;
|
||||||
R7 = byteop2p (r1:0, R3:2) (TH, r) || [p3++] = r0;
|
R7 = byteop2p (r1:0, R3:2) (TH, r) || [p3++] = r0;
|
||||||
|
|
||||||
R5 = BytePack (R0, R3) || [p3--] = r0;
|
R5 = BytePack (R0, R3) || [p3--] = r0;
|
||||||
|
|
||||||
(R6, R2) = ByteOp16M (r1:0, r3:2) || [p4] = r0;
|
(R6, R2) = ByteOp16M (r1:0, r3:2) || [p4] = r0;
|
||||||
(r0, r5) = byteop16m (R1:0, R3:2) (r) || [p4++] = r0;
|
(r0, r5) = byteop16m (R1:0, R3:2) (r) || [p4++] = r0;
|
||||||
|
|
||||||
saa (r1:0, r3:2) || [p4--] = r0;
|
saa (r1:0, r3:2) || [p4--] = r0;
|
||||||
SAA (R1:0, R3:2) (r) || [p5] = r0;
|
SAA (R1:0, R3:2) (r) || [p5] = r0;
|
||||||
|
|
||||||
(R7, R2) = byteunpack R1:0 || [p5++] = r0;
|
(R7, R2) = byteunpack R1:0 || [p5++] = r0;
|
||||||
(R6, R4) = BYTEUNPACK r3:2 (R) || [p5--] = r0;
|
(R6, R4) = BYTEUNPACK r3:2 (R) || [p5--] = r0;
|
||||||
|
|
|
@ -1,290 +1,290 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//9 SHIFT/ROTATE OPERATIONS
|
//9 SHIFT/ROTATE OPERATIONS
|
||||||
//
|
//
|
||||||
|
|
||||||
//Preg = ( Preg + Preg ) << 1 ; /* dest_reg = (dest_reg + src_reg) x 2 (a) */
|
//Preg = ( Preg + Preg ) << 1 ; /* dest_reg = (dest_reg + src_reg) x 2 (a) */
|
||||||
P0 = (P0+P0)<<1;
|
P0 = (P0+P0)<<1;
|
||||||
P0 = (P0+P1)<<1;
|
P0 = (P0+P1)<<1;
|
||||||
P2 = (P2+P0)<<1;
|
P2 = (P2+P0)<<1;
|
||||||
P1 = (P1+P2)<<1;
|
P1 = (P1+P2)<<1;
|
||||||
|
|
||||||
//P0 = (P2+P0)<<1;
|
//P0 = (P2+P0)<<1;
|
||||||
|
|
||||||
//Preg = ( Preg + Preg ) << 2 ; /* dest_reg = (dest_reg + src_reg) x 4 (a) */
|
//Preg = ( Preg + Preg ) << 2 ; /* dest_reg = (dest_reg + src_reg) x 4 (a) */
|
||||||
P0 = (P0+P0)<<2;
|
P0 = (P0+P0)<<2;
|
||||||
P0 = (P0+P1)<<2;
|
P0 = (P0+P1)<<2;
|
||||||
P2 = (P2+P0)<<2;
|
P2 = (P2+P0)<<2;
|
||||||
P1 = (P1+P2)<<2;
|
P1 = (P1+P2)<<2;
|
||||||
|
|
||||||
//P0 = (P2+P0)<<2;
|
//P0 = (P2+P0)<<2;
|
||||||
|
|
||||||
//Dreg = (Dreg + Dreg) << 1 ; /* dest_reg = (dest_reg + src_reg) x 2 (a) */
|
//Dreg = (Dreg + Dreg) << 1 ; /* dest_reg = (dest_reg + src_reg) x 2 (a) */
|
||||||
R0 = (R0+R0)<<1;
|
R0 = (R0+R0)<<1;
|
||||||
R0 = (R0+R1)<<1;
|
R0 = (R0+R1)<<1;
|
||||||
R2 = (R2+R0)<<1;
|
R2 = (R2+R0)<<1;
|
||||||
R1 = (R1+R2)<<1;
|
R1 = (R1+R2)<<1;
|
||||||
|
|
||||||
//R0 = (R2+R0)<<1;
|
//R0 = (R2+R0)<<1;
|
||||||
|
|
||||||
|
|
||||||
//Dreg = (Dreg + Dreg) << 2 ; /* dest_reg = (dest_reg + src_reg) x 4 (a) */
|
//Dreg = (Dreg + Dreg) << 2 ; /* dest_reg = (dest_reg + src_reg) x 4 (a) */
|
||||||
R0 = (R0+R0)<<2;
|
R0 = (R0+R0)<<2;
|
||||||
R0 = (R0+R1)<<2;
|
R0 = (R0+R1)<<2;
|
||||||
R2 = (R2+R0)<<2;
|
R2 = (R2+R0)<<2;
|
||||||
R1 = (R1+R2)<<2;
|
R1 = (R1+R2)<<2;
|
||||||
|
|
||||||
//R0 = (R2+R0)<<2;
|
//R0 = (R2+R0)<<2;
|
||||||
|
|
||||||
//Preg = Preg + ( Preg << 1 ) ; /* adder_pntr + (src_pntr x 2) (a) */
|
//Preg = Preg + ( Preg << 1 ) ; /* adder_pntr + (src_pntr x 2) (a) */
|
||||||
P0 = P0 + (P0 << 1);
|
P0 = P0 + (P0 << 1);
|
||||||
P0 = P0 + (P1 << 1);
|
P0 = P0 + (P1 << 1);
|
||||||
P0 = P0 + (P2 << 1);
|
P0 = P0 + (P2 << 1);
|
||||||
P0 = P1 + (P2 << 1);
|
P0 = P1 + (P2 << 1);
|
||||||
P0 = P2 + (P3 << 1);
|
P0 = P2 + (P3 << 1);
|
||||||
P1 = P0 + (P0 << 1);
|
P1 = P0 + (P0 << 1);
|
||||||
P1 = P0 + (P1 << 1);
|
P1 = P0 + (P1 << 1);
|
||||||
P1 = P0 + (P2 << 1);
|
P1 = P0 + (P2 << 1);
|
||||||
P1 = P1 + (P2 << 1);
|
P1 = P1 + (P2 << 1);
|
||||||
P1 = P2 + (P3 << 1);
|
P1 = P2 + (P3 << 1);
|
||||||
|
|
||||||
//Preg = Preg + ( Preg << 2 ) ; /* adder_pntr + (src_pntr x 4) (a) */
|
//Preg = Preg + ( Preg << 2 ) ; /* adder_pntr + (src_pntr x 4) (a) */
|
||||||
P0 = P0 + (P0 << 2);
|
P0 = P0 + (P0 << 2);
|
||||||
P0 = P0 + (P1 << 2);
|
P0 = P0 + (P1 << 2);
|
||||||
P0 = P0 + (P2 << 2);
|
P0 = P0 + (P2 << 2);
|
||||||
P0 = P1 + (P2 << 2);
|
P0 = P1 + (P2 << 2);
|
||||||
P0 = P2 + (P3 << 2);
|
P0 = P2 + (P3 << 2);
|
||||||
P1 = P0 + (P0 << 2);
|
P1 = P0 + (P0 << 2);
|
||||||
P1 = P0 + (P1 << 2);
|
P1 = P0 + (P1 << 2);
|
||||||
P1 = P0 + (P2 << 2);
|
P1 = P0 + (P2 << 2);
|
||||||
P1 = P1 + (P2 << 2);
|
P1 = P1 + (P2 << 2);
|
||||||
P1 = P2 + (P3 << 2);
|
P1 = P2 + (P3 << 2);
|
||||||
|
|
||||||
//Dreg >>>= uimm5 ; /* arithmetic right shift (a) */
|
//Dreg >>>= uimm5 ; /* arithmetic right shift (a) */
|
||||||
R0 >>>= 0;
|
R0 >>>= 0;
|
||||||
R0 >>>= 31;
|
R0 >>>= 31;
|
||||||
R0 >>>= 5;
|
R0 >>>= 5;
|
||||||
R5 >>>= 0;
|
R5 >>>= 0;
|
||||||
R5 >>>= 31;
|
R5 >>>= 31;
|
||||||
R5 >>>= 5;
|
R5 >>>= 5;
|
||||||
|
|
||||||
//Dreg <<= uimm5 ; /* logical left shift (a) */
|
//Dreg <<= uimm5 ; /* logical left shift (a) */
|
||||||
R0 <<= 0;
|
R0 <<= 0;
|
||||||
R0 <<= 31;
|
R0 <<= 31;
|
||||||
R0 <<= 5;
|
R0 <<= 5;
|
||||||
R5 <<= 0;
|
R5 <<= 0;
|
||||||
R5 <<= 31;
|
R5 <<= 31;
|
||||||
R5 <<= 5;
|
R5 <<= 5;
|
||||||
//Dreg_lo_hi = Dreg_lo_hi >>> uimm4 ; /* arithmetic right shift (b) */
|
//Dreg_lo_hi = Dreg_lo_hi >>> uimm4 ; /* arithmetic right shift (b) */
|
||||||
R0.L = R0.L >>> 0;
|
R0.L = R0.L >>> 0;
|
||||||
R0.L = R0.L >>> 15;
|
R0.L = R0.L >>> 15;
|
||||||
R0.L = R0.H >>> 0;
|
R0.L = R0.H >>> 0;
|
||||||
R0.L = R0.H >>> 15;
|
R0.L = R0.H >>> 15;
|
||||||
R0.H = R0.L >>> 0;
|
R0.H = R0.L >>> 0;
|
||||||
R0.H = R0.L >>> 15;
|
R0.H = R0.L >>> 15;
|
||||||
R0.H = R0.H >>> 0;
|
R0.H = R0.H >>> 0;
|
||||||
R0.H = R0.H >>> 15;
|
R0.H = R0.H >>> 15;
|
||||||
|
|
||||||
R0.L = R1.L >>> 0;
|
R0.L = R1.L >>> 0;
|
||||||
R0.L = R1.L >>> 15;
|
R0.L = R1.L >>> 15;
|
||||||
R0.L = R1.H >>> 0;
|
R0.L = R1.H >>> 0;
|
||||||
R0.L = R1.H >>> 15;
|
R0.L = R1.H >>> 15;
|
||||||
R0.H = R1.L >>> 0;
|
R0.H = R1.L >>> 0;
|
||||||
R0.H = R1.L >>> 15;
|
R0.H = R1.L >>> 15;
|
||||||
R0.H = R1.H >>> 0;
|
R0.H = R1.H >>> 0;
|
||||||
R0.H = R1.H >>> 15;
|
R0.H = R1.H >>> 15;
|
||||||
|
|
||||||
R0.L = R7.L >>> 0;
|
R0.L = R7.L >>> 0;
|
||||||
R1.L = R6.L >>> 15;
|
R1.L = R6.L >>> 15;
|
||||||
R2.L = R5.H >>> 0;
|
R2.L = R5.H >>> 0;
|
||||||
R3.L = R4.H >>> 15;
|
R3.L = R4.H >>> 15;
|
||||||
R4.H = R3.L >>> 0;
|
R4.H = R3.L >>> 0;
|
||||||
R5.H = R2.L >>> 15;
|
R5.H = R2.L >>> 15;
|
||||||
R6.H = R1.H >>> 0;
|
R6.H = R1.H >>> 0;
|
||||||
R7.H = R0.H >>> 15;
|
R7.H = R0.H >>> 15;
|
||||||
|
|
||||||
//Dreg_lo_hi = Dreg_lo_hi << uimm4 (S) ; /* arithmetic left shift (b) */
|
//Dreg_lo_hi = Dreg_lo_hi << uimm4 (S) ; /* arithmetic left shift (b) */
|
||||||
R0.L = R0.L << 0(S);
|
R0.L = R0.L << 0(S);
|
||||||
R0.L = R0.L << 15(S);
|
R0.L = R0.L << 15(S);
|
||||||
R0.L = R0.H << 0(S);
|
R0.L = R0.H << 0(S);
|
||||||
R0.L = R0.H << 15(S);
|
R0.L = R0.H << 15(S);
|
||||||
R0.H = R0.L << 0(S);
|
R0.H = R0.L << 0(S);
|
||||||
R0.H = R0.L << 15(S);
|
R0.H = R0.L << 15(S);
|
||||||
R0.H = R0.H << 0(S);
|
R0.H = R0.H << 0(S);
|
||||||
R0.H = R0.H << 15(S);
|
R0.H = R0.H << 15(S);
|
||||||
|
|
||||||
R0.L = R1.L << 0(S);
|
R0.L = R1.L << 0(S);
|
||||||
R0.L = R1.L << 15(S);
|
R0.L = R1.L << 15(S);
|
||||||
R0.L = R1.H << 0(S);
|
R0.L = R1.H << 0(S);
|
||||||
R0.L = R1.H << 15(S);
|
R0.L = R1.H << 15(S);
|
||||||
R0.H = R1.L << 0(S);
|
R0.H = R1.L << 0(S);
|
||||||
R0.H = R1.L << 15(S);
|
R0.H = R1.L << 15(S);
|
||||||
R0.H = R1.H << 0(S);
|
R0.H = R1.H << 0(S);
|
||||||
R0.H = R1.H << 15(S);
|
R0.H = R1.H << 15(S);
|
||||||
|
|
||||||
R0.L = R7.L << 0(S);
|
R0.L = R7.L << 0(S);
|
||||||
R1.L = R6.L << 15(S);
|
R1.L = R6.L << 15(S);
|
||||||
R2.L = R5.H << 0(S);
|
R2.L = R5.H << 0(S);
|
||||||
R3.L = R4.H << 15(S);
|
R3.L = R4.H << 15(S);
|
||||||
R4.H = R3.L << 0(S);
|
R4.H = R3.L << 0(S);
|
||||||
R5.H = R2.L << 15(S);
|
R5.H = R2.L << 15(S);
|
||||||
R6.H = R1.H << 0(S);
|
R6.H = R1.H << 0(S);
|
||||||
R7.H = R0.H << 15(S);
|
R7.H = R0.H << 15(S);
|
||||||
//Dreg = Dreg >>> uimm5 ; /* arithmetic right shift (b) */
|
//Dreg = Dreg >>> uimm5 ; /* arithmetic right shift (b) */
|
||||||
R0 = R0 >>> 0;
|
R0 = R0 >>> 0;
|
||||||
R0 = R0 >>> 31;
|
R0 = R0 >>> 31;
|
||||||
R0 = R1 >>> 0;
|
R0 = R1 >>> 0;
|
||||||
R0 = R1 >>> 31;
|
R0 = R1 >>> 31;
|
||||||
R7 = R0 >>> 0;
|
R7 = R0 >>> 0;
|
||||||
R6 = R1 >>> 31;
|
R6 = R1 >>> 31;
|
||||||
R5 = R2 >>> 0;
|
R5 = R2 >>> 0;
|
||||||
R4 = R3 >>> 31;
|
R4 = R3 >>> 31;
|
||||||
R3 = R4 >>> 0;
|
R3 = R4 >>> 0;
|
||||||
R2 = R5 >>> 31;
|
R2 = R5 >>> 31;
|
||||||
R1 = R6 >>> 0;
|
R1 = R6 >>> 0;
|
||||||
R0 = R7 >>> 31;
|
R0 = R7 >>> 31;
|
||||||
|
|
||||||
//Dreg = Dreg << uimm5 (S) ; /* arithmetic left shift (b) */
|
//Dreg = Dreg << uimm5 (S) ; /* arithmetic left shift (b) */
|
||||||
R0 = R0 << 0(S);
|
R0 = R0 << 0(S);
|
||||||
R0 = R0 << 31(S);
|
R0 = R0 << 31(S);
|
||||||
R0 = R1 << 0(S);
|
R0 = R1 << 0(S);
|
||||||
R0 = R1 << 31(S);
|
R0 = R1 << 31(S);
|
||||||
R7 = R0 << 0(S);
|
R7 = R0 << 0(S);
|
||||||
R6 = R1 << 31(S);
|
R6 = R1 << 31(S);
|
||||||
R5 = R2 << 0(S);
|
R5 = R2 << 0(S);
|
||||||
R4 = R3 << 31(S);
|
R4 = R3 << 31(S);
|
||||||
R3 = R4 << 0(S);
|
R3 = R4 << 0(S);
|
||||||
R2 = R5 << 31(S);
|
R2 = R5 << 31(S);
|
||||||
R1 = R6 << 0(S);
|
R1 = R6 << 0(S);
|
||||||
R0 = R7 << 31(S);
|
R0 = R7 << 31(S);
|
||||||
//A0 = A0 >>> uimm5 ; /* arithmetic right shift (b) */
|
//A0 = A0 >>> uimm5 ; /* arithmetic right shift (b) */
|
||||||
A0 = A0 >>> 0;
|
A0 = A0 >>> 0;
|
||||||
A0 = A0 >>> 15;
|
A0 = A0 >>> 15;
|
||||||
A0 = A0 >>> 31;
|
A0 = A0 >>> 31;
|
||||||
|
|
||||||
//A0 = A0 << uimm5 ; /* logical left shift (b) */
|
//A0 = A0 << uimm5 ; /* logical left shift (b) */
|
||||||
A0 = A0 << 0;
|
A0 = A0 << 0;
|
||||||
A0 = A0 << 15;
|
A0 = A0 << 15;
|
||||||
A0 = A0 << 31;
|
A0 = A0 << 31;
|
||||||
|
|
||||||
//A1 = A1 >>> uimm5 ; /* arithmetic right shift (b) */
|
//A1 = A1 >>> uimm5 ; /* arithmetic right shift (b) */
|
||||||
A1 = A1 >>> 0;
|
A1 = A1 >>> 0;
|
||||||
A1 = A1 >>> 15;
|
A1 = A1 >>> 15;
|
||||||
A1 = A1 >>> 31;
|
A1 = A1 >>> 31;
|
||||||
|
|
||||||
//A1 = A1 << uimm5 ; /* logical left shift (b) */
|
//A1 = A1 << uimm5 ; /* logical left shift (b) */
|
||||||
A1 = A1 << 0;
|
A1 = A1 << 0;
|
||||||
A1 = A1 << 15;
|
A1 = A1 << 15;
|
||||||
A1 = A1 << 31;
|
A1 = A1 << 31;
|
||||||
|
|
||||||
//Dreg >>>= Dreg ; /* arithmetic right shift (a) */
|
//Dreg >>>= Dreg ; /* arithmetic right shift (a) */
|
||||||
R0 >>>= R0;
|
R0 >>>= R0;
|
||||||
R0 >>>= R1;
|
R0 >>>= R1;
|
||||||
R1 >>>= R0;
|
R1 >>>= R0;
|
||||||
R1 >>>= R7;
|
R1 >>>= R7;
|
||||||
|
|
||||||
//Dreg <<= Dreg ; /* logical left shift (a) */
|
//Dreg <<= Dreg ; /* logical left shift (a) */
|
||||||
R0 <<= R0;
|
R0 <<= R0;
|
||||||
R0 <<= R1;
|
R0 <<= R1;
|
||||||
R1 <<= R0;
|
R1 <<= R0;
|
||||||
R1 <<= R7;
|
R1 <<= R7;
|
||||||
|
|
||||||
//Dreg_lo_hi = ASHIFT Dreg_lo_hi BY Dreg_lo (opt_sat) ; /* arithmetic right shift (b) */
|
//Dreg_lo_hi = ASHIFT Dreg_lo_hi BY Dreg_lo (opt_sat) ; /* arithmetic right shift (b) */
|
||||||
r3.l = ashift r0.h by r7.l ; /* shift, half-word */
|
r3.l = ashift r0.h by r7.l ; /* shift, half-word */
|
||||||
r3.h = ashift r0.l by r7.l ;
|
r3.h = ashift r0.l by r7.l ;
|
||||||
r3.h = ashift r0.h by r7.l ;
|
r3.h = ashift r0.h by r7.l ;
|
||||||
r3.l = ashift r0.l by r7.l ;
|
r3.l = ashift r0.l by r7.l ;
|
||||||
r3.l = ashift r0.h by r7.l(s) ; /* shift, half-word, saturated */
|
r3.l = ashift r0.h by r7.l(s) ; /* shift, half-word, saturated */
|
||||||
r3.h = ashift r0.l by r7.l(s) ; /* shift, half-word, saturated */
|
r3.h = ashift r0.l by r7.l(s) ; /* shift, half-word, saturated */
|
||||||
r3.h = ashift r0.h by r7.l(s) ;
|
r3.h = ashift r0.h by r7.l(s) ;
|
||||||
r3.l = ashift r0.l by r7.l (s) ;
|
r3.l = ashift r0.l by r7.l (s) ;
|
||||||
|
|
||||||
//Dreg = ASHIFT Dreg BY Dreg_lo (opt_sat) ; /* arithmetic right shift (b) */
|
//Dreg = ASHIFT Dreg BY Dreg_lo (opt_sat) ; /* arithmetic right shift (b) */
|
||||||
r4 = ashift r2 by r7.l ; /* shift, word */
|
r4 = ashift r2 by r7.l ; /* shift, word */
|
||||||
r4 = ashift r2 by r7.l (s) ; /* shift, word, saturated */
|
r4 = ashift r2 by r7.l (s) ; /* shift, word, saturated */
|
||||||
|
|
||||||
//A0 = ASHIFT A0 BY Dreg_lo ; /* arithmetic right shift (b)*/
|
//A0 = ASHIFT A0 BY Dreg_lo ; /* arithmetic right shift (b)*/
|
||||||
A0 = ashift A0 by r7.l ; /* shift, Accumulator */
|
A0 = ashift A0 by r7.l ; /* shift, Accumulator */
|
||||||
|
|
||||||
//A1 = ASHIFT A1 BY Dreg_lo ; /* arithmetic right shift (b)*/
|
//A1 = ASHIFT A1 BY Dreg_lo ; /* arithmetic right shift (b)*/
|
||||||
A1 = ashift A1 by r7.l ; /* shift, Accumulator */
|
A1 = ashift A1 by r7.l ; /* shift, Accumulator */
|
||||||
|
|
||||||
p3 = p2 >> 1 ; /* pointer right shift by 1 */
|
p3 = p2 >> 1 ; /* pointer right shift by 1 */
|
||||||
p3 = p3 >> 2 ; /* pointer right shift by 2 */
|
p3 = p3 >> 2 ; /* pointer right shift by 2 */
|
||||||
p4 = p5 << 1 ; /* pointer left shift by 1 */
|
p4 = p5 << 1 ; /* pointer left shift by 1 */
|
||||||
p0 = p1 << 2 ; /* pointer left shift by 2 */
|
p0 = p1 << 2 ; /* pointer left shift by 2 */
|
||||||
r3 >>= 17 ; /* data right shift */
|
r3 >>= 17 ; /* data right shift */
|
||||||
r3 <<= 17 ; /* data left shift */
|
r3 <<= 17 ; /* data left shift */
|
||||||
r3.l = r0.l >> 4 ; /* data right shift, half-word register */
|
r3.l = r0.l >> 4 ; /* data right shift, half-word register */
|
||||||
r3.l = r0.h >> 4 ; /* same as above; half-word register combinations are arbitrary */
|
r3.l = r0.h >> 4 ; /* same as above; half-word register combinations are arbitrary */
|
||||||
r3.h = r0.l << 12 ; /* data left shift, half-word register */
|
r3.h = r0.l << 12 ; /* data left shift, half-word register */
|
||||||
r3.h = r0.h << 14 ; /* same as above; half-word register combinations are arbitrary */
|
r3.h = r0.h << 14 ; /* same as above; half-word register combinations are arbitrary */
|
||||||
|
|
||||||
r3 = r6 >> 4 ; /* right shift, 32-bit word */
|
r3 = r6 >> 4 ; /* right shift, 32-bit word */
|
||||||
r3 = r6 << 4 ; /* left shift, 32-bit word */
|
r3 = r6 << 4 ; /* left shift, 32-bit word */
|
||||||
|
|
||||||
a0 = a0 >> 7 ; /* Accumulator right shift */
|
a0 = a0 >> 7 ; /* Accumulator right shift */
|
||||||
a1 = a1 >> 25 ; /* Accumulator right shift */
|
a1 = a1 >> 25 ; /* Accumulator right shift */
|
||||||
a0 = a0 << 7 ; /* Accumulator left shift */
|
a0 = a0 << 7 ; /* Accumulator left shift */
|
||||||
a1 = a1 << 14 ; /* Accumulator left shift */
|
a1 = a1 << 14 ; /* Accumulator left shift */
|
||||||
|
|
||||||
r3 >>= r0 ; /* data right shift */
|
r3 >>= r0 ; /* data right shift */
|
||||||
r3 <<= r1 ; /* data left shift */
|
r3 <<= r1 ; /* data left shift */
|
||||||
|
|
||||||
r3.l = lshift r0.l by r2.l ; /* shift direction controlled by sign of R2.L */
|
r3.l = lshift r0.l by r2.l ; /* shift direction controlled by sign of R2.L */
|
||||||
r3.h = lshift r0.l by r2.l ;
|
r3.h = lshift r0.l by r2.l ;
|
||||||
|
|
||||||
a0 = lshift a0 by r7.l ;
|
a0 = lshift a0 by r7.l ;
|
||||||
a1 = lshift a1 by r7.l ;
|
a1 = lshift a1 by r7.l ;
|
||||||
|
|
||||||
r4 = rot r1 by 31 ; /* rotate left */
|
r4 = rot r1 by 31 ; /* rotate left */
|
||||||
r4 = rot r1 by -32 ; /* rotate right */
|
r4 = rot r1 by -32 ; /* rotate right */
|
||||||
r4 = rot r1 by 5 ; /* rotate right */
|
r4 = rot r1 by 5 ; /* rotate right */
|
||||||
|
|
||||||
a0 = rot a0 by 22 ; /* rotate Accumulator left */
|
a0 = rot a0 by 22 ; /* rotate Accumulator left */
|
||||||
a0 = rot a0 by -32 ; /* rotate Accumulator left */
|
a0 = rot a0 by -32 ; /* rotate Accumulator left */
|
||||||
a0 = rot a0 by 31 ; /* rotate Accumulator left */
|
a0 = rot a0 by 31 ; /* rotate Accumulator left */
|
||||||
|
|
||||||
a1 = rot a1 by -32 ; /* rotate Accumulator right */
|
a1 = rot a1 by -32 ; /* rotate Accumulator right */
|
||||||
a1 = rot a1 by 31 ; /* rotate Accumulator right */
|
a1 = rot a1 by 31 ; /* rotate Accumulator right */
|
||||||
a1 = rot a1 by 22 ; /* rotate Accumulator right */
|
a1 = rot a1 by 22 ; /* rotate Accumulator right */
|
||||||
|
|
||||||
r4 = rot r1 by r2.l ;
|
r4 = rot r1 by r2.l ;
|
||||||
a0 = rot a0 by r3.l ;
|
a0 = rot a0 by r3.l ;
|
||||||
a1 = rot a1 by r7.l ;
|
a1 = rot a1 by r7.l ;
|
||||||
|
|
||||||
r0.l = r1.l << 0;
|
r0.l = r1.l << 0;
|
||||||
r0.l = r1.l << 1;
|
r0.l = r1.l << 1;
|
||||||
r0.l = r1.l << 2;
|
r0.l = r1.l << 2;
|
||||||
r0.l = r1.l << 4;
|
r0.l = r1.l << 4;
|
||||||
r0.l = r1.l >> 0;
|
r0.l = r1.l >> 0;
|
||||||
r0.l = r1.l >> 1;
|
r0.l = r1.l >> 1;
|
||||||
r0.l = r1.l >> 2;
|
r0.l = r1.l >> 2;
|
||||||
r0.l = r1.l >> 4;
|
r0.l = r1.l >> 4;
|
||||||
r0.l = r1.l >>> 1;
|
r0.l = r1.l >>> 1;
|
||||||
r0.l = r1.l >>> 2;
|
r0.l = r1.l >>> 2;
|
||||||
r0.l = r1.l >>> 4;
|
r0.l = r1.l >>> 4;
|
||||||
|
|
||||||
r0.l = r1.h << 0;
|
r0.l = r1.h << 0;
|
||||||
r0.l = r1.h << 1;
|
r0.l = r1.h << 1;
|
||||||
r0.l = r1.h << 2;
|
r0.l = r1.h << 2;
|
||||||
r0.l = r1.h << 4;
|
r0.l = r1.h << 4;
|
||||||
r0.l = r1.h >> 0;
|
r0.l = r1.h >> 0;
|
||||||
r0.l = r1.h >> 1;
|
r0.l = r1.h >> 1;
|
||||||
r0.l = r1.h >> 2;
|
r0.l = r1.h >> 2;
|
||||||
r0.l = r1.h >> 4;
|
r0.l = r1.h >> 4;
|
||||||
r0.l = r1.h >>> 1;
|
r0.l = r1.h >>> 1;
|
||||||
r0.l = r1.h >>> 2;
|
r0.l = r1.h >>> 2;
|
||||||
r0.l = r1.h >>> 4;
|
r0.l = r1.h >>> 4;
|
||||||
|
|
||||||
r0.l = r1.h << 0 (S);
|
r0.l = r1.h << 0 (S);
|
||||||
r0.l = r1.h << 1 (S);
|
r0.l = r1.h << 1 (S);
|
||||||
r0.l = r1.h << 2 (S);
|
r0.l = r1.h << 2 (S);
|
||||||
r0.l = r1.h << 4 (S);
|
r0.l = r1.h << 4 (S);
|
||||||
r0.l = r1.h >>> 1 (S);
|
r0.l = r1.h >>> 1 (S);
|
||||||
r0.l = r1.h >>> 2 (S);
|
r0.l = r1.h >>> 2 (S);
|
||||||
r0.l = r1.h >>> 4 (S);
|
r0.l = r1.h >>> 4 (S);
|
||||||
|
|
||||||
|
|
|
@ -1,125 +1,125 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//5 STACK CONTROL
|
//5 STACK CONTROL
|
||||||
//
|
//
|
||||||
|
|
||||||
//[ -- SP ] = allreg ; /* predecrement SP (a) */
|
//[ -- SP ] = allreg ; /* predecrement SP (a) */
|
||||||
|
|
||||||
[--SP ] = R0;
|
[--SP ] = R0;
|
||||||
[--SP ] = R6;
|
[--SP ] = R6;
|
||||||
|
|
||||||
[--SP ] = P0;
|
[--SP ] = P0;
|
||||||
[--SP ] = P4;
|
[--SP ] = P4;
|
||||||
|
|
||||||
[--SP ] = I0;
|
[--SP ] = I0;
|
||||||
[--SP ] = I1;
|
[--SP ] = I1;
|
||||||
|
|
||||||
[--SP ] = M0;
|
[--SP ] = M0;
|
||||||
[--SP ] = M1;
|
[--SP ] = M1;
|
||||||
|
|
||||||
[--SP ] = L0;
|
[--SP ] = L0;
|
||||||
[--SP ] = L1;
|
[--SP ] = L1;
|
||||||
|
|
||||||
[--SP ] = B0;
|
[--SP ] = B0;
|
||||||
[--SP ] = B1;
|
[--SP ] = B1;
|
||||||
|
|
||||||
[--SP ] = A0.X;
|
[--SP ] = A0.X;
|
||||||
[--SP ] = A1.X;
|
[--SP ] = A1.X;
|
||||||
|
|
||||||
[--SP ] = A0.W;
|
[--SP ] = A0.W;
|
||||||
[--SP ] = A1.W;
|
[--SP ] = A1.W;
|
||||||
|
|
||||||
[--SP ] = ASTAT;
|
[--SP ] = ASTAT;
|
||||||
[--SP ] = RETS;
|
[--SP ] = RETS;
|
||||||
[--SP ] = RETI;
|
[--SP ] = RETI;
|
||||||
[--SP ] = RETX;
|
[--SP ] = RETX;
|
||||||
[--SP ] = RETN;
|
[--SP ] = RETN;
|
||||||
[--SP ] = RETE;
|
[--SP ] = RETE;
|
||||||
[--SP ] = LC0;
|
[--SP ] = LC0;
|
||||||
[--SP ] = LC1;
|
[--SP ] = LC1;
|
||||||
[--SP ] = LT0;
|
[--SP ] = LT0;
|
||||||
[--SP ] = LT1;
|
[--SP ] = LT1;
|
||||||
[--SP ] = LB0;
|
[--SP ] = LB0;
|
||||||
[--SP ] = LB1;
|
[--SP ] = LB1;
|
||||||
[--SP ] = CYCLES;
|
[--SP ] = CYCLES;
|
||||||
[--SP ] = CYCLES2;
|
[--SP ] = CYCLES2;
|
||||||
//[--SP ] = EMUDAT;
|
//[--SP ] = EMUDAT;
|
||||||
[--SP ] = USP;
|
[--SP ] = USP;
|
||||||
[--SP ] = SEQSTAT;
|
[--SP ] = SEQSTAT;
|
||||||
[--SP ] = SYSCFG;
|
[--SP ] = SYSCFG;
|
||||||
|
|
||||||
|
|
||||||
//[ -- SP ] = ( R7 : Dreglim , P5 : Preglim ) ; /* Dregs and indexed Pregs (a) */
|
//[ -- SP ] = ( R7 : Dreglim , P5 : Preglim ) ; /* Dregs and indexed Pregs (a) */
|
||||||
[--SP ] = ( R7:0, P5:0);
|
[--SP ] = ( R7:0, P5:0);
|
||||||
|
|
||||||
|
|
||||||
//[ -- SP ] = ( R7 : Dreglim ) ; /* Dregs, only (a) */
|
//[ -- SP ] = ( R7 : Dreglim ) ; /* Dregs, only (a) */
|
||||||
[--SP ] = ( R7:0);
|
[--SP ] = ( R7:0);
|
||||||
|
|
||||||
//[ -- SP ] = ( P5 : Preglim ) ; /* indexed Pregs, only (a) */
|
//[ -- SP ] = ( P5 : Preglim ) ; /* indexed Pregs, only (a) */
|
||||||
[--SP ] = (P5:0);
|
[--SP ] = (P5:0);
|
||||||
|
|
||||||
|
|
||||||
//mostreg = [ SP ++ ] ; /* post-increment SP; does not apply to Data Registers and Pointer Registers (a) */
|
//mostreg = [ SP ++ ] ; /* post-increment SP; does not apply to Data Registers and Pointer Registers (a) */
|
||||||
|
|
||||||
R0= [ SP ++ ] ;
|
R0= [ SP ++ ] ;
|
||||||
R6= [ SP ++ ] ;
|
R6= [ SP ++ ] ;
|
||||||
|
|
||||||
P0= [ SP ++ ] ;
|
P0= [ SP ++ ] ;
|
||||||
P4= [ SP ++ ] ;
|
P4= [ SP ++ ] ;
|
||||||
|
|
||||||
I0= [ SP ++ ] ;
|
I0= [ SP ++ ] ;
|
||||||
I1= [ SP ++ ] ;
|
I1= [ SP ++ ] ;
|
||||||
|
|
||||||
M0= [ SP ++ ] ;
|
M0= [ SP ++ ] ;
|
||||||
M1= [ SP ++ ] ;
|
M1= [ SP ++ ] ;
|
||||||
|
|
||||||
L0= [ SP ++ ] ;
|
L0= [ SP ++ ] ;
|
||||||
L1= [ SP ++ ] ;
|
L1= [ SP ++ ] ;
|
||||||
|
|
||||||
B0= [ SP ++ ] ;
|
B0= [ SP ++ ] ;
|
||||||
B1= [ SP ++ ] ;
|
B1= [ SP ++ ] ;
|
||||||
|
|
||||||
A0.X= [ SP ++ ] ;
|
A0.X= [ SP ++ ] ;
|
||||||
A1.X= [ SP ++ ] ;
|
A1.X= [ SP ++ ] ;
|
||||||
|
|
||||||
A0.W= [ SP ++ ] ;
|
A0.W= [ SP ++ ] ;
|
||||||
A1.W= [ SP ++ ] ;
|
A1.W= [ SP ++ ] ;
|
||||||
|
|
||||||
ASTAT= [ SP ++ ] ;
|
ASTAT= [ SP ++ ] ;
|
||||||
RETS= [ SP ++ ] ;
|
RETS= [ SP ++ ] ;
|
||||||
RETI= [ SP ++ ] ;
|
RETI= [ SP ++ ] ;
|
||||||
RETX= [ SP ++ ] ;
|
RETX= [ SP ++ ] ;
|
||||||
RETN= [ SP ++ ] ;
|
RETN= [ SP ++ ] ;
|
||||||
RETE= [ SP ++ ] ;
|
RETE= [ SP ++ ] ;
|
||||||
LC0= [ SP ++ ] ;
|
LC0= [ SP ++ ] ;
|
||||||
LC1= [ SP ++ ] ;
|
LC1= [ SP ++ ] ;
|
||||||
LT0= [ SP ++ ] ;
|
LT0= [ SP ++ ] ;
|
||||||
LT1= [ SP ++ ] ;
|
LT1= [ SP ++ ] ;
|
||||||
LB0= [ SP ++ ] ;
|
LB0= [ SP ++ ] ;
|
||||||
LB1= [ SP ++ ] ;
|
LB1= [ SP ++ ] ;
|
||||||
CYCLES= [ SP ++ ] ;
|
CYCLES= [ SP ++ ] ;
|
||||||
CYCLES2= [ SP ++ ] ;
|
CYCLES2= [ SP ++ ] ;
|
||||||
//EMUDAT= [ SP ++ ] ;
|
//EMUDAT= [ SP ++ ] ;
|
||||||
USP= [ SP ++ ] ;
|
USP= [ SP ++ ] ;
|
||||||
SEQSTAT= [ SP ++ ] ;
|
SEQSTAT= [ SP ++ ] ;
|
||||||
SYSCFG= [ SP ++ ] ;
|
SYSCFG= [ SP ++ ] ;
|
||||||
|
|
||||||
//( R7 : Dreglim, P5 : Preglim ) = [ SP ++ ] ; /* Dregs and indexed Pregs (a) */
|
//( R7 : Dreglim, P5 : Preglim ) = [ SP ++ ] ; /* Dregs and indexed Pregs (a) */
|
||||||
( R7:0, P5:0) = [ SP++ ];
|
( R7:0, P5:0) = [ SP++ ];
|
||||||
|
|
||||||
//( R7 : Dreglim ) = [ SP ++ ] ; /* Dregs, only (a) */
|
//( R7 : Dreglim ) = [ SP ++ ] ; /* Dregs, only (a) */
|
||||||
( R7:0) = [ SP++ ];
|
( R7:0) = [ SP++ ];
|
||||||
|
|
||||||
//( P5 : Preglim ) = [ SP ++ ] ; /* indexed Pregs, only (a) */
|
//( P5 : Preglim ) = [ SP ++ ] ; /* indexed Pregs, only (a) */
|
||||||
( P5:0) = [ SP++ ];
|
( P5:0) = [ SP++ ];
|
||||||
|
|
||||||
//LINK uimm18m4 ; /* allocate a stack frame of specified size (b) */
|
//LINK uimm18m4 ; /* allocate a stack frame of specified size (b) */
|
||||||
LINK 0X0;
|
LINK 0X0;
|
||||||
LINK 0X8;
|
LINK 0X8;
|
||||||
LINK 0x3FFFC;
|
LINK 0x3FFFC;
|
||||||
|
|
||||||
UNLINK ; /* de-allocate the stack frame (b)*/
|
UNLINK ; /* de-allocate the stack frame (b)*/
|
||||||
|
|
|
@ -1,220 +1,220 @@
|
||||||
|
|
||||||
.EXTERN MY_LABEL2;
|
.EXTERN MY_LABEL2;
|
||||||
.section .text;
|
.section .text;
|
||||||
|
|
||||||
//
|
//
|
||||||
//13 VIDEO PIXEL OPERATIONS
|
//13 VIDEO PIXEL OPERATIONS
|
||||||
//
|
//
|
||||||
|
|
||||||
//Dreg = ALIGN8 ( Dreg, Dreg ) ; /* overlay 1 byte (b) */
|
//Dreg = ALIGN8 ( Dreg, Dreg ) ; /* overlay 1 byte (b) */
|
||||||
R0 = ALIGN8(R0, R0);
|
R0 = ALIGN8(R0, R0);
|
||||||
R0 = ALIGN8(R0, R1);
|
R0 = ALIGN8(R0, R1);
|
||||||
R0 = ALIGN8(R1, R0);
|
R0 = ALIGN8(R1, R0);
|
||||||
R0 = ALIGN8(R1, R1);
|
R0 = ALIGN8(R1, R1);
|
||||||
R0 = ALIGN8(R1, R2);
|
R0 = ALIGN8(R1, R2);
|
||||||
R3 = ALIGN8(R4, R5);
|
R3 = ALIGN8(R4, R5);
|
||||||
R6 = ALIGN8(R7, R0);
|
R6 = ALIGN8(R7, R0);
|
||||||
R1 = ALIGN8(R2, R3);
|
R1 = ALIGN8(R2, R3);
|
||||||
R4 = ALIGN8(R5, R6);
|
R4 = ALIGN8(R5, R6);
|
||||||
R7 = ALIGN8(R0, R1);
|
R7 = ALIGN8(R0, R1);
|
||||||
R2 = ALIGN8(R3, R4);
|
R2 = ALIGN8(R3, R4);
|
||||||
R5 = ALIGN8(R6, R7);
|
R5 = ALIGN8(R6, R7);
|
||||||
|
|
||||||
//Dreg = ALIGN16 ( Dreg, Dreg ) ; /* overlay 2 bytes (b) */
|
//Dreg = ALIGN16 ( Dreg, Dreg ) ; /* overlay 2 bytes (b) */
|
||||||
R0 = ALIGN16(R0, R0);
|
R0 = ALIGN16(R0, R0);
|
||||||
R0 = ALIGN16(R0, R1);
|
R0 = ALIGN16(R0, R1);
|
||||||
R0 = ALIGN16(R1, R0);
|
R0 = ALIGN16(R1, R0);
|
||||||
R0 = ALIGN16(R1, R1);
|
R0 = ALIGN16(R1, R1);
|
||||||
R0 = ALIGN16(R1, R2);
|
R0 = ALIGN16(R1, R2);
|
||||||
R3 = ALIGN16(R4, R5);
|
R3 = ALIGN16(R4, R5);
|
||||||
R6 = ALIGN16(R7, R0);
|
R6 = ALIGN16(R7, R0);
|
||||||
R1 = ALIGN16(R2, R3);
|
R1 = ALIGN16(R2, R3);
|
||||||
R4 = ALIGN16(R5, R6);
|
R4 = ALIGN16(R5, R6);
|
||||||
R7 = ALIGN16(R0, R1);
|
R7 = ALIGN16(R0, R1);
|
||||||
R2 = ALIGN16(R3, R4);
|
R2 = ALIGN16(R3, R4);
|
||||||
R5 = ALIGN16(R6, R7);
|
R5 = ALIGN16(R6, R7);
|
||||||
|
|
||||||
//Dreg = ALIGN24 ( Dreg, Dreg ) ; /* overlay 3 bytes (b) */
|
//Dreg = ALIGN24 ( Dreg, Dreg ) ; /* overlay 3 bytes (b) */
|
||||||
R0 = ALIGN24(R0, R0);
|
R0 = ALIGN24(R0, R0);
|
||||||
R0 = ALIGN24(R0, R1);
|
R0 = ALIGN24(R0, R1);
|
||||||
R0 = ALIGN24(R1, R0);
|
R0 = ALIGN24(R1, R0);
|
||||||
R0 = ALIGN24(R1, R1);
|
R0 = ALIGN24(R1, R1);
|
||||||
R0 = ALIGN24(R1, R2);
|
R0 = ALIGN24(R1, R2);
|
||||||
R3 = ALIGN24(R4, R5);
|
R3 = ALIGN24(R4, R5);
|
||||||
R6 = ALIGN24(R7, R0);
|
R6 = ALIGN24(R7, R0);
|
||||||
R1 = ALIGN24(R2, R3);
|
R1 = ALIGN24(R2, R3);
|
||||||
R4 = ALIGN24(R5, R6);
|
R4 = ALIGN24(R5, R6);
|
||||||
R7 = ALIGN24(R0, R1);
|
R7 = ALIGN24(R0, R1);
|
||||||
R2 = ALIGN24(R3, R4);
|
R2 = ALIGN24(R3, R4);
|
||||||
R5 = ALIGN24(R6, R7);
|
R5 = ALIGN24(R6, R7);
|
||||||
|
|
||||||
DISALGNEXCPT ; /* (b) */
|
DISALGNEXCPT ; /* (b) */
|
||||||
|
|
||||||
/* forward byte order operands */
|
/* forward byte order operands */
|
||||||
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (LO) ; /* sum into low bytes (b) */
|
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (LO) ; /* sum into low bytes (b) */
|
||||||
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (HI) ; /* sum into high bytes (b) */
|
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (HI) ; /* sum into high bytes (b) */
|
||||||
/* reverse byte order operands */
|
/* reverse byte order operands */
|
||||||
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (LO, R) ; /* sum into low bytes (b) */
|
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (LO, R) ; /* sum into low bytes (b) */
|
||||||
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (HI, R) ; /* sum into high bytes (b) */
|
//Dreg = BYTEOP3P (Dreg_pair, Dreg_pair) (HI, R) ; /* sum into high bytes (b) */
|
||||||
|
|
||||||
r0 = byteop3p (r1:0, r3:2) (lo) ;
|
r0 = byteop3p (r1:0, r3:2) (lo) ;
|
||||||
r1 = byteop3p (r1:0, r3:2) (hi) ;
|
r1 = byteop3p (r1:0, r3:2) (hi) ;
|
||||||
r2 = byteop3p (r1:0, r3:2) (lo, r) ;
|
r2 = byteop3p (r1:0, r3:2) (lo, r) ;
|
||||||
r3 = byteop3p (r1:0, r3:2) (hi, r) ;
|
r3 = byteop3p (r1:0, r3:2) (hi, r) ;
|
||||||
r4 = byteop3p (r3:2, r1:0) (lo) ;
|
r4 = byteop3p (r3:2, r1:0) (lo) ;
|
||||||
r5 = byteop3p (r3:2, r1:0) (hi) ;
|
r5 = byteop3p (r3:2, r1:0) (hi) ;
|
||||||
r6 = byteop3p (r3:2, r1:0) (lo, r) ;
|
r6 = byteop3p (r3:2, r1:0) (lo, r) ;
|
||||||
r7 = byteop3p (r3:2, r1:0) (hi, r) ;
|
r7 = byteop3p (r3:2, r1:0) (hi, r) ;
|
||||||
|
|
||||||
//Dreg = A1.L + A1.H, Dreg = A0.L + A0.H ; /* (b) */
|
//Dreg = A1.L + A1.H, Dreg = A0.L + A0.H ; /* (b) */
|
||||||
|
|
||||||
R0 = A1.L + A1.H, R0= A0.L + A0.H ;
|
R0 = A1.L + A1.H, R0= A0.L + A0.H ;
|
||||||
R0 = A1.L + A1.H, R1= A0.L + A0.H ;
|
R0 = A1.L + A1.H, R1= A0.L + A0.H ;
|
||||||
R2 = A1.L + A1.H, R3= A0.L + A0.H ;
|
R2 = A1.L + A1.H, R3= A0.L + A0.H ;
|
||||||
R4 = A1.L + A1.H, R5= A0.L + A0.H ;
|
R4 = A1.L + A1.H, R5= A0.L + A0.H ;
|
||||||
R6 = A1.L + A1.H, R7= A0.L + A0.H ;
|
R6 = A1.L + A1.H, R7= A0.L + A0.H ;
|
||||||
|
|
||||||
/* forward byte order operands */
|
/* forward byte order operands */
|
||||||
//( Dreg, Dreg ) = BYTEOP16P ( Dreg_pair, Dreg_pair ) ; /* (b) */
|
//( Dreg, Dreg ) = BYTEOP16P ( Dreg_pair, Dreg_pair ) ; /* (b) */
|
||||||
(r7,r0) = BYTEOP16P ( r3:2,r1:0 ) ;
|
(r7,r0) = BYTEOP16P ( r3:2,r1:0 ) ;
|
||||||
(r1,r2) = byteop16p (r3:2,r1:0) ;
|
(r1,r2) = byteop16p (r3:2,r1:0) ;
|
||||||
(r0,r1) = BYTEOP16P ( r3:2,r1:0 ) ;
|
(r0,r1) = BYTEOP16P ( r3:2,r1:0 ) ;
|
||||||
(r2,r3) = byteop16p (r3:2,r1:0) ;
|
(r2,r3) = byteop16p (r3:2,r1:0) ;
|
||||||
(r7,r0) = BYTEOP16P (r1:0, r3:2) ;
|
(r7,r0) = BYTEOP16P (r1:0, r3:2) ;
|
||||||
(r1,r2) = byteop16p (r1:0,r3:2) ;
|
(r1,r2) = byteop16p (r1:0,r3:2) ;
|
||||||
(r0,r1) = BYTEOP16P (r1:0, r3:2) ;
|
(r0,r1) = BYTEOP16P (r1:0, r3:2) ;
|
||||||
(r2,r3) = byteop16p (r1:0,r3:2) ;
|
(r2,r3) = byteop16p (r1:0,r3:2) ;
|
||||||
|
|
||||||
/* reverse byte order operands */
|
/* reverse byte order operands */
|
||||||
//( Dreg, Dreg ) = BYTEOP16P ( Dreg_pair, Dreg_pair ) (R); /* (b) */
|
//( Dreg, Dreg ) = BYTEOP16P ( Dreg_pair, Dreg_pair ) (R); /* (b) */
|
||||||
(r7,r0) = BYTEOP16P ( r3:2,r1:0 )(r) ;
|
(r7,r0) = BYTEOP16P ( r3:2,r1:0 )(r) ;
|
||||||
(r1,r2) = byteop16p (r3:2,r1:0)(r) ;
|
(r1,r2) = byteop16p (r3:2,r1:0)(r) ;
|
||||||
(r0,r1) = BYTEOP16P ( r3:2,r1:0 )(r) ;
|
(r0,r1) = BYTEOP16P ( r3:2,r1:0 )(r) ;
|
||||||
(r2,r3) = byteop16p (r3:2,r1:0)(r) ;
|
(r2,r3) = byteop16p (r3:2,r1:0)(r) ;
|
||||||
(r7,r0) = BYTEOP16P (r1:0, r3:2)(r) ;
|
(r7,r0) = BYTEOP16P (r1:0, r3:2)(r) ;
|
||||||
(r1,r2) = byteop16p (r1:0,r3:2)(r) ;
|
(r1,r2) = byteop16p (r1:0,r3:2)(r) ;
|
||||||
(r0,r1) = BYTEOP16P (r1:0, r3:2)(r) ;
|
(r0,r1) = BYTEOP16P (r1:0, r3:2)(r) ;
|
||||||
(r2,r3) = byteop16p (r1:0,r3:2)(r) ;
|
(r2,r3) = byteop16p (r1:0,r3:2)(r) ;
|
||||||
|
|
||||||
/* forward byte order operands */
|
/* forward byte order operands */
|
||||||
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) ; /* (b) */
|
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) ; /* (b) */
|
||||||
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (T) ; /* truncated (b)*/
|
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (T) ; /* truncated (b)*/
|
||||||
/* reverse byte order operands */
|
/* reverse byte order operands */
|
||||||
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (R) ; /* (b) */
|
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (R) ; /* (b) */
|
||||||
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (T, R) ; /* truncated (b) */
|
//Dreg = BYTEOP1P (Dreg_pair, Dreg_pair) (T, R) ; /* truncated (b) */
|
||||||
|
|
||||||
r3 = byteop1p (r1:0, r3:2) ;
|
r3 = byteop1p (r1:0, r3:2) ;
|
||||||
r3 = byteop1p (r1:0, r3:2) (r) ;
|
r3 = byteop1p (r1:0, r3:2) (r) ;
|
||||||
r3 = byteop1p (r1:0, r3:2) (t) ;
|
r3 = byteop1p (r1:0, r3:2) (t) ;
|
||||||
r3 = byteop1p (r1:0, r3:2) (t,r) ;
|
r3 = byteop1p (r1:0, r3:2) (t,r) ;
|
||||||
|
|
||||||
r0 = byteop1p (r3:2,r1:0);
|
r0 = byteop1p (r3:2,r1:0);
|
||||||
r1 = byteop1p (r3:2,r1:0)(r) ;
|
r1 = byteop1p (r3:2,r1:0)(r) ;
|
||||||
r2 = byteop1p (r3:2,r1:0)(t) ;
|
r2 = byteop1p (r3:2,r1:0)(t) ;
|
||||||
r3 = byteop1p (r3:2,r1:0)(t,r) ;
|
r3 = byteop1p (r3:2,r1:0)(t,r) ;
|
||||||
|
|
||||||
/* forward byte order operands */
|
/* forward byte order operands */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDL) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDL) ;
|
||||||
/* round into low bytes (b) */
|
/* round into low bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDH) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDH) ;
|
||||||
/* round into high bytes (b) */
|
/* round into high bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TL) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TL) ;
|
||||||
/* truncate into low bytes (b) */
|
/* truncate into low bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TH) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TH) ;
|
||||||
/* truncate into high bytes (b) */
|
/* truncate into high bytes (b) */
|
||||||
/* reverse byte order operands */
|
/* reverse byte order operands */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDL, R) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDL, R) ;
|
||||||
/* round into low bytes (b) */
|
/* round into low bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDH, R) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (RNDH, R) ;
|
||||||
/* round into high bytes (b) */
|
/* round into high bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TL, R) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TL, R) ;
|
||||||
/* truncate into low bytes (b) */
|
/* truncate into low bytes (b) */
|
||||||
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TH, R) ;
|
//Dreg = BYTEOP2P (Dreg_pair, Dreg_pair) (TH, R) ;
|
||||||
/* truncate into high bytes (b) */
|
/* truncate into high bytes (b) */
|
||||||
|
|
||||||
r3 = byteop2p (r1:0, r3:2) (rndl) ;
|
r3 = byteop2p (r1:0, r3:2) (rndl) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (rndh) ;
|
r3 = byteop2p (r1:0, r3:2) (rndh) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (tl) ;
|
r3 = byteop2p (r1:0, r3:2) (tl) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (th) ;
|
r3 = byteop2p (r1:0, r3:2) (th) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (rndl, r) ;
|
r3 = byteop2p (r1:0, r3:2) (rndl, r) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (rndh, r) ;
|
r3 = byteop2p (r1:0, r3:2) (rndh, r) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (tl, r) ;
|
r3 = byteop2p (r1:0, r3:2) (tl, r) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (th, r) ;
|
r3 = byteop2p (r1:0, r3:2) (th, r) ;
|
||||||
|
|
||||||
r0 = byteop2p (r1:0, r3:2) (rndl) ;
|
r0 = byteop2p (r1:0, r3:2) (rndl) ;
|
||||||
r1 = byteop2p (r1:0, r3:2) (rndh) ;
|
r1 = byteop2p (r1:0, r3:2) (rndh) ;
|
||||||
r2 = byteop2p (r1:0, r3:2) (tl) ;
|
r2 = byteop2p (r1:0, r3:2) (tl) ;
|
||||||
r3 = byteop2p (r1:0, r3:2) (th) ;
|
r3 = byteop2p (r1:0, r3:2) (th) ;
|
||||||
r4 = byteop2p (r1:0, r3:2) (rndl, r) ;
|
r4 = byteop2p (r1:0, r3:2) (rndl, r) ;
|
||||||
r5 = byteop2p (r1:0, r3:2) (rndh, r) ;
|
r5 = byteop2p (r1:0, r3:2) (rndh, r) ;
|
||||||
r6 = byteop2p (r1:0, r3:2) (tl, r) ;
|
r6 = byteop2p (r1:0, r3:2) (tl, r) ;
|
||||||
r7 = byteop2p (r1:0, r3:2) (th, r) ;
|
r7 = byteop2p (r1:0, r3:2) (th, r) ;
|
||||||
|
|
||||||
r0 = byteop2p (r3:2, r3:2) (rndl) ;
|
r0 = byteop2p (r3:2, r3:2) (rndl) ;
|
||||||
r1 = byteop2p (r3:2, r3:2) (rndh) ;
|
r1 = byteop2p (r3:2, r3:2) (rndh) ;
|
||||||
r2 = byteop2p (r3:2, r3:2) (tl) ;
|
r2 = byteop2p (r3:2, r3:2) (tl) ;
|
||||||
r3 = byteop2p (r3:2, r3:2) (th) ;
|
r3 = byteop2p (r3:2, r3:2) (th) ;
|
||||||
r4 = byteop2p (r3:2, r3:2) (rndl, r) ;
|
r4 = byteop2p (r3:2, r3:2) (rndl, r) ;
|
||||||
r5 = byteop2p (r3:2, r3:2) (rndh, r) ;
|
r5 = byteop2p (r3:2, r3:2) (rndh, r) ;
|
||||||
r6 = byteop2p (r3:2, r3:2) (tl, r) ;
|
r6 = byteop2p (r3:2, r3:2) (tl, r) ;
|
||||||
r7 = byteop2p (r3:2, r3:2) (th, r) ;
|
r7 = byteop2p (r3:2, r3:2) (th, r) ;
|
||||||
|
|
||||||
//Dreg = BYTEPACK ( Dreg, Dreg ) ; /* (b) */
|
//Dreg = BYTEPACK ( Dreg, Dreg ) ; /* (b) */
|
||||||
r0 = bytepack (r0,r0) ;
|
r0 = bytepack (r0,r0) ;
|
||||||
r1 = bytepack (r2,r3) ;
|
r1 = bytepack (r2,r3) ;
|
||||||
r4 = bytepack (r5,r6) ;
|
r4 = bytepack (r5,r6) ;
|
||||||
r7 = bytepack (r0,r1) ;
|
r7 = bytepack (r0,r1) ;
|
||||||
r2 = bytepack (r3,r4) ;
|
r2 = bytepack (r3,r4) ;
|
||||||
r5 = bytepack (r6,r7) ;
|
r5 = bytepack (r6,r7) ;
|
||||||
|
|
||||||
/* forward byte order operands */
|
/* forward byte order operands */
|
||||||
//(Dreg, Dreg) = BYTEOP16M (Dreg_pair, Dreg_pair) ; /* (b */)
|
//(Dreg, Dreg) = BYTEOP16M (Dreg_pair, Dreg_pair) ; /* (b */)
|
||||||
/* reverse byte order operands */
|
/* reverse byte order operands */
|
||||||
//(Dreg, Dreg) = BYTEOP16M (Dreg-pair, Dreg-pair) (R) ; /* (b) */
|
//(Dreg, Dreg) = BYTEOP16M (Dreg-pair, Dreg-pair) (R) ; /* (b) */
|
||||||
|
|
||||||
(r1,r2)= byteop16m (r3:2,r1:0) ;
|
(r1,r2)= byteop16m (r3:2,r1:0) ;
|
||||||
(r1,r2)= byteop16m (r3:2,r1:0) (r) ;
|
(r1,r2)= byteop16m (r3:2,r1:0) (r) ;
|
||||||
(r0,r1)= byteop16m (r3:2,r1:0) ;
|
(r0,r1)= byteop16m (r3:2,r1:0) ;
|
||||||
(r2,r3)= byteop16m (r3:2,r1:0) (r) ;
|
(r2,r3)= byteop16m (r3:2,r1:0) (r) ;
|
||||||
(r3,r5)= byteop16m (r3:2,r1:0) ;
|
(r3,r5)= byteop16m (r3:2,r1:0) ;
|
||||||
(r6,r7)= byteop16m (r3:2,r1:0) (r) ;
|
(r6,r7)= byteop16m (r3:2,r1:0) (r) ;
|
||||||
|
|
||||||
(r1,r2)= byteop16m (r1:0,r1:0) ;
|
(r1,r2)= byteop16m (r1:0,r1:0) ;
|
||||||
(r1,r2)= byteop16m (r1:0,r1:0) (r) ;
|
(r1,r2)= byteop16m (r1:0,r1:0) (r) ;
|
||||||
(r0,r1)= byteop16m (r1:0,r1:0) ;
|
(r0,r1)= byteop16m (r1:0,r1:0) ;
|
||||||
(r2,r3)= byteop16m (r1:0,r1:0) (r) ;
|
(r2,r3)= byteop16m (r1:0,r1:0) (r) ;
|
||||||
(r3,r5)= byteop16m (r1:0,r1:0) ;
|
(r3,r5)= byteop16m (r1:0,r1:0) ;
|
||||||
(r6,r7)= byteop16m (r1:0,r1:0) (r) ;
|
(r6,r7)= byteop16m (r1:0,r1:0) (r) ;
|
||||||
|
|
||||||
(r1,r2)= byteop16m (r1:0,r3:2) ;
|
(r1,r2)= byteop16m (r1:0,r3:2) ;
|
||||||
(r1,r2)= byteop16m (r1:0,r3:2) (r) ;
|
(r1,r2)= byteop16m (r1:0,r3:2) (r) ;
|
||||||
(r0,r1)= byteop16m (r1:0,r3:2) ;
|
(r0,r1)= byteop16m (r1:0,r3:2) ;
|
||||||
(r2,r3)= byteop16m (r1:0,r3:2) (r) ;
|
(r2,r3)= byteop16m (r1:0,r3:2) (r) ;
|
||||||
(r3,r5)= byteop16m (r1:0,r3:2) ;
|
(r3,r5)= byteop16m (r1:0,r3:2) ;
|
||||||
(r6,r7)= byteop16m (r1:0,r3:2) (r) ;
|
(r6,r7)= byteop16m (r1:0,r3:2) (r) ;
|
||||||
|
|
||||||
(r1,r2)= byteop16m (r3:2,r3:2) ;
|
(r1,r2)= byteop16m (r3:2,r3:2) ;
|
||||||
(r1,r2)= byteop16m (r3:2,r3:2) (r) ;
|
(r1,r2)= byteop16m (r3:2,r3:2) (r) ;
|
||||||
(r0,r1)= byteop16m (r3:2,r3:2) ;
|
(r0,r1)= byteop16m (r3:2,r3:2) ;
|
||||||
(r2,r3)= byteop16m (r3:2,r3:2) (r) ;
|
(r2,r3)= byteop16m (r3:2,r3:2) (r) ;
|
||||||
(r3,r5)= byteop16m (r3:2,r3:2) ;
|
(r3,r5)= byteop16m (r3:2,r3:2) ;
|
||||||
(r6,r7)= byteop16m (r3:2,r3:2) (r) ;
|
(r6,r7)= byteop16m (r3:2,r3:2) (r) ;
|
||||||
|
|
||||||
//SAA (Dreg_pair, Dreg_pair) ; /* forward byte order operands (b) */
|
//SAA (Dreg_pair, Dreg_pair) ; /* forward byte order operands (b) */
|
||||||
//SAA (Dreg_pair, Dreg_pair) (R) ; /* reverse byte order operands (b) */
|
//SAA (Dreg_pair, Dreg_pair) (R) ; /* reverse byte order operands (b) */
|
||||||
|
|
||||||
saa(r1:0, r3:2) || r0 = [i0++] || r2 = [i1++] ; /* parallel fill instructions */
|
saa(r1:0, r3:2) || r0 = [i0++] || r2 = [i1++] ; /* parallel fill instructions */
|
||||||
saa (r1:0, r3:2) (R) || r1 = [i0++] || r3 = [i1++] ; /* reverse, parallel fill instructions */
|
saa (r1:0, r3:2) (R) || r1 = [i0++] || r3 = [i1++] ; /* reverse, parallel fill instructions */
|
||||||
saa (r1:0, r3:2) ; /* last SAA in a loop, no more fill required */
|
saa (r1:0, r3:2) ; /* last SAA in a loop, no more fill required */
|
||||||
|
|
||||||
//( Dreg , Dreg ) = BYTEUNPACK Dreg_pair ; /* (b) */
|
//( Dreg , Dreg ) = BYTEUNPACK Dreg_pair ; /* (b) */
|
||||||
//( Dreg , Dreg ) = BYTEUNPACK Dreg_pair (R) ; /* reverse source order (b) */
|
//( Dreg , Dreg ) = BYTEUNPACK Dreg_pair (R) ; /* reverse source order (b) */
|
||||||
|
|
||||||
(r6,r5) = byteunpack r1:0 ; /* non-reversing sources */
|
(r6,r5) = byteunpack r1:0 ; /* non-reversing sources */
|
||||||
(r6,r5) = byteunpack r1:0 (R) ; /* reversing sources case */
|
(r6,r5) = byteunpack r1:0 (R) ; /* reversing sources case */
|
||||||
(r6,r5) = byteunpack r3:2 ; /* non-reversing sources */
|
(r6,r5) = byteunpack r3:2 ; /* non-reversing sources */
|
||||||
(r6,r5) = byteunpack r3:2 (R) ; /* reversing sources case */
|
(r6,r5) = byteunpack r3:2 (R) ; /* reversing sources case */
|
||||||
(r0,r1) = byteunpack r1:0 ; /* non-reversing sources */
|
(r0,r1) = byteunpack r1:0 ; /* non-reversing sources */
|
||||||
(r2,r3) = byteunpack r1:0 (R) ; /* reversing sources case */
|
(r2,r3) = byteunpack r1:0 (R) ; /* reversing sources case */
|
||||||
(r4,r5) = byteunpack r3:2 ; /* non-reversing sources */
|
(r4,r5) = byteunpack r3:2 ; /* non-reversing sources */
|
||||||
(r6,r7) = byteunpack r3:2 (R) ; /* reversing sources case */
|
(r6,r7) = byteunpack r3:2 (R) ; /* reversing sources case */
|
||||||
|
|
Loading…
Add table
Reference in a new issue