//Original:/testcases/core/c_comp3op_dr_mix/c_comp3op_dr_mix.dsp | |
// Spec Reference: comp3op dregs mix | |
# 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, 0x02468ACE; | |
CHECKREG r1, 0x789ABCDF; | |
CHECKREG r2, 0x02408A8C; | |
CHECKREG r3, 0xDEF69AFE; | |
CHECKREG r4, 0x02440888; | |
CHECKREG r5, 0x00000244; | |
CHECKREG r6, 0x9A76DEFE; | |
CHECKREG r7, 0x02040248; | |
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, 0x8ACE3356; | |
CHECKREG r1, 0x00000000; | |
CHECKREG r2, 0x00000000; | |
CHECKREG r3, 0xDEF01234; | |
CHECKREG r4, 0x00000000; | |
CHECKREG r5, 0x00000000; | |
CHECKREG r6, 0x98761432; | |
CHECKREG r7, 0x00000000; | |
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, 0x579BDF53; | |
CHECKREG r1, 0xCCCCCCFD; | |
CHECKREG r2, 0x56789A2C; | |
CHECKREG r3, 0xDEF89A2C; | |
CHECKREG r4, 0x02400828; | |
CHECKREG r5, 0x50100224; | |
CHECKREG r6, 0xDE7EDE2E; | |
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, 0xE0135796; | |
CHECKREG r1, 0x55444450; | |
CHECKREG r2, 0x56701233; | |
CHECKREG r3, 0xDEF01233; | |
CHECKREG r4, 0x02400013; | |
CHECKREG r5, 0x665EEEF0; | |
CHECKREG r6, 0xDEF65633; | |
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, 0x8468AE00; | |
CHECKREG r1, 0xF9999AAA; | |
CHECKREG r2, 0x42400898; | |
CHECKREG r3, 0x4FF57ABD; | |
CHECKREG r4, 0x43456899; | |
CHECKREG r5, 0x40012001; | |
CHECKREG r6, 0x4B777CBB; | |
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, 0x7AB468AC; | |
CHECKREG r1, 0xEFE55556; | |
CHECKREG r2, 0x55100204; | |
CHECKREG r3, 0xF5F13375; | |
CHECKREG r4, 0x25012001; | |
CHECKREG r5, 0x75912345; | |
CHECKREG r6, 0xF5F77777; | |
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, 0x999C9999; | |
CHECKREG r1, 0x0ECF8643; | |
CHECKREG r2, 0x10761030; | |
CHECKREG r3, 0xDEF65636; | |
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, 0x1357CBDF; | |
CHECKREG r1, 0x8888D889; | |
CHECKREG r2, 0x12305238; | |
CHECKREG r3, 0xDEF4767C; | |
CHECKREG r4, 0x02045018; | |
CHECKREG r5, 0x99A2E333; | |
CHECKREG r6, 0x9A76767A; | |
CHECKREG r7, 0x12345678; | |
imm32 r0, 0x00000001; | |
imm32 r1, 0x00020003; | |
imm32 r2, 0x00040005; | |
imm32 r3, 0x00060007; | |
imm32 r4, 0x00080009; | |
imm32 r5, 0x000a000b; | |
imm32 r6, 0x000c000d; | |
imm32 r7, 0x000e000f; | |
R0 = R1 + R2; | |
R1 = R3 - R2; | |
R2 = R4 & R3; | |
R3 = R5 | R4; | |
R4 = R6 & R7; | |
CHECKREG r0, 0x00060008; | |
CHECKREG r1, 0x00020002; | |
CHECKREG r2, 0x00000001; | |
CHECKREG r3, 0x000A000B; | |
CHECKREG r4, 0x000C000D; | |
CHECKREG r5, 0x000a000b; | |
CHECKREG r6, 0x000c000d; | |
CHECKREG r7, 0x000e000f; | |
pass |