1//Original:/testcases/core/c_dsp32shift_expadj_h/c_dsp32shift_expadj_h.dsp 2// Spec Reference: dsp32shift expadj rh 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x80000008; 12imm32 r1, 0x80010008; 13imm32 r2, 0x80020008; 14imm32 r3, 0x80030008; 15imm32 r4, 0x80040008; 16imm32 r5, 0x80050008; 17imm32 r6, 0x80060008; 18imm32 r7, 0x80070008; 19R1.L = EXPADJ( R1.H , R0.L ); 20R2.L = EXPADJ( R2.H , R0.L ); 21R3.L = EXPADJ( R3.H , R0.L ); 22R4.L = EXPADJ( R4.H , R0.L ); 23R5.L = EXPADJ( R5.H , R0.L ); 24R6.L = EXPADJ( R6.H , R0.L ); 25R7.L = EXPADJ( R7.H , R0.L ); 26R0.L = EXPADJ( R0.H , R0.L ); 27CHECKREG r0, 0x80000000; 28CHECKREG r1, 0x80010000; 29CHECKREG r2, 0x80020000; 30CHECKREG r3, 0x80030000; 31CHECKREG r4, 0x80040000; 32CHECKREG r5, 0x80050000; 33CHECKREG r6, 0x80060000; 34CHECKREG r7, 0x80070000; 35 36imm32 r0, 0x90010009; 37imm32 r1, 0x00010009; 38imm32 r2, 0x90020009; 39imm32 r3, 0x90030009; 40imm32 r4, 0x90040009; 41imm32 r5, 0x90050009; 42imm32 r6, 0x90060009; 43imm32 r7, 0x90070009; 44R0.L = EXPADJ( R0.H , R1.L ); 45R2.L = EXPADJ( R2.H , R1.L ); 46R3.L = EXPADJ( R3.H , R1.L ); 47R4.L = EXPADJ( R4.H , R1.L ); 48R5.L = EXPADJ( R5.H , R1.L ); 49R6.L = EXPADJ( R6.H , R1.L ); 50R7.L = EXPADJ( R7.H , R1.L ); 51R1.L = EXPADJ( R1.H , R1.L ); 52CHECKREG r0, 0x90010000; 53CHECKREG r1, 0x00010009; 54CHECKREG r2, 0x90020000; 55CHECKREG r3, 0x90030000; 56CHECKREG r4, 0x90040000; 57CHECKREG r5, 0x90050000; 58CHECKREG r6, 0x90060000; 59CHECKREG r7, 0x90070000; 60 61 62imm32 r0, 0xa001000a; 63imm32 r1, 0xa001000a; 64imm32 r2, 0xa002000a; 65imm32 r3, 0xa003000a; 66imm32 r4, 0xa004000a; 67imm32 r5, 0xa005000a; 68imm32 r6, 0xa006000a; 69imm32 r7, 0xa007000a; 70R0.L = EXPADJ( R0.H , R2.L ); 71R1.L = EXPADJ( R1.H , R2.L ); 72R3.L = EXPADJ( R3.H , R2.L ); 73R4.L = EXPADJ( R4.H , R2.L ); 74R5.L = EXPADJ( R5.H , R2.L ); 75R6.L = EXPADJ( R6.H , R2.L ); 76R7.L = EXPADJ( R7.H , R2.L ); 77R2.L = EXPADJ( R2.H , R2.L ); 78CHECKREG r0, 0xA0010000; 79CHECKREG r1, 0xA0010000; 80CHECKREG r2, 0xA0020000; 81CHECKREG r3, 0xA0030000; 82CHECKREG r4, 0xA0040000; 83CHECKREG r5, 0xA0050000; 84CHECKREG r6, 0xA0060000; 85CHECKREG r7, 0xA0070000; 86 87imm32 r0, 0xc001000c; 88imm32 r1, 0xc001000c; 89imm32 r2, 0xc002000c; 90imm32 r3, 0xc003001c; 91imm32 r4, 0xc004000c; 92imm32 r5, 0xc005000c; 93imm32 r6, 0xc006000c; 94imm32 r7, 0xc007000c; 95R0.L = EXPADJ( R0.H , R3.L ); 96R1.L = EXPADJ( R1.H , R3.L ); 97R2.L = EXPADJ( R2.H , R3.L ); 98R4.L = EXPADJ( R4.H , R3.L ); 99R5.L = EXPADJ( R5.H , R3.L ); 100R6.L = EXPADJ( R6.H , R3.L ); 101R7.L = EXPADJ( R7.H , R3.L ); 102R3.L = EXPADJ( R3.H , R3.L ); 103CHECKREG r0, 0xC0010001; 104CHECKREG r1, 0xC0010001; 105CHECKREG r2, 0xC0020001; 106CHECKREG r3, 0xC0030001; 107CHECKREG r4, 0xC0040001; 108CHECKREG r5, 0xC0050001; 109CHECKREG r6, 0xC0060001; 110CHECKREG r7, 0xC0070001; 111 112imm32 r0, 0xb0000008; 113imm32 r1, 0xb0010008; 114imm32 r2, 0xb0020008; 115imm32 r3, 0xb0030008; 116imm32 r4, 0xb0040008; 117imm32 r5, 0xb0050008; 118imm32 r6, 0xb0060008; 119imm32 r7, 0xb0070008; 120R0.L = EXPADJ( R1.H , R4.L ); 121R1.L = EXPADJ( R2.H , R4.L ); 122R2.L = EXPADJ( R3.H , R4.L ); 123R3.L = EXPADJ( R4.H , R4.L ); 124R5.L = EXPADJ( R5.H , R4.L ); 125R6.L = EXPADJ( R6.H , R4.L ); 126R7.L = EXPADJ( R7.H , R4.L ); 127R4.L = EXPADJ( R0.H , R4.L ); 128CHECKREG r0, 0xB0000000; 129CHECKREG r1, 0xB0010000; 130CHECKREG r2, 0xB0020000; 131CHECKREG r3, 0xB0030000; 132CHECKREG r4, 0xB0040000; 133CHECKREG r5, 0xB0050000; 134CHECKREG r6, 0xB0060000; 135CHECKREG r7, 0xB0070000; 136 137imm32 r0, 0xc0010009; 138imm32 r1, 0xc0010009; 139imm32 r2, 0xc0020009; 140imm32 r3, 0xc0030009; 141imm32 r4, 0xc0040009; 142imm32 r5, 0xc0050009; 143imm32 r6, 0xc0060009; 144imm32 r7, 0xc0070009; 145R0.L = EXPADJ( R0.H , R5.L ); 146R1.L = EXPADJ( R2.H , R5.L ); 147R2.L = EXPADJ( R3.H , R5.L ); 148R3.L = EXPADJ( R4.H , R5.L ); 149R4.L = EXPADJ( R5.H , R5.L ); 150R6.L = EXPADJ( R6.H , R5.L ); 151R7.L = EXPADJ( R7.H , R5.L ); 152R5.L = EXPADJ( R1.H , R5.L ); 153CHECKREG r0, 0xC0010001; 154CHECKREG r1, 0xC0010001; 155CHECKREG r2, 0xC0020001; 156CHECKREG r3, 0xC0030001; 157CHECKREG r4, 0xC0040001; 158CHECKREG r5, 0xC0050001; 159CHECKREG r6, 0xC0060001; 160CHECKREG r7, 0xC0070001; 161 162 163imm32 r0, 0xe001000a; 164imm32 r1, 0xe001000a; 165imm32 r2, 0xe002000a; 166imm32 r3, 0xe003000a; 167imm32 r4, 0xe004000a; 168imm32 r5, 0xe005000a; 169imm32 r6, 0xe006000a; 170imm32 r7, 0xe007000a; 171R0.L = EXPADJ( R0.H , R6.L ); 172R1.L = EXPADJ( R1.H , R6.L ); 173R2.L = EXPADJ( R3.H , R6.L ); 174R3.L = EXPADJ( R4.H , R6.L ); 175R4.L = EXPADJ( R5.H , R6.L ); 176R5.L = EXPADJ( R6.H , R6.L ); 177R6.L = EXPADJ( R7.H , R6.L ); 178R7.L = EXPADJ( R2.H , R6.L ); 179CHECKREG r0, 0xE0010002; 180CHECKREG r1, 0xE0010002; 181CHECKREG r2, 0xE0020002; 182CHECKREG r3, 0xE0030002; 183CHECKREG r4, 0xE0040002; 184CHECKREG r5, 0xE0050002; 185CHECKREG r6, 0xE0060002; 186CHECKREG r7, 0xE0070002; 187 188imm32 r0, 0xd001000c; 189imm32 r1, 0xd001000c; 190imm32 r2, 0xd002000c; 191imm32 r3, 0xd003001c; 192imm32 r4, 0xd004000c; 193imm32 r5, 0xd005000c; 194imm32 r6, 0xd006000c; 195imm32 r7, 0xd007000c; 196R0.L = EXPADJ( R0.H , R7.L ); 197R1.L = EXPADJ( R1.H , R7.L ); 198R2.L = EXPADJ( R2.H , R7.L ); 199R3.L = EXPADJ( R4.H , R7.L ); 200R4.L = EXPADJ( R5.H , R7.L ); 201R5.L = EXPADJ( R6.H , R7.L ); 202R6.L = EXPADJ( R7.H , R7.L ); 203R7.L = EXPADJ( R3.H , R7.L ); 204CHECKREG r0, 0xD0010001; 205CHECKREG r1, 0xD0010001; 206CHECKREG r2, 0xD0020001; 207CHECKREG r3, 0xD0030001; 208CHECKREG r4, 0xD0040001; 209CHECKREG r5, 0xD0050001; 210CHECKREG r6, 0xD0060001; 211CHECKREG r7, 0xD0070001; 212 213 214pass 215