1//Original:/proj/frio/dv/testcases/core/c_dsp32alu_byteunpack/c_dsp32alu_byteunpack.dsp 2// Spec Reference: dsp32alu byteunpack 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 imm32 r0, 0x15678911; 9 imm32 r1, 0x2789ab1d; 10 imm32 r2, 0x34445515; 11 imm32 r3, 0x46667717; 12 imm32 r4, 0x5567891b; 13 imm32 r5, 0x6789ab1d; 14 imm32 r6, 0x74445515; 15 imm32 r7, 0x86667777; 16 ( R4 , R5 ) = BYTEUNPACK R1:0; 17 ( R1 , R3 ) = BYTEUNPACK R1:0; 18 ( R0 , R7 ) = BYTEUNPACK R1:0; 19 ( R6 , R2 ) = BYTEUNPACK R1:0; 20 CHECKREG r0, 0x00150067; 21 CHECKREG r1, 0x00150067; 22 CHECKREG r2, 0x00000067; 23 CHECKREG r3, 0x00890011; 24 CHECKREG r4, 0x00150067; 25 CHECKREG r5, 0x00890011; 26 CHECKREG r6, 0x00000015; 27 CHECKREG r7, 0x00890011; 28 29 imm32 r0, 0x1567892b; 30 imm32 r1, 0x2789ab2d; 31 imm32 r2, 0x34445525; 32 imm32 r3, 0x46667727; 33 imm32 r4, 0x58889929; 34 imm32 r5, 0x6aaabb2b; 35 imm32 r6, 0x7cccdd2d; 36 imm32 r7, 0x8eeeffff; 37 ( R1 , R0 ) = BYTEUNPACK R3:2; 38 ( R3 , R4 ) = BYTEUNPACK R3:2; 39 ( R5 , R2 ) = BYTEUNPACK R3:2; 40 ( R7 , R6 ) = BYTEUNPACK R3:2; 41 CHECKREG r0, 0x00550025; 42 CHECKREG r1, 0x00340044; 43 CHECKREG r2, 0x00550025; 44 CHECKREG r3, 0x00340044; 45 CHECKREG r4, 0x00550025; 46 CHECKREG r5, 0x00340044; 47 CHECKREG r6, 0x00000025; 48 CHECKREG r7, 0x00000055; 49 50 imm32 r0, 0x416789ab; 51 imm32 r1, 0x6289abcd; 52 imm32 r2, 0x43445555; 53 imm32 r3, 0x64667777; 54 imm32 r0, 0x456789ab; 55 imm32 r1, 0x6689abcd; 56 imm32 r2, 0x47445555; 57 imm32 r3, 0x68667777; 58 ( R1 , R2 ) = BYTEUNPACK R1:0 (R); 59 ( R3 , R6 ) = BYTEUNPACK R1:0 (R); 60 ( R4 , R0 ) = BYTEUNPACK R1:0 (R); 61 ( R5 , R7 ) = BYTEUNPACK R1:0 (R); 62 CHECKREG r0, 0x00000089; 63 CHECKREG r1, 0x00660089; 64 CHECKREG r2, 0x00AB00CD; 65 CHECKREG r3, 0x00000066; 66 CHECKREG r4, 0x00000066; 67 CHECKREG r5, 0x00000066; 68 CHECKREG r6, 0x00000089; 69 CHECKREG r7, 0x00000089; 70 71 imm32 r0, 0x496789ab; 72 imm32 r1, 0x6489abcd; 73 imm32 r2, 0x4b445555; 74 imm32 r3, 0x6c647777; 75 imm32 r4, 0x8d889999; 76 imm32 r5, 0xaeaa4bbb; 77 imm32 r6, 0xcfccd44d; 78 imm32 r7, 0xe1eefff4; 79 ( R0 , R1 ) = BYTEUNPACK R3:2 (R); 80 ( R2 , R3 ) = BYTEUNPACK R3:2 (R); 81 ( R4 , R5 ) = BYTEUNPACK R3:2 (R); 82 ( R6 , R7 ) = BYTEUNPACK R3:2 (R); 83 CHECKREG r0, 0x006C0064; 84 CHECKREG r1, 0x00770077; 85 CHECKREG r2, 0x006C0064; 86 CHECKREG r3, 0x00770077; 87 CHECKREG r4, 0x00000077; 88 CHECKREG r5, 0x00000077; 89 CHECKREG r6, 0x00000077; 90 CHECKREG r7, 0x00000077; 91 92 imm32 r0, 0x4537891b; 93 imm32 r1, 0x6759ab2d; 94 imm32 r2, 0x44555535; 95 imm32 r3, 0x66665747; 96 imm32 r4, 0x88789565; 97 imm32 r5, 0xaa8abb5b; 98 imm32 r6, 0xcc9cdd85; 99 imm32 r7, 0xeeaeff9f; 100 ( R0 , R1 ) = BYTEUNPACK R1:0; 101 ( R2 , R3 ) = BYTEUNPACK R3:2 (R); 102 ( R4 , R5 ) = BYTEUNPACK R1:0 (R); 103 ( R6 , R7 ) = BYTEUNPACK R3:2; 104 CHECKREG r0, 0x00450037; 105 CHECKREG r1, 0x0089001B; 106 CHECKREG r2, 0x00660066; 107 CHECKREG r3, 0x00570047; 108 CHECKREG r4, 0x00000089; 109 CHECKREG r5, 0x0000001B; 110 CHECKREG r6, 0x00000066; 111 CHECKREG r7, 0x00000066; 112 113 pass 114