1//Original:/testcases/core/c_pushpopmultiple_preg/c_pushpopmultiple_preg.dsp 2// Spec Reference: pushpopmultiple preg 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 FP = SP; 9 10 imm32 r0, 0x00000000; 11 ASTAT = r0; 12 13 P1 = 0xa1 (X); 14 P2 = 0xa2 (X); 15 P3 = 0xa3 (X); 16 P4 = 0xa4 (X); 17 P5 = 0xa5 (X); 18 [ -- SP ] = ( P5:1 ); 19 P1 = 0; 20 P2 = 0; 21 P3 = 0; 22 P4 = 0; 23 P5 = 0; 24 ( P5:1 ) = [ SP ++ ]; 25 CHECKREG p1, 0x000000a1; 26 CHECKREG p2, 0x000000a2; 27 CHECKREG p3, 0x000000a3; 28 CHECKREG p4, 0x000000a4; 29 CHECKREG p5, 0x000000a5; 30 31 P2 = 0xb2 (X); 32 P3 = 0xb3 (X); 33 P4 = 0xb4 (X); 34 P5 = 0xb5 (X); 35 [ -- SP ] = ( P5:2 ); 36 P2 = 0; 37 P3 = 0; 38 P4 = 0; 39 P5 = 0; 40 ( P5:2 ) = [ SP ++ ]; 41 CHECKREG p1, 0x000000a1; 42 CHECKREG p2, 0x000000b2; 43 CHECKREG p3, 0x000000b3; 44 CHECKREG p4, 0x000000b4; 45 CHECKREG p5, 0x000000b5; 46 47 P3 = 0xc3 (X); 48 P4 = 0xc4 (X); 49 P5 = 0xc5 (X); 50 [ -- SP ] = ( P5:3 ); 51 P3 = 0; 52 P4 = 0; 53 P5 = 0; 54 ( P5:3 ) = [ SP ++ ]; 55 CHECKREG p1, 0x000000a1; 56 CHECKREG p2, 0x000000b2; 57 CHECKREG p3, 0x000000c3; 58 CHECKREG p4, 0x000000c4; 59 CHECKREG p5, 0x000000c5; 60 61 P4 = 0xd4 (X); 62 P5 = 0xd5 (X); 63 [ -- SP ] = ( P5:4 ); 64 P4 = 0; 65 P5 = 0; 66 ( P5:4 ) = [ SP ++ ]; 67 CHECKREG p1, 0x000000a1; 68 CHECKREG p2, 0x000000b2; 69 CHECKREG p3, 0x000000c3; 70 CHECKREG p4, 0x000000d4; 71 CHECKREG p5, 0x000000d5; 72 73 P5 = 0xe5 (X); 74 [ -- SP ] = ( P5:5 ); 75 P5 = 0; 76 ( P5:5 ) = [ SP ++ ]; 77 CHECKREG p1, 0x000000a1; 78 CHECKREG p2, 0x000000b2; 79 CHECKREG p3, 0x000000c3; 80 CHECKREG p4, 0x000000d4; 81 CHECKREG p5, 0x000000e5; 82 83 pass 84