mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
601 lines
15 KiB
ArmAsm
601 lines
15 KiB
ArmAsm
|
//Original:/proj/frio/dv/testcases/core/c_compi2opd_flags/c_compi2opd_flags.dsp
|
||
|
// Spec Reference: compi2opd dregs += imm7 flags (az, an, ac, av0)
|
||
|
# mach: bfin
|
||
|
|
||
|
#include "test.h"
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
INIT_R_REGS 0;
|
||
|
ASTAT = R0; // initialize astat
|
||
|
|
||
|
// AZ for R0
|
||
|
imm32 r0, 0x00000000;
|
||
|
R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R0 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R0 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R1 = R0;
|
||
|
R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R0
|
||
|
imm32 r0, 0xffffffff;
|
||
|
R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R1 = R0;
|
||
|
R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0xFFFFFFFF;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R0
|
||
|
imm32 r0, 0x7fffffff;
|
||
|
R0 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R1 = R0;
|
||
|
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R0;
|
||
|
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFE;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r2, 0x7FFFFFFF;
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); //C
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN); // A
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R0
|
||
|
R0 = 0;
|
||
|
ASTAT = R0;
|
||
|
imm32 r0, 0x80000000;
|
||
|
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R1 = R0;
|
||
|
R0 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R0;
|
||
|
R0 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000001;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r2, 0x80000000;
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R0
|
||
|
R1 = 0;
|
||
|
ASTAT = R1;
|
||
|
imm32 r1, 0x00000000;
|
||
|
R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R1 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R1 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R0 = R1;
|
||
|
R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R1
|
||
|
imm32 r1, 0xffffffff;
|
||
|
R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R0 = R1;
|
||
|
R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r1, 0xFFFFFFFF;
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R1
|
||
|
imm32 r1, 0x7fffffff;
|
||
|
R1 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R1;
|
||
|
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R1;
|
||
|
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r1, 0x7FFFFFFE;
|
||
|
CHECKREG r2, 0x7FFFFFFF;
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R1
|
||
|
R1 = 0;
|
||
|
ASTAT = R1;
|
||
|
imm32 r1, 0x80000000;
|
||
|
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R1;
|
||
|
R1 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R1;
|
||
|
R1 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r1, 0x80000001;
|
||
|
CHECKREG r2, 0x80000000;
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R2
|
||
|
imm32 r2, 0x00000000;
|
||
|
ASTAT = R2;
|
||
|
R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R2 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R2 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R1 = R2;
|
||
|
R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r2, 0x00000000;
|
||
|
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R2
|
||
|
imm32 r2, 0xffffffff;
|
||
|
R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R1 = R2;
|
||
|
R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r2, 0xFFFFFFFF;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R2
|
||
|
imm32 r2, 0x7fffffff;
|
||
|
R2 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R2;
|
||
|
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R2;
|
||
|
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r2, 0x7FFFFFFE;
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R2
|
||
|
R2 = 0;
|
||
|
ASTAT = R2;
|
||
|
imm32 r2, 0x80000000;
|
||
|
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R2;
|
||
|
R2 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R2;
|
||
|
R2 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r2, 0x80000001;
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R3
|
||
|
imm32 r3, 0x00000000;
|
||
|
ASTAT = R3;
|
||
|
R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R3 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R3 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R0 = R3;
|
||
|
R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R2 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r3, 0x00000000;
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R3
|
||
|
imm32 r3, 0xffffffff;
|
||
|
R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R0 = R3;
|
||
|
R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r3, 0xFFFFFFFF;
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R3
|
||
|
imm32 r3, 0x7fffffff;
|
||
|
R3 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R3;
|
||
|
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R3;
|
||
|
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r3, 0x7FFFFFFE;
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R3
|
||
|
R3 = 0;
|
||
|
ASTAT = R3;
|
||
|
imm32 r3, 0x80000000;
|
||
|
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R3;
|
||
|
R3 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R3;
|
||
|
R3 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r3, 0x80000001;
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R4
|
||
|
imm32 r4, 0x00000000;
|
||
|
ASTAT = R4;
|
||
|
R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R4 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R4 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R1 = R4;
|
||
|
R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R2 = ASTAT;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r3, (_AN);
|
||
|
CHECKREG r4, 0x00000000;
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R4
|
||
|
imm32 r4, 0xffffffff;
|
||
|
R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R1 = R4;
|
||
|
R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r4, 0xFFFFFFFF;
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R4
|
||
|
imm32 r4, 0x7fffffff;
|
||
|
R4 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R1 = R4;
|
||
|
R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R4;
|
||
|
R4 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r2, 0x7FFFFFFF;
|
||
|
CHECKREG r4, 0x7FFFFFFE;
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R4
|
||
|
R4 = 0;
|
||
|
ASTAT = R4;
|
||
|
imm32 r4, 0x80000000;
|
||
|
R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R1 = R4;
|
||
|
R4 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R4;
|
||
|
R4 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r2, 0x80000000;
|
||
|
CHECKREG r4, 0x80000001;
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R5
|
||
|
imm32 r5, 0x00000000;
|
||
|
ASTAT = R5;
|
||
|
R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R5 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R5 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R2 = ASTAT;
|
||
|
R0 = R5;
|
||
|
R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, 0x00000000;
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R5
|
||
|
imm32 r5, 0xffffffff;
|
||
|
R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R0 = R5;
|
||
|
R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, 0xFFFFFFFF;
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R5
|
||
|
imm32 r5, 0x7fffffff;
|
||
|
R5 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R5;
|
||
|
R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R5;
|
||
|
R5 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r2, 0x7FFFFFFF;
|
||
|
CHECKREG r4, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r5, 0x7FFFFFFE;
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R5
|
||
|
R5 = 0;
|
||
|
ASTAT = R5;
|
||
|
imm32 r5, 0x80000000;
|
||
|
R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R5;
|
||
|
R5 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R2 = R5;
|
||
|
R5 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r2, 0x80000000;
|
||
|
CHECKREG r4, (_VS|_AN);
|
||
|
CHECKREG r5, 0x80000001;
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R6
|
||
|
imm32 r6, 0x00000000;
|
||
|
ASTAT = R6;
|
||
|
R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R6 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R0 = ASTAT;
|
||
|
R6 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R1 = R6;
|
||
|
R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R3 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, (_AZ);
|
||
|
|
||
|
// AN, AC for R6
|
||
|
imm32 r6, 0xffffffff;
|
||
|
R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R7 = ASTAT;
|
||
|
R1 = R6;
|
||
|
R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r1, 0x00000000;
|
||
|
CHECKREG r4, (_AZ);
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, 0xFFFFFFFF;
|
||
|
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
|
||
|
|
||
|
// AC, AV0 for R6
|
||
|
R6 = 0;
|
||
|
ASTAT = R6;
|
||
|
imm32 r6, 0x7fffffff;
|
||
|
R6 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R6;
|
||
|
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R4 = ASTAT;
|
||
|
R1 = R6;
|
||
|
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, 0x7FFFFFFE;
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R6
|
||
|
R6 = 0;
|
||
|
ASTAT = R6;
|
||
|
imm32 r6, 0x80000000;
|
||
|
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R7 = ASTAT;
|
||
|
R0 = R6;
|
||
|
R6 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R4 = ASTAT;
|
||
|
R1 = R6;
|
||
|
R6 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r4, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, 0x80000001;
|
||
|
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
|
||
|
// AZ for R7
|
||
|
imm32 r7, 0x00000000;
|
||
|
ASTAT = R7;
|
||
|
R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R1 = ASTAT;
|
||
|
R7 += 1; // az = 0 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R7 += -1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
R0 = R7;
|
||
|
R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R2 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r1, (_AZ);
|
||
|
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r4, (_AN);
|
||
|
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r6, 0x00000000;
|
||
|
CHECKREG r7, 0x00000000;
|
||
|
|
||
|
// AN, AC for R7
|
||
|
imm32 r7, 0xffffffff;
|
||
|
R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0
|
||
|
R4 = ASTAT;
|
||
|
R0 = R7;
|
||
|
R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
|
||
|
R6 = ASTAT;
|
||
|
R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x00000000;
|
||
|
CHECKREG r4, (_AC0|_AC0_COPY|_AZ);
|
||
|
CHECKREG r5, (_AN);
|
||
|
CHECKREG r6, (_AZ);
|
||
|
CHECKREG r7, 0xFFFFFFFF;
|
||
|
|
||
|
// AC, AV0 for R7
|
||
|
R7 = 0;
|
||
|
ASTAT = R7;
|
||
|
imm32 r7, 0x7fffffff;
|
||
|
R7 += 1; // az = 0 an = 1 ac = 0 av0 = 1
|
||
|
R4 = ASTAT;
|
||
|
R0 = R7;
|
||
|
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R7;
|
||
|
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x80000000;
|
||
|
CHECKREG r1, 0x7FFFFFFF;
|
||
|
CHECKREG r4, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r7, 0x7FFFFFFE;
|
||
|
|
||
|
// AZ, AN, AC, AV0 for R7
|
||
|
R7 = 0;
|
||
|
ASTAT = R7;
|
||
|
imm32 r7, 0x80000000;
|
||
|
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
|
||
|
R4 = ASTAT;
|
||
|
R0 = R7;
|
||
|
R7 += 1; // az = 1 an = 1 ac = 0 av0 = 1
|
||
|
R6 = ASTAT;
|
||
|
R1 = R7;
|
||
|
R7 += 1; // az = 0 an = 1 ac = 0 av0 = 0
|
||
|
R5 = ASTAT;
|
||
|
CHECKREG r0, 0x7FFFFFFF;
|
||
|
CHECKREG r1, 0x80000000;
|
||
|
CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
|
||
|
CHECKREG r5, (_VS|_AN);
|
||
|
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
|
||
|
CHECKREG r7, 0x80000001;
|
||
|
|
||
|
pass
|