| //Original:/testcases/core/c_dsp32shift_expadj_l/c_dsp32shift_expadj_l.dsp |
| // Spec Reference: dsp32shift expadj rl |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| |
| |
| |
| imm32 r0, 0x00000000; |
| imm32 r1, 0x0000c001; |
| imm32 r2, 0x0000c002; |
| imm32 r3, 0x0000c003; |
| imm32 r4, 0x0000c004; |
| imm32 r5, 0x0000c005; |
| imm32 r6, 0x0000c006; |
| imm32 r7, 0x0000c007; |
| R1.L = EXPADJ( R1.L , R0.L ); |
| R2.L = EXPADJ( R2.L , R0.L ); |
| R3.L = EXPADJ( R3.L , R0.L ); |
| R4.L = EXPADJ( R4.L , R0.L ); |
| R5.L = EXPADJ( R5.L , R0.L ); |
| R6.L = EXPADJ( R6.L , R0.L ); |
| R7.L = EXPADJ( R7.L , R0.L ); |
| R0.L = EXPADJ( R0.L , R0.L ); |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000000; |
| |
| imm32 r0, 0x11001001; |
| imm32 r1, 0x11001001; |
| imm32 r2, 0x11001002; |
| imm32 r3, 0x11001003; |
| imm32 r4, 0x11001004; |
| imm32 r5, 0x11001005; |
| imm32 r6, 0x11001006; |
| imm32 r7, 0x11001007; |
| R0.L = EXPADJ( R0.L , R1.L ); |
| R2.L = EXPADJ( R2.L , R1.L ); |
| R3.L = EXPADJ( R3.L , R1.L ); |
| R4.L = EXPADJ( R4.L , R1.L ); |
| R5.L = EXPADJ( R5.L , R1.L ); |
| R6.L = EXPADJ( R6.L , R1.L ); |
| R7.L = EXPADJ( R7.L , R1.L ); |
| R1.L = EXPADJ( R1.L , R1.L ); |
| CHECKREG r0, 0x11001001; |
| CHECKREG r1, 0x11001001; |
| CHECKREG r2, 0x11001001; |
| CHECKREG r3, 0x11001001; |
| CHECKREG r4, 0x11001001; |
| CHECKREG r5, 0x11001001; |
| CHECKREG r6, 0x11001001; |
| CHECKREG r7, 0x11001001; |
| |
| imm32 r0, 0x2000c001; |
| imm32 r1, 0x2000d001; |
| imm32 r2, 0x2000000f; |
| imm32 r3, 0x2000e003; |
| imm32 r4, 0x2000f004; |
| imm32 r5, 0x2000f005; |
| imm32 r6, 0x2000f006; |
| imm32 r7, 0x2000f007; |
| R0.L = EXPADJ( R0.L , R2.L ); |
| R1.L = EXPADJ( R1.L , R2.L ); |
| R3.L = EXPADJ( R3.L , R2.L ); |
| R4.L = EXPADJ( R4.L , R2.L ); |
| R5.L = EXPADJ( R5.L , R2.L ); |
| R6.L = EXPADJ( R6.L , R2.L ); |
| R7.L = EXPADJ( R7.L , R2.L ); |
| R2.L = EXPADJ( R2.L , R2.L ); |
| CHECKREG r0, 0x20000001; |
| CHECKREG r1, 0x20000001; |
| CHECKREG r2, 0x2000000B; |
| CHECKREG r3, 0x20000002; |
| CHECKREG r4, 0x20000003; |
| CHECKREG r5, 0x20000003; |
| CHECKREG r6, 0x20000003; |
| CHECKREG r7, 0x20000003; |
| |
| imm32 r0, 0x30009001; |
| imm32 r1, 0x3000a001; |
| imm32 r2, 0x3000b002; |
| imm32 r3, 0x30000010; |
| imm32 r4, 0x3000c004; |
| imm32 r5, 0x3000d005; |
| imm32 r6, 0x3000e006; |
| imm32 r7, 0x3000f007; |
| R0.L = EXPADJ( R0.L , R3.L ); |
| R1.L = EXPADJ( R1.L , R3.L ); |
| R2.L = EXPADJ( R2.L , R3.L ); |
| R4.L = EXPADJ( R4.L , R3.L ); |
| R5.L = EXPADJ( R5.L , R3.L ); |
| R6.L = EXPADJ( R6.L , R3.L ); |
| R7.L = EXPADJ( R7.L , R3.L ); |
| R3.L = EXPADJ( R3.L , R3.L ); |
| CHECKREG r0, 0x30000010; |
| CHECKREG r1, 0x30000010; |
| CHECKREG r2, 0x30000010; |
| CHECKREG r3, 0x30000010; |
| CHECKREG r4, 0x30000010; |
| CHECKREG r5, 0x30000010; |
| CHECKREG r6, 0x30000010; |
| CHECKREG r7, 0x30000010; |
| |
| imm32 r0, 0x40000000; |
| imm32 r1, 0x4000c001; |
| imm32 r2, 0x4000c002; |
| imm32 r3, 0x4000c003; |
| imm32 r4, 0x4000c004; |
| imm32 r5, 0x4000c005; |
| imm32 r6, 0x4000c006; |
| imm32 r7, 0x4000c007; |
| R0.L = EXPADJ( R1.L , R4.L ); |
| R1.L = EXPADJ( R2.L , R4.L ); |
| R2.L = EXPADJ( R3.L , R4.L ); |
| R3.L = EXPADJ( R4.L , R4.L ); |
| R5.L = EXPADJ( R5.L , R4.L ); |
| R6.L = EXPADJ( R6.L , R4.L ); |
| R7.L = EXPADJ( R7.L , R4.L ); |
| R4.L = EXPADJ( R0.L , R4.L ); |
| CHECKREG r0, 0x40000001; |
| CHECKREG r1, 0x40000001; |
| CHECKREG r2, 0x40000001; |
| CHECKREG r3, 0x40000001; |
| CHECKREG r4, 0x4000C004; |
| CHECKREG r5, 0x40000001; |
| CHECKREG r6, 0x40000001; |
| CHECKREG r7, 0x40000001; |
| |
| imm32 r0, 0x51001001; |
| imm32 r1, 0x51001001; |
| imm32 r2, 0x51001002; |
| imm32 r3, 0x51001003; |
| imm32 r4, 0x51001004; |
| imm32 r5, 0x51001005; |
| imm32 r6, 0x51001006; |
| imm32 r7, 0x51001007; |
| R0.L = EXPADJ( R0.L , R5.L ); |
| R1.L = EXPADJ( R2.L , R5.L ); |
| R2.L = EXPADJ( R3.L , R5.L ); |
| R3.L = EXPADJ( R4.L , R5.L ); |
| R4.L = EXPADJ( R5.L , R5.L ); |
| R6.L = EXPADJ( R6.L , R5.L ); |
| R7.L = EXPADJ( R7.L , R5.L ); |
| R5.L = EXPADJ( R1.L , R5.L ); |
| CHECKREG r0, 0x51000002; |
| CHECKREG r1, 0x51000002; |
| CHECKREG r2, 0x51000002; |
| CHECKREG r3, 0x51000002; |
| CHECKREG r4, 0x51000002; |
| CHECKREG r5, 0x51001005; |
| CHECKREG r6, 0x51000002; |
| CHECKREG r7, 0x51000002; |
| |
| imm32 r0, 0x6000c001; |
| imm32 r1, 0x6000d001; |
| imm32 r2, 0x6000000f; |
| imm32 r3, 0x6000e003; |
| imm32 r4, 0x6000f004; |
| imm32 r5, 0x6000f005; |
| imm32 r6, 0x6000f006; |
| imm32 r7, 0x6000f007; |
| R0.L = EXPADJ( R0.L , R6.L ); |
| R1.L = EXPADJ( R1.L , R6.L ); |
| R2.L = EXPADJ( R3.L , R6.L ); |
| R3.L = EXPADJ( R4.L , R6.L ); |
| R4.L = EXPADJ( R5.L , R6.L ); |
| R5.L = EXPADJ( R6.L , R6.L ); |
| R7.L = EXPADJ( R7.L , R6.L ); |
| R6.L = EXPADJ( R2.L , R6.L ); |
| CHECKREG r0, 0x60000001; |
| CHECKREG r1, 0x60000001; |
| CHECKREG r2, 0x60000002; |
| CHECKREG r3, 0x60000003; |
| CHECKREG r4, 0x60000003; |
| CHECKREG r5, 0x60000003; |
| CHECKREG r6, 0x6000F006; |
| CHECKREG r7, 0x60000003; |
| |
| imm32 r0, 0x70009001; |
| imm32 r1, 0x7000a001; |
| imm32 r2, 0x7000b002; |
| imm32 r3, 0x70000010; |
| imm32 r4, 0x7000c004; |
| imm32 r5, 0x7000d005; |
| imm32 r6, 0x7000e006; |
| imm32 r7, 0x7000f007; |
| R0.L = EXPADJ( R0.L , R7.L ); |
| R1.L = EXPADJ( R1.L , R7.L ); |
| R2.L = EXPADJ( R2.L , R7.L ); |
| R3.L = EXPADJ( R4.L , R7.L ); |
| R4.L = EXPADJ( R5.L , R7.L ); |
| R5.L = EXPADJ( R6.L , R7.L ); |
| R6.L = EXPADJ( R7.L , R7.L ); |
| R7.L = EXPADJ( R3.L , R7.L ); |
| CHECKREG r0, 0x70000000; |
| CHECKREG r1, 0x70000000; |
| CHECKREG r2, 0x70000000; |
| CHECKREG r3, 0x70000001; |
| CHECKREG r4, 0x70000001; |
| CHECKREG r5, 0x70000002; |
| CHECKREG r6, 0x70000003; |
| CHECKREG r7, 0x7000F007; |
| |
| |
| pass |