//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 |