//Original:/testcases/core/c_pushpopmultiple_preg/c_pushpopmultiple_preg.dsp | |
// Spec Reference: pushpopmultiple preg | |
# mach: bfin | |
.include "testutils.inc" | |
start | |
FP = SP; | |
imm32 r0, 0x00000000; | |
ASTAT = r0; | |
P1 = 0xa1 (X); | |
P2 = 0xa2 (X); | |
P3 = 0xa3 (X); | |
P4 = 0xa4 (X); | |
P5 = 0xa5 (X); | |
[ -- SP ] = ( P5:1 ); | |
P1 = 0; | |
P2 = 0; | |
P3 = 0; | |
P4 = 0; | |
P5 = 0; | |
( P5:1 ) = [ SP ++ ]; | |
CHECKREG p1, 0x000000a1; | |
CHECKREG p2, 0x000000a2; | |
CHECKREG p3, 0x000000a3; | |
CHECKREG p4, 0x000000a4; | |
CHECKREG p5, 0x000000a5; | |
P2 = 0xb2 (X); | |
P3 = 0xb3 (X); | |
P4 = 0xb4 (X); | |
P5 = 0xb5 (X); | |
[ -- SP ] = ( P5:2 ); | |
P2 = 0; | |
P3 = 0; | |
P4 = 0; | |
P5 = 0; | |
( P5:2 ) = [ SP ++ ]; | |
CHECKREG p1, 0x000000a1; | |
CHECKREG p2, 0x000000b2; | |
CHECKREG p3, 0x000000b3; | |
CHECKREG p4, 0x000000b4; | |
CHECKREG p5, 0x000000b5; | |
P3 = 0xc3 (X); | |
P4 = 0xc4 (X); | |
P5 = 0xc5 (X); | |
[ -- SP ] = ( P5:3 ); | |
P3 = 0; | |
P4 = 0; | |
P5 = 0; | |
( P5:3 ) = [ SP ++ ]; | |
CHECKREG p1, 0x000000a1; | |
CHECKREG p2, 0x000000b2; | |
CHECKREG p3, 0x000000c3; | |
CHECKREG p4, 0x000000c4; | |
CHECKREG p5, 0x000000c5; | |
P4 = 0xd4 (X); | |
P5 = 0xd5 (X); | |
[ -- SP ] = ( P5:4 ); | |
P4 = 0; | |
P5 = 0; | |
( P5:4 ) = [ SP ++ ]; | |
CHECKREG p1, 0x000000a1; | |
CHECKREG p2, 0x000000b2; | |
CHECKREG p3, 0x000000c3; | |
CHECKREG p4, 0x000000d4; | |
CHECKREG p5, 0x000000d5; | |
P5 = 0xe5 (X); | |
[ -- SP ] = ( P5:5 ); | |
P5 = 0; | |
( P5:5 ) = [ SP ++ ]; | |
CHECKREG p1, 0x000000a1; | |
CHECKREG p2, 0x000000b2; | |
CHECKREG p3, 0x000000c3; | |
CHECKREG p4, 0x000000d4; | |
CHECKREG p5, 0x000000e5; | |
pass |