1//Original:/testcases/core/c_dsp32shift_expadj_l/c_dsp32shift_expadj_l.dsp 2// Spec Reference: dsp32shift expadj rl 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x00000000; 12imm32 r1, 0x0000c001; 13imm32 r2, 0x0000c002; 14imm32 r3, 0x0000c003; 15imm32 r4, 0x0000c004; 16imm32 r5, 0x0000c005; 17imm32 r6, 0x0000c006; 18imm32 r7, 0x0000c007; 19R1.L = EXPADJ( R1.L , R0.L ); 20R2.L = EXPADJ( R2.L , R0.L ); 21R3.L = EXPADJ( R3.L , R0.L ); 22R4.L = EXPADJ( R4.L , R0.L ); 23R5.L = EXPADJ( R5.L , R0.L ); 24R6.L = EXPADJ( R6.L , R0.L ); 25R7.L = EXPADJ( R7.L , R0.L ); 26R0.L = EXPADJ( R0.L , R0.L ); 27CHECKREG r0, 0x00000000; 28CHECKREG r1, 0x00000000; 29CHECKREG r2, 0x00000000; 30CHECKREG r3, 0x00000000; 31CHECKREG r4, 0x00000000; 32CHECKREG r5, 0x00000000; 33CHECKREG r6, 0x00000000; 34CHECKREG r7, 0x00000000; 35 36imm32 r0, 0x11001001; 37imm32 r1, 0x11001001; 38imm32 r2, 0x11001002; 39imm32 r3, 0x11001003; 40imm32 r4, 0x11001004; 41imm32 r5, 0x11001005; 42imm32 r6, 0x11001006; 43imm32 r7, 0x11001007; 44R0.L = EXPADJ( R0.L , R1.L ); 45R2.L = EXPADJ( R2.L , R1.L ); 46R3.L = EXPADJ( R3.L , R1.L ); 47R4.L = EXPADJ( R4.L , R1.L ); 48R5.L = EXPADJ( R5.L , R1.L ); 49R6.L = EXPADJ( R6.L , R1.L ); 50R7.L = EXPADJ( R7.L , R1.L ); 51R1.L = EXPADJ( R1.L , R1.L ); 52CHECKREG r0, 0x11001001; 53CHECKREG r1, 0x11001001; 54CHECKREG r2, 0x11001001; 55CHECKREG r3, 0x11001001; 56CHECKREG r4, 0x11001001; 57CHECKREG r5, 0x11001001; 58CHECKREG r6, 0x11001001; 59CHECKREG r7, 0x11001001; 60 61imm32 r0, 0x2000c001; 62imm32 r1, 0x2000d001; 63imm32 r2, 0x2000000f; 64imm32 r3, 0x2000e003; 65imm32 r4, 0x2000f004; 66imm32 r5, 0x2000f005; 67imm32 r6, 0x2000f006; 68imm32 r7, 0x2000f007; 69R0.L = EXPADJ( R0.L , R2.L ); 70R1.L = EXPADJ( R1.L , R2.L ); 71R3.L = EXPADJ( R3.L , R2.L ); 72R4.L = EXPADJ( R4.L , R2.L ); 73R5.L = EXPADJ( R5.L , R2.L ); 74R6.L = EXPADJ( R6.L , R2.L ); 75R7.L = EXPADJ( R7.L , R2.L ); 76R2.L = EXPADJ( R2.L , R2.L ); 77CHECKREG r0, 0x20000001; 78CHECKREG r1, 0x20000001; 79CHECKREG r2, 0x2000000B; 80CHECKREG r3, 0x20000002; 81CHECKREG r4, 0x20000003; 82CHECKREG r5, 0x20000003; 83CHECKREG r6, 0x20000003; 84CHECKREG r7, 0x20000003; 85 86imm32 r0, 0x30009001; 87imm32 r1, 0x3000a001; 88imm32 r2, 0x3000b002; 89imm32 r3, 0x30000010; 90imm32 r4, 0x3000c004; 91imm32 r5, 0x3000d005; 92imm32 r6, 0x3000e006; 93imm32 r7, 0x3000f007; 94R0.L = EXPADJ( R0.L , R3.L ); 95R1.L = EXPADJ( R1.L , R3.L ); 96R2.L = EXPADJ( R2.L , R3.L ); 97R4.L = EXPADJ( R4.L , R3.L ); 98R5.L = EXPADJ( R5.L , R3.L ); 99R6.L = EXPADJ( R6.L , R3.L ); 100R7.L = EXPADJ( R7.L , R3.L ); 101R3.L = EXPADJ( R3.L , R3.L ); 102CHECKREG r0, 0x30000010; 103CHECKREG r1, 0x30000010; 104CHECKREG r2, 0x30000010; 105CHECKREG r3, 0x30000010; 106CHECKREG r4, 0x30000010; 107CHECKREG r5, 0x30000010; 108CHECKREG r6, 0x30000010; 109CHECKREG r7, 0x30000010; 110 111imm32 r0, 0x40000000; 112imm32 r1, 0x4000c001; 113imm32 r2, 0x4000c002; 114imm32 r3, 0x4000c003; 115imm32 r4, 0x4000c004; 116imm32 r5, 0x4000c005; 117imm32 r6, 0x4000c006; 118imm32 r7, 0x4000c007; 119R0.L = EXPADJ( R1.L , R4.L ); 120R1.L = EXPADJ( R2.L , R4.L ); 121R2.L = EXPADJ( R3.L , R4.L ); 122R3.L = EXPADJ( R4.L , R4.L ); 123R5.L = EXPADJ( R5.L , R4.L ); 124R6.L = EXPADJ( R6.L , R4.L ); 125R7.L = EXPADJ( R7.L , R4.L ); 126R4.L = EXPADJ( R0.L , R4.L ); 127CHECKREG r0, 0x40000001; 128CHECKREG r1, 0x40000001; 129CHECKREG r2, 0x40000001; 130CHECKREG r3, 0x40000001; 131CHECKREG r4, 0x4000C004; 132CHECKREG r5, 0x40000001; 133CHECKREG r6, 0x40000001; 134CHECKREG r7, 0x40000001; 135 136imm32 r0, 0x51001001; 137imm32 r1, 0x51001001; 138imm32 r2, 0x51001002; 139imm32 r3, 0x51001003; 140imm32 r4, 0x51001004; 141imm32 r5, 0x51001005; 142imm32 r6, 0x51001006; 143imm32 r7, 0x51001007; 144R0.L = EXPADJ( R0.L , R5.L ); 145R1.L = EXPADJ( R2.L , R5.L ); 146R2.L = EXPADJ( R3.L , R5.L ); 147R3.L = EXPADJ( R4.L , R5.L ); 148R4.L = EXPADJ( R5.L , R5.L ); 149R6.L = EXPADJ( R6.L , R5.L ); 150R7.L = EXPADJ( R7.L , R5.L ); 151R5.L = EXPADJ( R1.L , R5.L ); 152CHECKREG r0, 0x51000002; 153CHECKREG r1, 0x51000002; 154CHECKREG r2, 0x51000002; 155CHECKREG r3, 0x51000002; 156CHECKREG r4, 0x51000002; 157CHECKREG r5, 0x51001005; 158CHECKREG r6, 0x51000002; 159CHECKREG r7, 0x51000002; 160 161imm32 r0, 0x6000c001; 162imm32 r1, 0x6000d001; 163imm32 r2, 0x6000000f; 164imm32 r3, 0x6000e003; 165imm32 r4, 0x6000f004; 166imm32 r5, 0x6000f005; 167imm32 r6, 0x6000f006; 168imm32 r7, 0x6000f007; 169R0.L = EXPADJ( R0.L , R6.L ); 170R1.L = EXPADJ( R1.L , R6.L ); 171R2.L = EXPADJ( R3.L , R6.L ); 172R3.L = EXPADJ( R4.L , R6.L ); 173R4.L = EXPADJ( R5.L , R6.L ); 174R5.L = EXPADJ( R6.L , R6.L ); 175R7.L = EXPADJ( R7.L , R6.L ); 176R6.L = EXPADJ( R2.L , R6.L ); 177CHECKREG r0, 0x60000001; 178CHECKREG r1, 0x60000001; 179CHECKREG r2, 0x60000002; 180CHECKREG r3, 0x60000003; 181CHECKREG r4, 0x60000003; 182CHECKREG r5, 0x60000003; 183CHECKREG r6, 0x6000F006; 184CHECKREG r7, 0x60000003; 185 186imm32 r0, 0x70009001; 187imm32 r1, 0x7000a001; 188imm32 r2, 0x7000b002; 189imm32 r3, 0x70000010; 190imm32 r4, 0x7000c004; 191imm32 r5, 0x7000d005; 192imm32 r6, 0x7000e006; 193imm32 r7, 0x7000f007; 194R0.L = EXPADJ( R0.L , R7.L ); 195R1.L = EXPADJ( R1.L , R7.L ); 196R2.L = EXPADJ( R2.L , R7.L ); 197R3.L = EXPADJ( R4.L , R7.L ); 198R4.L = EXPADJ( R5.L , R7.L ); 199R5.L = EXPADJ( R6.L , R7.L ); 200R6.L = EXPADJ( R7.L , R7.L ); 201R7.L = EXPADJ( R3.L , R7.L ); 202CHECKREG r0, 0x70000000; 203CHECKREG r1, 0x70000000; 204CHECKREG r2, 0x70000000; 205CHECKREG r3, 0x70000001; 206CHECKREG r4, 0x70000001; 207CHECKREG r5, 0x70000002; 208CHECKREG r6, 0x70000003; 209CHECKREG r7, 0x7000F007; 210 211 212pass 213