mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
101 lines
1.8 KiB
ArmAsm
101 lines
1.8 KiB
ArmAsm
|
//Original:/proj/frio/dv/testcases/core/c_cactrl_iflush_pr_pp/c_cactrl_iflush_pr_pp.dsp
|
||
|
// Spec Reference: c_cactrl iflush_pr [p++]
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
loadsym p2, SUBR1;
|
||
|
// set all regs
|
||
|
|
||
|
imm32 r0, 0x13545abd;
|
||
|
imm32 r1, 0xadbcfec7;
|
||
|
imm32 r2, 0xa1245679;
|
||
|
imm32 r3, 0x00060007;
|
||
|
imm32 r4, 0xefbc4569;
|
||
|
imm32 r5, 0x1235000b;
|
||
|
imm32 r6, 0x000c000d;
|
||
|
imm32 r7, 0x678e000f;
|
||
|
// The result accumulated in A0 and A1, and stored to a reg half
|
||
|
R2.H = ( A1 = R1.L * R0.H ), A0 = R1.H * R0.L;
|
||
|
R3.H = A1 , A0 = R7.H * R6.L (T);
|
||
|
// begin of iflush
|
||
|
IFLUSH [ P2 ++ ]; // p2 = 0x448
|
||
|
R7 = 0;
|
||
|
ASTAT = R7;
|
||
|
IF !CC JUMP SUBR1;
|
||
|
JBACK:
|
||
|
R6 = 0;
|
||
|
|
||
|
//r4 = (a1 = l*h) M, a0 = h*l (r3,r2);
|
||
|
//r5 a1 = l*h, = (a0 = h*l) (r1,r0) IS;
|
||
|
CHECKREG r2, 0xFFD15679;
|
||
|
CHECKREG r3, 0xFFD00007;
|
||
|
CHECKREG r4, 0x00074569;
|
||
|
CHECKREG r5, 0x12358000;
|
||
|
//CHECKREG p2, 0x00000468;
|
||
|
|
||
|
pass
|
||
|
|
||
|
//.code 0x448
|
||
|
//.code CODE_ADDR_1
|
||
|
SUBR1:
|
||
|
R4.H = ( A1 = R3.L * R2.H ) (M), A0 = R3.H * R2.L;
|
||
|
A1 = R1.L * R0.H, R5.L = ( A0 = R1.H * R0.L ) (ISS2);
|
||
|
IF !CC JUMP JBACK;
|
||
|
NOP; NOP; NOP; NOP; NOP;
|
||
|
|
||
|
// Pre-load memory witb known data
|
||
|
// More data is defined than will actually be used
|
||
|
|
||
|
.data
|
||
|
DATA_ADDR_1:
|
||
|
.dd 0x00010203
|
||
|
.dd 0x04050607
|
||
|
.dd 0x08090A0B
|
||
|
.dd 0x0C0D0E0F
|
||
|
.dd 0x10111213
|
||
|
.dd 0x14151617
|
||
|
.dd 0x18191A1B
|
||
|
.dd 0x1C1D1E1F
|
||
|
|
||
|
DATA_ADDR_2:
|
||
|
.dd 0x20212223
|
||
|
.dd 0x24252627
|
||
|
.dd 0x28292A2B
|
||
|
.dd 0x2C2D2E2F
|
||
|
.dd 0x30313233
|
||
|
.dd 0x34353637
|
||
|
.dd 0x38393A3B
|
||
|
.dd 0x3C3D3E3F
|
||
|
|
||
|
DATA_ADDR_3:
|
||
|
.dd 0x40414243
|
||
|
.dd 0x44454647
|
||
|
.dd 0x48494A4B
|
||
|
.dd 0x4C4D4E4F
|
||
|
.dd 0x50515253
|
||
|
.dd 0x54555657
|
||
|
.dd 0x58595A5B
|
||
|
.dd 0x5C5D5E5F
|
||
|
|
||
|
DATA_ADDR_4:
|
||
|
.dd 0x60616263
|
||
|
.dd 0x64656667
|
||
|
.dd 0x68696A6B
|
||
|
.dd 0x6C6D6E6F
|
||
|
.dd 0x70717273
|
||
|
.dd 0x74757677
|
||
|
.dd 0x78797A7B
|
||
|
.dd 0x7C7D7E7F
|
||
|
|
||
|
DATA_ADDR_5:
|
||
|
.dd 0x80818283
|
||
|
.dd 0x84858687
|
||
|
.dd 0x88898A8B
|
||
|
.dd 0x8C8D8E8F
|
||
|
.dd 0x90919293
|
||
|
.dd 0x94959697
|
||
|
.dd 0x98999A9B
|
||
|
.dd 0x9C9D9E9F
|