mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
487 lines
11 KiB
ArmAsm
487 lines
11 KiB
ArmAsm
|
//Original:/testcases/core/c_dsp32shift_bitmux/c_dsp32shift_bitmux.dsp
|
||
|
// Spec Reference: dsp32shift bitmux
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
|
||
|
start
|
||
|
|
||
|
A0 = 0;
|
||
|
imm32 r0, 0x01230000;
|
||
|
imm32 r1, 0x12340678;
|
||
|
imm32 r2, 0x23450089;
|
||
|
imm32 r3, 0x3456089a;
|
||
|
imm32 r4, 0x456709ab;
|
||
|
imm32 r5, 0x56780abc;
|
||
|
imm32 r6, 0x67890bcd;
|
||
|
imm32 r7, 0x789a0cde;
|
||
|
//r0, r0, a0 >>= bitmux; invalid now
|
||
|
BITMUX( R0 , R1, A0) (ASR);
|
||
|
BITMUX( R0 , R2, A0) (ASR);
|
||
|
BITMUX( R0 , R3, A0) (ASR);
|
||
|
BITMUX( R0 , R4, A0) (ASR);
|
||
|
BITMUX( R0 , R5, A0) (ASR);
|
||
|
BITMUX( R0 , R6, A0) (ASR);
|
||
|
BITMUX( R0 , R7, A0) (ASR);
|
||
|
CHECKREG r1, 0x091A033C;
|
||
|
CHECKREG r0, 0x00024600;
|
||
|
CHECKREG r2, 0x11A28044;
|
||
|
CHECKREG r3, 0x1A2B044D;
|
||
|
CHECKREG r4, 0x22B384D5;
|
||
|
CHECKREG r5, 0x2B3C055E;
|
||
|
CHECKREG r6, 0x33C485E6;
|
||
|
CHECKREG r7, 0x3C4D066F;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x20000000;
|
||
|
CHECKREG r1, 0x00000022;
|
||
|
|
||
|
imm32 r0, 0x01231001;
|
||
|
imm32 r1, 0x12341678;
|
||
|
imm32 r2, 0x13451789;
|
||
|
imm32 r3, 0x1456189a;
|
||
|
imm32 r4, 0x156711ab;
|
||
|
imm32 r5, 0x16781abc;
|
||
|
imm32 r6, 0x17891bcd;
|
||
|
imm32 r7, 0x189a1cde;
|
||
|
BITMUX( R1 , R0, A0) (ASR);
|
||
|
//r1, r1, a0 >>= bitmux;
|
||
|
BITMUX( R1 , R2, A0) (ASR);
|
||
|
BITMUX( R1 , R3, A0) (ASR);
|
||
|
BITMUX( R1 , R4, A0) (ASR);
|
||
|
BITMUX( R1 , R5, A0) (ASR);
|
||
|
BITMUX( R1 , R6, A0) (ASR);
|
||
|
BITMUX( R1 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x00918800;
|
||
|
CHECKREG r1, 0x0024682C;
|
||
|
CHECKREG r2, 0x09A28BC4;
|
||
|
CHECKREG r3, 0x0A2B0C4D;
|
||
|
CHECKREG r4, 0x0AB388D5;
|
||
|
CHECKREG r5, 0x0B3C0D5E;
|
||
|
CHECKREG r6, 0x0BC48DE6;
|
||
|
CHECKREG r7, 0x0C4D0E6F;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x28888000;
|
||
|
CHECKREG r1, 0x00000077;
|
||
|
|
||
|
imm32 r0, 0x31232002;
|
||
|
imm32 r1, 0x22342678;
|
||
|
imm32 r2, 0x23452789;
|
||
|
imm32 r3, 0x2456289a;
|
||
|
imm32 r4, 0x256729ab;
|
||
|
imm32 r5, 0x26782abc;
|
||
|
imm32 r6, 0x27892bcd;
|
||
|
imm32 r7, 0x289a2cde;
|
||
|
BITMUX( R2 , R0, A0) (ASR);
|
||
|
BITMUX( R2 , R1, A0) (ASR);
|
||
|
//r2, r2, a0 >>= bitmux;
|
||
|
BITMUX( R2 , R3, A0) (ASR);
|
||
|
BITMUX( R2 , R4, A0) (ASR);
|
||
|
BITMUX( R2 , R5, A0) (ASR);
|
||
|
BITMUX( R2 , R6, A0) (ASR);
|
||
|
BITMUX( R2 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x18919001;
|
||
|
CHECKREG r1, 0x111A133C;
|
||
|
CHECKREG r2, 0x00468A4F;
|
||
|
CHECKREG r3, 0x122B144D;
|
||
|
CHECKREG r4, 0x12B394D5;
|
||
|
CHECKREG r5, 0x133C155E;
|
||
|
CHECKREG r6, 0x13C495E6;
|
||
|
CHECKREG r7, 0x144D166F;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x05DCA222;
|
||
|
CHECKREG r1, 0x00000023;
|
||
|
|
||
|
imm32 r0, 0x31230003;
|
||
|
imm32 r1, 0x32345378;
|
||
|
imm32 r2, 0x33456389;
|
||
|
imm32 r3, 0x3456739a;
|
||
|
imm32 r4, 0x356783ab;
|
||
|
imm32 r5, 0x367893bc;
|
||
|
imm32 r6, 0x3789a3cd;
|
||
|
imm32 r7, 0x389ab3de;
|
||
|
BITMUX( R3 , R0, A0) (ASR);
|
||
|
BITMUX( R3 , R1, A0) (ASR);
|
||
|
BITMUX( R3 , R2, A0) (ASR);
|
||
|
//r3, r3, a0 >>= bitmux;
|
||
|
BITMUX( R3 , R4, A0) (ASR);
|
||
|
BITMUX( R3 , R5, A0) (ASR);
|
||
|
BITMUX( R3 , R6, A0) (ASR);
|
||
|
BITMUX( R3 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x18918001;
|
||
|
CHECKREG r1, 0x191A29BC;
|
||
|
CHECKREG r2, 0x19A2B1C4;
|
||
|
CHECKREG r3, 0x0068ACE7;
|
||
|
CHECKREG r4, 0x1AB3C1D5;
|
||
|
CHECKREG r5, 0x1B3C49DE;
|
||
|
CHECKREG r6, 0x1BC4D1E6;
|
||
|
CHECKREG r7, 0x1C4D59EF;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x988C1772;
|
||
|
CHECKREG r1, 0x00000027;
|
||
|
|
||
|
imm32 r0, 0x41230044;
|
||
|
imm32 r1, 0x42345648;
|
||
|
imm32 r2, 0x43456749;
|
||
|
imm32 r3, 0x4456784a;
|
||
|
imm32 r4, 0x4567894b;
|
||
|
imm32 r5, 0x46789a4c;
|
||
|
imm32 r6, 0x4789ab4d;
|
||
|
imm32 r7, 0x489abc44;
|
||
|
BITMUX( R4 , R0, A0) (ASR);
|
||
|
BITMUX( R4 , R1, A0) (ASR);
|
||
|
BITMUX( R4 , R2, A0) (ASR);
|
||
|
BITMUX( R4 , R3, A0) (ASR);
|
||
|
//r4, r4, a0 >>= bitmux;
|
||
|
BITMUX( R4 , R5, A0) (ASR);
|
||
|
BITMUX( R4 , R6, A0) (ASR);
|
||
|
BITMUX( R4 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x20918022;
|
||
|
CHECKREG r1, 0x211A2B24;
|
||
|
CHECKREG r2, 0x21A2B3A4;
|
||
|
CHECKREG r3, 0x222B3C25;
|
||
|
CHECKREG r4, 0x008ACF12;
|
||
|
CHECKREG r5, 0x233C4D26;
|
||
|
CHECKREG r6, 0x23C4D5A6;
|
||
|
CHECKREG r7, 0x244D5E22;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x949E6230;
|
||
|
CHECKREG r1, 0x00000061;
|
||
|
|
||
|
imm32 r0, 0x51235005;
|
||
|
imm32 r1, 0x52345678;
|
||
|
imm32 r2, 0x53455789;
|
||
|
imm32 r3, 0x5456589a;
|
||
|
imm32 r4, 0x556759ab;
|
||
|
imm32 r5, 0x56785abc;
|
||
|
imm32 r6, 0x57895bcd;
|
||
|
imm32 r7, 0x589a5cde;
|
||
|
BITMUX( R5 , R0, A0) (ASR);
|
||
|
BITMUX( R5 , R1, A0) (ASR);
|
||
|
BITMUX( R5 , R2, A0) (ASR);
|
||
|
BITMUX( R5 , R3, A0) (ASR);
|
||
|
BITMUX( R5 , R4, A0) (ASR);
|
||
|
//r5, r5, a0 >>= bitmux;
|
||
|
BITMUX( R5 , R6, A0) (ASR);
|
||
|
BITMUX( R5 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x2891A802;
|
||
|
CHECKREG r1, 0x291A2B3C;
|
||
|
CHECKREG r2, 0x29A2ABC4;
|
||
|
CHECKREG r3, 0x2A2B2C4D;
|
||
|
CHECKREG r4, 0x2AB3ACD5;
|
||
|
CHECKREG r5, 0x00ACF0B5;
|
||
|
CHECKREG r6, 0x2BC4ADE6;
|
||
|
CHECKREG r7, 0x2C4D2E6F;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0xC9865279;
|
||
|
CHECKREG r1, 0x0000003D;
|
||
|
|
||
|
imm32 r0, 0x61260006;
|
||
|
imm32 r1, 0x62365678;
|
||
|
imm32 r2, 0x63466789;
|
||
|
imm32 r3, 0x6456789a;
|
||
|
imm32 r4, 0x656689ab;
|
||
|
imm32 r5, 0x66786abc;
|
||
|
imm32 r6, 0x6786abcd;
|
||
|
imm32 r7, 0x6896bcde;
|
||
|
BITMUX( R6 , R0, A0) (ASR);
|
||
|
BITMUX( R6 , R1, A0) (ASR);
|
||
|
BITMUX( R6 , R2, A0) (ASR);
|
||
|
BITMUX( R6 , R3, A0) (ASR);
|
||
|
BITMUX( R6 , R4, A0) (ASR);
|
||
|
BITMUX( R6 , R5, A0) (ASR);
|
||
|
//r6, r6, a0 >>= bitmux;
|
||
|
BITMUX( R6 , R7, A0) (ASR);
|
||
|
CHECKREG r0, 0x30930003;
|
||
|
CHECKREG r1, 0x311B2B3C;
|
||
|
CHECKREG r2, 0x31A333C4;
|
||
|
CHECKREG r3, 0x322B3C4D;
|
||
|
CHECKREG r4, 0x32B344D5;
|
||
|
CHECKREG r5, 0x333C355E;
|
||
|
CHECKREG r6, 0x00CF0D57;
|
||
|
CHECKREG r7, 0x344B5E6F;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0xC4F72619;
|
||
|
CHECKREG r1, 0x00000049;
|
||
|
|
||
|
imm32 r0, 0x71730007;
|
||
|
imm32 r1, 0x72745678;
|
||
|
imm32 r2, 0x73756789;
|
||
|
imm32 r3, 0x7476789a;
|
||
|
imm32 r4, 0x757789ab;
|
||
|
imm32 r5, 0x76789abc;
|
||
|
imm32 r6, 0x7779abcd;
|
||
|
imm32 r7, 0x777abcde;
|
||
|
BITMUX( R7 , R0, A0) (ASR);
|
||
|
BITMUX( R7 , R1, A0) (ASR);
|
||
|
BITMUX( R7 , R2, A0) (ASR);
|
||
|
BITMUX( R7 , R3, A0) (ASR);
|
||
|
BITMUX( R7 , R4, A0) (ASR);
|
||
|
BITMUX( R7 , R5, A0) (ASR);
|
||
|
BITMUX( R7 , R6, A0) (ASR);
|
||
|
//r7, r7, a0 >>= bitmux;
|
||
|
CHECKREG r0, 0x38B98003;
|
||
|
CHECKREG r1, 0x393A2B3C;
|
||
|
CHECKREG r2, 0x39BAB3C4;
|
||
|
CHECKREG r3, 0x3A3B3C4D;
|
||
|
CHECKREG r4, 0x3ABBC4D5;
|
||
|
CHECKREG r5, 0x3B3C4D5E;
|
||
|
CHECKREG r6, 0x3BBCD5E6;
|
||
|
CHECKREG r7, 0x00EEF579;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0xD92713DC;
|
||
|
CHECKREG r1, 0xFFFFFFCD;
|
||
|
|
||
|
imm32 r0, 0x08230080;
|
||
|
imm32 r1, 0x18345688;
|
||
|
imm32 r2, 0x28456789;
|
||
|
imm32 r3, 0x3856788a;
|
||
|
imm32 r4, 0x4867898b;
|
||
|
imm32 r5, 0x58789a8c;
|
||
|
imm32 r6, 0x6889ab8d;
|
||
|
imm32 r7, 0x789abc8e;
|
||
|
//r0, r0, a0 <<= bitmux;
|
||
|
BITMUX( R0 , R1, A0) (ASL);
|
||
|
BITMUX( R0 , R2, A0) (ASL);
|
||
|
BITMUX( R0 , R3, A0) (ASL);
|
||
|
BITMUX( R0 , R4, A0) (ASL);
|
||
|
BITMUX( R0 , R5, A0) (ASL);
|
||
|
BITMUX( R0 , R6, A0) (ASL);
|
||
|
BITMUX( R0 , R7, A0) (ASL);
|
||
|
CHECKREG r1, 0x3068AD10;
|
||
|
CHECKREG r0, 0x11804000;
|
||
|
CHECKREG r2, 0x508ACF12;
|
||
|
CHECKREG r3, 0x70ACF114;
|
||
|
CHECKREG r4, 0x90CF1316;
|
||
|
CHECKREG r5, 0xB0F13518;
|
||
|
CHECKREG r6, 0xD113571A;
|
||
|
CHECKREG r7, 0xF135791C;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0xC4F70010;
|
||
|
CHECKREG r1, 0x00000049;
|
||
|
|
||
|
imm32 r0, 0x09230009;
|
||
|
imm32 r1, 0x19345679;
|
||
|
imm32 r2, 0x29456789;
|
||
|
imm32 r3, 0x39567899;
|
||
|
imm32 r4, 0x496789a9;
|
||
|
imm32 r5, 0x59789ab9;
|
||
|
imm32 r6, 0x6989abc9;
|
||
|
imm32 r7, 0x799abcd9;
|
||
|
BITMUX( R1 , R0, A0) (ASL);
|
||
|
//r1, r1, a0 <<= bitmux;
|
||
|
BITMUX( R1 , R2, A0) (ASL);
|
||
|
BITMUX( R1 , R3, A0) (ASL);
|
||
|
BITMUX( R1 , R4, A0) (ASL);
|
||
|
BITMUX( R1 , R5, A0) (ASL);
|
||
|
BITMUX( R1 , R6, A0) (ASL);
|
||
|
BITMUX( R1 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x12460012;
|
||
|
CHECKREG r1, 0x9A2B3C80;
|
||
|
CHECKREG r2, 0x528ACF12;
|
||
|
CHECKREG r3, 0x72ACF132;
|
||
|
CHECKREG r4, 0x92CF1352;
|
||
|
CHECKREG r5, 0xB2F13572;
|
||
|
CHECKREG r6, 0xD3135792;
|
||
|
CHECKREG r7, 0xF33579B2;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0xC0040050;
|
||
|
CHECKREG r1, 0x0000003D;
|
||
|
|
||
|
imm32 r0, 0x0a23000a;
|
||
|
imm32 r1, 0x1a34567a;
|
||
|
imm32 r2, 0x2a45678a;
|
||
|
imm32 r3, 0x3a56789a;
|
||
|
imm32 r4, 0x4a6789aa;
|
||
|
imm32 r5, 0x5aa89aba;
|
||
|
imm32 r6, 0x6a89abca;
|
||
|
imm32 r7, 0x7a9abcda;
|
||
|
BITMUX( R2 , R0, A0) (ASL);
|
||
|
BITMUX( R2 , R1, A0) (ASL);
|
||
|
//r2, r2, a0 <<= bitmux;
|
||
|
BITMUX( R2 , R3, A0) (ASL);
|
||
|
BITMUX( R2 , R4, A0) (ASL);
|
||
|
BITMUX( R2 , R5, A0) (ASL);
|
||
|
BITMUX( R2 , R6, A0) (ASL);
|
||
|
BITMUX( R2 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x14460014;
|
||
|
CHECKREG r1, 0x3468ACF4;
|
||
|
CHECKREG r2, 0x22B3C500;
|
||
|
CHECKREG r3, 0x74ACF134;
|
||
|
CHECKREG r4, 0x94CF1354;
|
||
|
CHECKREG r5, 0xB5513574;
|
||
|
CHECKREG r6, 0xD5135794;
|
||
|
CHECKREG r7, 0xF53579B4;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x00140111;
|
||
|
CHECKREG r1, 0x00000001;
|
||
|
|
||
|
imm32 r0, 0x01b300b3;
|
||
|
imm32 r1, 0x12b456b8;
|
||
|
imm32 r2, 0x23b567b9;
|
||
|
imm32 r3, 0x34b678ba;
|
||
|
imm32 r4, 0x45b789bb;
|
||
|
imm32 r5, 0x56b89abc;
|
||
|
imm32 r6, 0x67b9abbd;
|
||
|
imm32 r7, 0x78babcbe;
|
||
|
BITMUX( R3 , R0, A0) (ASL);
|
||
|
BITMUX( R3 , R1, A0) (ASL);
|
||
|
BITMUX( R3 , R2, A0) (ASL);
|
||
|
//r3, r3, a0 <<= bitmux;
|
||
|
BITMUX( R3 , R4, A0) (ASL);
|
||
|
BITMUX( R3 , R5, A0) (ASL);
|
||
|
BITMUX( R3 , R6, A0) (ASL);
|
||
|
BITMUX( R3 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x03660166;
|
||
|
CHECKREG r1, 0x2568AD70;
|
||
|
CHECKREG r2, 0x476ACF72;
|
||
|
CHECKREG r3, 0x5B3C5D00;
|
||
|
CHECKREG r4, 0x8B6F1376;
|
||
|
CHECKREG r5, 0xAD713578;
|
||
|
CHECKREG r6, 0xCF73577A;
|
||
|
CHECKREG r7, 0xF175797C;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x00444144;
|
||
|
CHECKREG r1, 0x00000005;
|
||
|
|
||
|
imm32 r0, 0x012300c4;
|
||
|
imm32 r1, 0x123456c8;
|
||
|
imm32 r2, 0x234567c9;
|
||
|
imm32 r3, 0x345678ca;
|
||
|
imm32 r4, 0x456789cb;
|
||
|
imm32 r5, 0x56789acc;
|
||
|
imm32 r6, 0x6789abcd;
|
||
|
imm32 r7, 0x789abcce;
|
||
|
BITMUX( R4 , R0, A0) (ASL);
|
||
|
BITMUX( R4 , R1, A0) (ASL);
|
||
|
BITMUX( R4 , R2, A0) (ASL);
|
||
|
BITMUX( R4 , R3, A0) (ASL);
|
||
|
//r4, r4, a0 <<= bitmux;
|
||
|
BITMUX( R4 , R5, A0) (ASL);
|
||
|
BITMUX( R4 , R6, A0) (ASL);
|
||
|
BITMUX( R4 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x02460188;
|
||
|
CHECKREG r1, 0x2468AD90;
|
||
|
CHECKREG r2, 0x468ACF92;
|
||
|
CHECKREG r3, 0x68ACF194;
|
||
|
CHECKREG r4, 0xB3C4E580;
|
||
|
CHECKREG r5, 0xACF13598;
|
||
|
CHECKREG r6, 0xCF13579A;
|
||
|
CHECKREG r7, 0xF135799C;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x10510404;
|
||
|
CHECKREG r1, 0x00000011;
|
||
|
|
||
|
imm32 r0, 0x0c230d05;
|
||
|
imm32 r1, 0x1c345d78;
|
||
|
imm32 r2, 0x2c456d89;
|
||
|
imm32 r3, 0x3c567d9a;
|
||
|
imm32 r4, 0x4c678dab;
|
||
|
imm32 r5, 0x5c789dbc;
|
||
|
imm32 r6, 0x6c89adcd;
|
||
|
imm32 r7, 0x7c9abdde;
|
||
|
BITMUX( R5 , R0, A0) (ASL);
|
||
|
BITMUX( R5 , R1, A0) (ASL);
|
||
|
BITMUX( R5 , R2, A0) (ASL);
|
||
|
BITMUX( R5 , R3, A0) (ASL);
|
||
|
BITMUX( R5 , R4, A0) (ASL);
|
||
|
//r5, r5, a0 <<= bitmux;
|
||
|
BITMUX( R5 , R6, A0) (ASL);
|
||
|
BITMUX( R5 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x18461A0A;
|
||
|
CHECKREG r1, 0x3868BAF0;
|
||
|
CHECKREG r2, 0x588ADB12;
|
||
|
CHECKREG r3, 0x78ACFB34;
|
||
|
CHECKREG r4, 0x98CF1B56;
|
||
|
CHECKREG r5, 0x3C4EDE00;
|
||
|
CHECKREG r6, 0xD9135B9A;
|
||
|
CHECKREG r7, 0xF9357BBC;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x41010454;
|
||
|
CHECKREG r1, 0x00000014;
|
||
|
|
||
|
imm32 r0, 0x0d230e06;
|
||
|
imm32 r1, 0x1d345e78;
|
||
|
imm32 r2, 0x2d456e89;
|
||
|
imm32 r3, 0x3d567e9a;
|
||
|
imm32 r4, 0x4d678eab;
|
||
|
imm32 r5, 0x5d789ebc;
|
||
|
imm32 r6, 0x6d89aecd;
|
||
|
imm32 r7, 0x7d9abede;
|
||
|
BITMUX( R6 , R0, A0) (ASL);
|
||
|
BITMUX( R6 , R1, A0) (ASL);
|
||
|
BITMUX( R6 , R2, A0) (ASL);
|
||
|
BITMUX( R6 , R3, A0) (ASL);
|
||
|
BITMUX( R6 , R4, A0) (ASL);
|
||
|
BITMUX( R6 , R5, A0) (ASL);
|
||
|
//r6, r6, a0 <<= bitmux;
|
||
|
BITMUX( R6 , R7, A0) (ASL);
|
||
|
CHECKREG r0, 0x1A461C0C;
|
||
|
CHECKREG r1, 0x3A68BCF0;
|
||
|
CHECKREG r2, 0x5A8ADD12;
|
||
|
CHECKREG r3, 0x7AACFD34;
|
||
|
CHECKREG r4, 0x9ACF1D56;
|
||
|
CHECKREG r5, 0xBAF13D78;
|
||
|
CHECKREG r6, 0xC4D76680;
|
||
|
CHECKREG r7, 0xFB357DBC;
|
||
|
|
||
|
R0 = A0.w;
|
||
|
R1 = A0.x;
|
||
|
CHECKREG r0, 0x41150514;
|
||
|
CHECKREG r1, 0x00000040;
|
||
|
|
||
|
imm32 r0, 0x01230007;
|
||
|
imm32 r1, 0x12345678;
|
||
|
imm32 r2, 0x23456789;
|
||
|
imm32 r3, 0x3456789a;
|
||
|
imm32 r4, 0x456789ab;
|
||
|
imm32 r5, 0x56789abc;
|
||
|
imm32 r6, 0x6789abcd;
|
||
|
imm32 r7, 0x789abcde;
|
||
|
BITMUX( R7 , R0, A0) (ASL);
|
||
|
BITMUX( R7 , R1, A0) (ASL);
|
||
|
BITMUX( R7 , R2, A0) (ASL);
|
||
|
BITMUX( R7 , R3, A0) (ASL);
|
||
|
BITMUX( R7 , R4, A0) (ASL);
|
||
|
BITMUX( R7 , R5, A0) (ASL);
|
||
|
BITMUX( R7 , R6, A0) (ASL);
|
||
|
//r7, r7, a0 <<= bitmux;
|
||
|
|
||
|
CHECKREG r0, 0x0246000E;
|
||
|
CHECKREG r1, 0x2468ACF0;
|
||
|
CHECKREG r2, 0x468ACF12;
|
||
|
CHECKREG r3, 0x68ACF134;
|
||
|
CHECKREG r4, 0x8ACF1356;
|
||
|
CHECKREG r5, 0xACF13578;
|
||
|
CHECKREG r6, 0xCF13579A;
|
||
|
CHECKREG r7, 0x4D5E6F00;
|
||
|
|
||
|
pass
|