123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- //Original:/testcases/core/c_cc2stat_cc_az/c_cc2stat_cc_az.dsp
- // Spec Reference: cc2stat cc az
- # mach: bfin
- .include "testutils.inc"
- start
- imm32 r0, 0x00000000;
- imm32 r1, 0x00000000;
- imm32 r2, 0x00000000;
- imm32 r3, 0x00000000;
- imm32 r4, 0x00000000;
- imm32 r5, 0x00000000;
- imm32 r6, 0x00000000;
- imm32 r7, 0x00000000;
- // test CC = AZ 0-0, 0-1, 1-0, 1-1
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- CC = AZ; //
- R0 = CC; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- CC = AZ; //
- R1 = CC; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- CC = AZ; //
- R2 = CC; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- CC = AZ; //
- R3 = CC; //
- // test cc |= AZ (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- CC |= AZ; //
- R4 = CC; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- CC |= AZ; //
- R5 = CC; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- CC |= AZ; //
- R6 = CC; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- CC |= AZ; //
- R7 = CC; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000001;
- CHECKREG r2, 0x00000000;
- CHECKREG r3, 0x00000001;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000001;
- CHECKREG r6, 0x00000001;
- CHECKREG r7, 0x00000001;
- // test CC &= AZ (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- CC &= AZ; //
- R4 = CC; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- CC &= AZ; //
- R5 = CC; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- CC &= AZ; //
- R6 = CC; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- CC &= AZ; //
- R7 = CC; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000001;
- CHECKREG r2, 0x00000000;
- CHECKREG r3, 0x00000001;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000000;
- CHECKREG r6, 0x00000000;
- CHECKREG r7, 0x00000001;
- // test CC ^= AZ (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- CC ^= AZ; //
- R4 = CC; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- CC ^= AZ; //
- R5 = CC; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- CC ^= AZ; //
- R6 = CC; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- CC ^= AZ; //
- R7 = CC; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000001;
- CHECKREG r2, 0x00000000;
- CHECKREG r3, 0x00000001;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000001;
- CHECKREG r6, 0x00000001;
- CHECKREG r7, 0x00000000;
- // test AZ = CC 0-0, 0-1, 1-0, 1-1
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- AZ = CC; //
- R0 = ASTAT; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- AZ = CC; //
- R1 = ASTAT; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- AZ = CC; //
- R2 = ASTAT; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- AZ = CC; //
- R3 = ASTAT; //
- // test AZ |= CC (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- AZ |= CC; //
- R4 = ASTAT; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- AZ |= CC; //
- R5 = ASTAT; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- AZ |= CC; //
- R6 = ASTAT; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- AZ |= CC; //
- R7 = ASTAT; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000000;
- CHECKREG r2, 0x00000021;
- CHECKREG r3, 0x00000021;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000001;
- CHECKREG r6, 0x00000021;
- CHECKREG r7, 0x00000021;
- // test AZ &= CC (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- AZ &= CC; //
- R4 = ASTAT; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- AZ &= CC; //
- R5 = ASTAT; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- AZ &= CC; //
- R6 = ASTAT; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- AZ &= CC; //
- R7 = ASTAT; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000000;
- CHECKREG r2, 0x00000021;
- CHECKREG r3, 0x00000021;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000000;
- CHECKREG r6, 0x00000020;
- CHECKREG r7, 0x00000021;
- // test AZ ^= CC (0-0, 0-1, 1-0, 1-1)
- R7 = 0x00;
- ASTAT = R7; // cc = 0, AZ = 0
- AZ ^= CC; //
- R4 = ASTAT; //
- R7 = 0x01;
- ASTAT = R7; // cc = 0, AZ = 1
- AZ ^= CC; //
- R5 = ASTAT; //
- R7 = 0x20;
- ASTAT = R7; // cc = 1, AZ = 0
- AZ ^= CC; //
- R6 = ASTAT; //
- R7 = 0x21;
- ASTAT = R7; // cc = 1, AZ = 1
- AZ ^= CC; //
- R7 = ASTAT; //
- CHECKREG r0, 0x00000000;
- CHECKREG r1, 0x00000000;
- CHECKREG r2, 0x00000021;
- CHECKREG r3, 0x00000021;
- CHECKREG r4, 0x00000000;
- CHECKREG r5, 0x00000001;
- CHECKREG r6, 0x00000021;
- CHECKREG r7, 0x00000020;
- pass
|