mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
413 lines
7.8 KiB
ArmAsm
413 lines
7.8 KiB
ArmAsm
|
//Original:/testcases/core/c_comp3op_dr_and_dr/c_comp3op_dr_and_dr.dsp
|
||
|
// Spec Reference: comp3op dregs & dregs
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
imm32 r0, 0x01234567;
|
||
|
imm32 r1, 0x89abcdef;
|
||
|
imm32 r2, 0x56789abc;
|
||
|
imm32 r3, 0xdef01234;
|
||
|
imm32 r4, 0x23456899;
|
||
|
imm32 r5, 0x78912345;
|
||
|
imm32 r6, 0x98765432;
|
||
|
imm32 r7, 0x12345678;
|
||
|
R0 = R0 & R0;
|
||
|
R1 = R0 & R1;
|
||
|
R2 = R0 & R2;
|
||
|
R3 = R0 & R3;
|
||
|
R4 = R0 & R4;
|
||
|
R5 = R0 & R5;
|
||
|
R6 = R0 & R6;
|
||
|
R7 = R0 & R7;
|
||
|
CHECKREG r0, 0x01234567;
|
||
|
CHECKREG r1, 0x01234567;
|
||
|
CHECKREG r2, 0x00200024;
|
||
|
CHECKREG r3, 0x00200024;
|
||
|
CHECKREG r4, 0x01014001;
|
||
|
CHECKREG r5, 0x00010145;
|
||
|
CHECKREG r6, 0x00224422;
|
||
|
CHECKREG r7, 0x00204460;
|
||
|
|
||
|
imm32 r0, 0x01231567;
|
||
|
imm32 r1, 0x89ab1def;
|
||
|
imm32 r2, 0x56781abc;
|
||
|
imm32 r3, 0xdef01234;
|
||
|
imm32 r4, 0x23451899;
|
||
|
imm32 r5, 0x78911345;
|
||
|
imm32 r6, 0x98761432;
|
||
|
imm32 r7, 0x12341678;
|
||
|
R0 = R1 & R0;
|
||
|
R1 = R1 & R1;
|
||
|
R2 = R1 & R2;
|
||
|
R3 = R1 & R3;
|
||
|
R4 = R1 & R4;
|
||
|
R5 = R1 & R5;
|
||
|
R6 = R1 & R6;
|
||
|
R7 = R1 & R7;
|
||
|
CHECKREG r0, 0x01231567;
|
||
|
CHECKREG r1, 0x89AB1DEF;
|
||
|
CHECKREG r2, 0x002818AC;
|
||
|
CHECKREG r3, 0x88A01024;
|
||
|
CHECKREG r4, 0x01011889;
|
||
|
CHECKREG r5, 0x08811145;
|
||
|
CHECKREG r6, 0x88221422;
|
||
|
CHECKREG r7, 0x00201468;
|
||
|
|
||
|
imm32 r0, 0x01234527;
|
||
|
imm32 r1, 0x89abcd2f;
|
||
|
imm32 r2, 0x56789a2c;
|
||
|
imm32 r3, 0xdef01224;
|
||
|
imm32 r4, 0x23456829;
|
||
|
imm32 r5, 0x78912325;
|
||
|
imm32 r6, 0x98765422;
|
||
|
imm32 r7, 0x12345628;
|
||
|
R0 = R2 & R0;
|
||
|
R1 = R2 & R1;
|
||
|
R2 = R2 & R2;
|
||
|
R3 = R2 & R3;
|
||
|
R4 = R2 & R4;
|
||
|
R5 = R2 & R5;
|
||
|
R6 = R2 & R6;
|
||
|
R7 = R2 & R7;
|
||
|
CHECKREG r0, 0x00200024;
|
||
|
CHECKREG r1, 0x0028882C;
|
||
|
CHECKREG r2, 0x56789A2C;
|
||
|
CHECKREG r3, 0x56701224;
|
||
|
CHECKREG r4, 0x02400828;
|
||
|
CHECKREG r5, 0x50100224;
|
||
|
CHECKREG r6, 0x10701020;
|
||
|
CHECKREG r7, 0x12301228;
|
||
|
|
||
|
imm32 r0, 0x01234563;
|
||
|
imm32 r1, 0x89abcde3;
|
||
|
imm32 r2, 0x56789ab3;
|
||
|
imm32 r3, 0xdef01233;
|
||
|
imm32 r4, 0x23456893;
|
||
|
imm32 r5, 0x78912343;
|
||
|
imm32 r6, 0x98765433;
|
||
|
imm32 r7, 0x12345673;
|
||
|
R0 = R3 & R0;
|
||
|
R1 = R3 & R1;
|
||
|
R2 = R3 & R2;
|
||
|
R3 = R3 & R3;
|
||
|
R4 = R3 & R4;
|
||
|
R5 = R3 & R5;
|
||
|
R6 = R3 & R6;
|
||
|
R7 = R3 & R7;
|
||
|
CHECKREG r0, 0x00200023;
|
||
|
CHECKREG r1, 0x88A00023;
|
||
|
CHECKREG r2, 0x56701233;
|
||
|
CHECKREG r3, 0xDEF01233;
|
||
|
CHECKREG r4, 0x02400013;
|
||
|
CHECKREG r5, 0x58900203;
|
||
|
CHECKREG r6, 0x98701033;
|
||
|
CHECKREG r7, 0x12301233;
|
||
|
|
||
|
imm32 r0, 0x41234567;
|
||
|
imm32 r1, 0x49abcdef;
|
||
|
imm32 r2, 0x46789abc;
|
||
|
imm32 r3, 0x4ef01234;
|
||
|
imm32 r4, 0x43456899;
|
||
|
imm32 r5, 0x48912345;
|
||
|
imm32 r6, 0x48765432;
|
||
|
imm32 r7, 0x42345678;
|
||
|
R0 = R4 & R0;
|
||
|
R1 = R4 & R1;
|
||
|
R2 = R4 & R2;
|
||
|
R3 = R4 & R3;
|
||
|
R4 = R4 & R4;
|
||
|
R5 = R4 & R5;
|
||
|
R6 = R4 & R6;
|
||
|
R7 = R4 & R7;
|
||
|
CHECKREG r0, 0x41014001;
|
||
|
CHECKREG r1, 0x41014889;
|
||
|
CHECKREG r2, 0x42400898;
|
||
|
CHECKREG r3, 0x42400010;
|
||
|
CHECKREG r4, 0x43456899;
|
||
|
CHECKREG r5, 0x40012001;
|
||
|
CHECKREG r6, 0x40444010;
|
||
|
CHECKREG r7, 0x42044018;
|
||
|
|
||
|
imm32 r0, 0x05234567;
|
||
|
imm32 r1, 0x85abcdef;
|
||
|
imm32 r2, 0x55789abc;
|
||
|
imm32 r3, 0xd5f01234;
|
||
|
imm32 r4, 0x25456899;
|
||
|
imm32 r5, 0x75912345;
|
||
|
imm32 r6, 0x95765432;
|
||
|
imm32 r7, 0x15345678;
|
||
|
R0 = R5 & R0;
|
||
|
R1 = R5 & R1;
|
||
|
R2 = R5 & R2;
|
||
|
R3 = R5 & R3;
|
||
|
R4 = R5 & R4;
|
||
|
R5 = R5 & R5;
|
||
|
R6 = R5 & R6;
|
||
|
R7 = R5 & R7;
|
||
|
CHECKREG r0, 0x05010145;
|
||
|
CHECKREG r1, 0x05810145;
|
||
|
CHECKREG r2, 0x55100204;
|
||
|
CHECKREG r3, 0x55900204;
|
||
|
CHECKREG r4, 0x25012001;
|
||
|
CHECKREG r5, 0x75912345;
|
||
|
CHECKREG r6, 0x15100000;
|
||
|
CHECKREG r7, 0x15100240;
|
||
|
|
||
|
imm32 r0, 0x01264567;
|
||
|
imm32 r1, 0x89a6cdef;
|
||
|
imm32 r2, 0x56769abc;
|
||
|
imm32 r3, 0xdef61234;
|
||
|
imm32 r4, 0x23466899;
|
||
|
imm32 r5, 0x78962345;
|
||
|
imm32 r6, 0x98765432;
|
||
|
imm32 r7, 0x12365678;
|
||
|
R0 = R6 & R0;
|
||
|
R1 = R6 & R1;
|
||
|
R2 = R6 & R2;
|
||
|
R3 = R6 & R3;
|
||
|
R4 = R6 & R4;
|
||
|
R5 = R6 & R5;
|
||
|
R6 = R6 & R6;
|
||
|
R7 = R6 & R7;
|
||
|
CHECKREG r0, 0x00264422;
|
||
|
CHECKREG r1, 0x88264422;
|
||
|
CHECKREG r2, 0x10761030;
|
||
|
CHECKREG r3, 0x98761030;
|
||
|
CHECKREG r4, 0x00464010;
|
||
|
CHECKREG r5, 0x18160000;
|
||
|
CHECKREG r6, 0x98765432;
|
||
|
CHECKREG r7, 0x10365430;
|
||
|
|
||
|
imm32 r0, 0x01237567;
|
||
|
imm32 r1, 0x89ab7def;
|
||
|
imm32 r2, 0x56787abc;
|
||
|
imm32 r3, 0xdef07234;
|
||
|
imm32 r4, 0x23457899;
|
||
|
imm32 r5, 0x78917345;
|
||
|
imm32 r6, 0x98767432;
|
||
|
imm32 r7, 0x12345678;
|
||
|
R0 = R7 & R0;
|
||
|
R1 = R7 & R1;
|
||
|
R2 = R7 & R2;
|
||
|
R3 = R7 & R3;
|
||
|
R4 = R7 & R4;
|
||
|
R5 = R7 & R5;
|
||
|
R6 = R7 & R6;
|
||
|
R7 = R7 & R7;
|
||
|
CHECKREG r0, 0x00205460;
|
||
|
CHECKREG r1, 0x00205468;
|
||
|
CHECKREG r2, 0x12305238;
|
||
|
CHECKREG r3, 0x12305230;
|
||
|
CHECKREG r4, 0x02045018;
|
||
|
CHECKREG r5, 0x10105240;
|
||
|
CHECKREG r6, 0x10345430;
|
||
|
CHECKREG r7, 0x12345678;
|
||
|
|
||
|
imm32 r0, 0x11234567;
|
||
|
imm32 r1, 0x81abcdef;
|
||
|
imm32 r2, 0x56189abc;
|
||
|
imm32 r3, 0xdef11234;
|
||
|
imm32 r4, 0x23451899;
|
||
|
imm32 r5, 0x78912145;
|
||
|
imm32 r6, 0x98765412;
|
||
|
imm32 r7, 0x12345671;
|
||
|
R0 = R1 & R0;
|
||
|
R1 = R2 & R0;
|
||
|
R2 = R3 & R0;
|
||
|
R3 = R4 & R0;
|
||
|
R4 = R5 & R0;
|
||
|
R5 = R6 & R0;
|
||
|
R6 = R7 & R0;
|
||
|
R7 = R0 & R0;
|
||
|
CHECKREG r0, 0x01234567;
|
||
|
CHECKREG r1, 0x00000024;
|
||
|
CHECKREG r2, 0x00210024;
|
||
|
CHECKREG r3, 0x01010001;
|
||
|
CHECKREG r4, 0x00010145;
|
||
|
CHECKREG r5, 0x00224402;
|
||
|
CHECKREG r6, 0x00204461;
|
||
|
CHECKREG r7, 0x01234567;
|
||
|
|
||
|
imm32 r0, 0x01231567;
|
||
|
imm32 r1, 0x29ab1def;
|
||
|
imm32 r2, 0x52781abc;
|
||
|
imm32 r3, 0xde201234;
|
||
|
imm32 r4, 0x23421899;
|
||
|
imm32 r5, 0x78912345;
|
||
|
imm32 r6, 0x98761232;
|
||
|
imm32 r7, 0x12341628;
|
||
|
R0 = R2 & R1;
|
||
|
R1 = R3 & R1;
|
||
|
R2 = R4 & R1;
|
||
|
R3 = R5 & R1;
|
||
|
R4 = R6 & R1;
|
||
|
R5 = R7 & R1;
|
||
|
R6 = R0 & R1;
|
||
|
R7 = R1 & R1;
|
||
|
CHECKREG r0, 0x002818AC;
|
||
|
CHECKREG r1, 0x08201024;
|
||
|
CHECKREG r2, 0x00001000;
|
||
|
CHECKREG r3, 0x08000004;
|
||
|
CHECKREG r4, 0x08201020;
|
||
|
CHECKREG r5, 0x00201020;
|
||
|
CHECKREG r6, 0x00201024;
|
||
|
CHECKREG r7, 0x08201024;
|
||
|
|
||
|
imm32 r0, 0x03234527;
|
||
|
imm32 r1, 0x893bcd2f;
|
||
|
imm32 r2, 0x56739a2c;
|
||
|
imm32 r3, 0x3ef03224;
|
||
|
imm32 r4, 0x23456329;
|
||
|
imm32 r5, 0x78312335;
|
||
|
imm32 r6, 0x98735423;
|
||
|
imm32 r7, 0x12343628;
|
||
|
R0 = R4 & R2;
|
||
|
R1 = R5 & R2;
|
||
|
R2 = R6 & R2;
|
||
|
R3 = R7 & R2;
|
||
|
R4 = R0 & R2;
|
||
|
R5 = R1 & R2;
|
||
|
R6 = R2 & R2;
|
||
|
R7 = R3 & R2;
|
||
|
CHECKREG r0, 0x02410228;
|
||
|
CHECKREG r1, 0x50310224;
|
||
|
CHECKREG r2, 0x10731020;
|
||
|
CHECKREG r3, 0x10301020;
|
||
|
CHECKREG r4, 0x00410020;
|
||
|
CHECKREG r5, 0x10310020;
|
||
|
CHECKREG r6, 0x10731020;
|
||
|
CHECKREG r7, 0x10301020;
|
||
|
|
||
|
imm32 r0, 0x04234563;
|
||
|
imm32 r1, 0x894bcde3;
|
||
|
imm32 r2, 0x56749ab3;
|
||
|
imm32 r3, 0x4ef04233;
|
||
|
imm32 r4, 0x24456493;
|
||
|
imm32 r5, 0x78412344;
|
||
|
imm32 r6, 0x98745434;
|
||
|
imm32 r7, 0x12344673;
|
||
|
R0 = R5 & R3;
|
||
|
R1 = R6 & R3;
|
||
|
R2 = R7 & R3;
|
||
|
R3 = R0 & R3;
|
||
|
R4 = R1 & R3;
|
||
|
R5 = R2 & R3;
|
||
|
R6 = R3 & R3;
|
||
|
R7 = R4 & R3;
|
||
|
CHECKREG r0, 0x48400200;
|
||
|
CHECKREG r1, 0x08704030;
|
||
|
CHECKREG r2, 0x02304233;
|
||
|
CHECKREG r3, 0x48400200;
|
||
|
CHECKREG r4, 0x08400000;
|
||
|
CHECKREG r5, 0x00000200;
|
||
|
CHECKREG r6, 0x48400200;
|
||
|
CHECKREG r7, 0x08400000;
|
||
|
|
||
|
imm32 r0, 0x41235567;
|
||
|
imm32 r1, 0x49abc5ef;
|
||
|
imm32 r2, 0x46789a5c;
|
||
|
imm32 r3, 0x4ef01235;
|
||
|
imm32 r4, 0x53456899;
|
||
|
imm32 r5, 0x45912345;
|
||
|
imm32 r6, 0x48565432;
|
||
|
imm32 r7, 0x42355678;
|
||
|
R0 = R6 & R4;
|
||
|
R1 = R7 & R4;
|
||
|
R2 = R0 & R4;
|
||
|
R3 = R1 & R4;
|
||
|
R4 = R2 & R4;
|
||
|
R5 = R3 & R4;
|
||
|
R6 = R4 & R4;
|
||
|
R7 = R5 & R4;
|
||
|
CHECKREG r0, 0x40444010;
|
||
|
CHECKREG r1, 0x42054018;
|
||
|
CHECKREG r2, 0x40444010;
|
||
|
CHECKREG r3, 0x42054018;
|
||
|
CHECKREG r4, 0x40444010;
|
||
|
CHECKREG r5, 0x40044010;
|
||
|
CHECKREG r6, 0x40444010;
|
||
|
CHECKREG r7, 0x40044010;
|
||
|
|
||
|
imm32 r0, 0x05264567;
|
||
|
imm32 r1, 0x85ab6def;
|
||
|
imm32 r2, 0x657896bc;
|
||
|
imm32 r3, 0xd6f01264;
|
||
|
imm32 r4, 0x25656896;
|
||
|
imm32 r5, 0x75962345;
|
||
|
imm32 r6, 0x95766432;
|
||
|
imm32 r7, 0x15345678;
|
||
|
R0 = R7 & R5;
|
||
|
R1 = R0 & R5;
|
||
|
R2 = R1 & R5;
|
||
|
R3 = R2 & R5;
|
||
|
R4 = R3 & R5;
|
||
|
R5 = R4 & R5;
|
||
|
R6 = R5 & R5;
|
||
|
R7 = R6 & R5;
|
||
|
CHECKREG r0, 0x15140240;
|
||
|
CHECKREG r1, 0x15140240;
|
||
|
CHECKREG r2, 0x15140240;
|
||
|
CHECKREG r3, 0x15140240;
|
||
|
CHECKREG r4, 0x15140240;
|
||
|
CHECKREG r5, 0x15140240;
|
||
|
CHECKREG r6, 0x15140240;
|
||
|
CHECKREG r7, 0x15140240;
|
||
|
|
||
|
imm32 r0, 0x01764567;
|
||
|
imm32 r1, 0x89a7cdef;
|
||
|
imm32 r2, 0x56767abc;
|
||
|
imm32 r3, 0xdef61734;
|
||
|
imm32 r4, 0x73466879;
|
||
|
imm32 r5, 0x77962347;
|
||
|
imm32 r6, 0x98765432;
|
||
|
imm32 r7, 0x12375678;
|
||
|
R0 = R7 & R6;
|
||
|
R1 = R0 & R6;
|
||
|
R2 = R1 & R6;
|
||
|
R3 = R2 & R6;
|
||
|
R4 = R3 & R6;
|
||
|
R5 = R4 & R6;
|
||
|
R6 = R5 & R6;
|
||
|
R7 = R6 & R6;
|
||
|
CHECKREG r0, 0x10365430;
|
||
|
CHECKREG r1, 0x10365430;
|
||
|
CHECKREG r2, 0x10365430;
|
||
|
CHECKREG r3, 0x10365430;
|
||
|
CHECKREG r4, 0x10365430;
|
||
|
CHECKREG r5, 0x10365430;
|
||
|
CHECKREG r6, 0x10365430;
|
||
|
CHECKREG r7, 0x10365430;
|
||
|
|
||
|
imm32 r0, 0x81238567;
|
||
|
imm32 r1, 0x88ab78ef;
|
||
|
imm32 r2, 0x56887a8c;
|
||
|
imm32 r3, 0x8ef87238;
|
||
|
imm32 r4, 0x28458899;
|
||
|
imm32 r5, 0x78817845;
|
||
|
imm32 r6, 0x98787482;
|
||
|
imm32 r7, 0x12348678;
|
||
|
R0 = R1 & R7;
|
||
|
R1 = R2 & R7;
|
||
|
R2 = R3 & R7;
|
||
|
R3 = R4 & R7;
|
||
|
R4 = R5 & R7;
|
||
|
R5 = R6 & R7;
|
||
|
R6 = R7 & R7;
|
||
|
R7 = R0 & R7;
|
||
|
CHECKREG r0, 0x00200068;
|
||
|
CHECKREG r1, 0x12000208;
|
||
|
CHECKREG r2, 0x02300238;
|
||
|
CHECKREG r3, 0x00048018;
|
||
|
CHECKREG r4, 0x10000040;
|
||
|
CHECKREG r5, 0x10300400;
|
||
|
CHECKREG r6, 0x12348678;
|
||
|
CHECKREG r7, 0x00200068;
|
||
|
|
||
|
|
||
|
pass
|