1//Original:/testcases/core/c_comp3op_dr_mix/c_comp3op_dr_mix.dsp 2// Spec Reference: comp3op dregs mix 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x01234567; 12imm32 r1, 0x89abcdef; 13imm32 r2, 0x56789abc; 14imm32 r3, 0xdef01234; 15imm32 r4, 0x23456899; 16imm32 r5, 0x78912345; 17imm32 r6, 0x98765432; 18imm32 r7, 0x12345678; 19R0 = R0 + R0; 20R1 = R0 - R1; 21R2 = R0 & R2; 22R3 = R0 | R3; 23R4 = R0 & R4; 24R5 = R0 & R5; 25R6 = R0 | R6; 26R7 = R0 & R7; 27CHECKREG r0, 0x02468ACE; 28CHECKREG r1, 0x789ABCDF; 29CHECKREG r2, 0x02408A8C; 30CHECKREG r3, 0xDEF69AFE; 31CHECKREG r4, 0x02440888; 32CHECKREG r5, 0x00000244; 33CHECKREG r6, 0x9A76DEFE; 34CHECKREG r7, 0x02040248; 35 36imm32 r0, 0x01231567; 37imm32 r1, 0x89ab1def; 38imm32 r2, 0x56781abc; 39imm32 r3, 0xdef01234; 40imm32 r4, 0x23451899; 41imm32 r5, 0x78911345; 42imm32 r6, 0x98761432; 43imm32 r7, 0x12341678; 44R0 = R1 + R0; 45R1 = R1 - R1; 46R2 = R1 & R2; 47R3 = R1 | R3; 48R4 = R1 & R4; 49R5 = R1 & R5; 50R6 = R1 | R6; 51R7 = R1 & R7; 52CHECKREG r0, 0x8ACE3356; 53CHECKREG r1, 0x00000000; 54CHECKREG r2, 0x00000000; 55CHECKREG r3, 0xDEF01234; 56CHECKREG r4, 0x00000000; 57CHECKREG r5, 0x00000000; 58CHECKREG r6, 0x98761432; 59CHECKREG r7, 0x00000000; 60 61imm32 r0, 0x01234527; 62imm32 r1, 0x89abcd2f; 63imm32 r2, 0x56789a2c; 64imm32 r3, 0xdef01224; 65imm32 r4, 0x23456829; 66imm32 r5, 0x78912325; 67imm32 r6, 0x98765422; 68imm32 r7, 0x12345628; 69R0 = R2 + R0; 70R1 = R2 - R1; 71R2 = R2 & R2; 72R3 = R2 | R3; 73R4 = R2 & R4; 74R5 = R2 & R5; 75R6 = R2 | R6; 76R7 = R2 & R7; 77CHECKREG r0, 0x579BDF53; 78CHECKREG r1, 0xCCCCCCFD; 79CHECKREG r2, 0x56789A2C; 80CHECKREG r3, 0xDEF89A2C; 81CHECKREG r4, 0x02400828; 82CHECKREG r5, 0x50100224; 83CHECKREG r6, 0xDE7EDE2E; 84CHECKREG r7, 0x12301228; 85 86imm32 r0, 0x01234563; 87imm32 r1, 0x89abcde3; 88imm32 r2, 0x56789ab3; 89imm32 r3, 0xdef01233; 90imm32 r4, 0x23456893; 91imm32 r5, 0x78912343; 92imm32 r6, 0x98765433; 93imm32 r7, 0x12345673; 94R0 = R3 + R0; 95R1 = R3 - R1; 96R2 = R3 & R2; 97R3 = R3 | R3; 98R4 = R3 & R4; 99R5 = R3 - R5; 100R6 = R3 | R6; 101R7 = R3 & R7; 102CHECKREG r0, 0xE0135796; 103CHECKREG r1, 0x55444450; 104CHECKREG r2, 0x56701233; 105CHECKREG r3, 0xDEF01233; 106CHECKREG r4, 0x02400013; 107CHECKREG r5, 0x665EEEF0; 108CHECKREG r6, 0xDEF65633; 109CHECKREG r7, 0x12301233; 110 111imm32 r0, 0x41234567; 112imm32 r1, 0x49abcdef; 113imm32 r2, 0x46789abc; 114imm32 r3, 0x4ef01234; 115imm32 r4, 0x43456899; 116imm32 r5, 0x48912345; 117imm32 r6, 0x48765432; 118imm32 r7, 0x42345678; 119R0 = R4 + R0; 120R1 = R4 - R1; 121R2 = R4 & R2; 122R3 = R4 | R3; 123R4 = R4 & R4; 124R5 = R4 & R5; 125R6 = R4 | R6; 126R7 = R4 & R7; 127CHECKREG r0, 0x8468AE00; 128CHECKREG r1, 0xF9999AAA; 129CHECKREG r2, 0x42400898; 130CHECKREG r3, 0x4FF57ABD; 131CHECKREG r4, 0x43456899; 132CHECKREG r5, 0x40012001; 133CHECKREG r6, 0x4B777CBB; 134CHECKREG r7, 0x42044018; 135 136imm32 r0, 0x05234567; 137imm32 r1, 0x85abcdef; 138imm32 r2, 0x55789abc; 139imm32 r3, 0xd5f01234; 140imm32 r4, 0x25456899; 141imm32 r5, 0x75912345; 142imm32 r6, 0x95765432; 143imm32 r7, 0x15345678; 144R0 = R5 + R0; 145R1 = R5 - R1; 146R2 = R5 & R2; 147R3 = R5 | R3; 148R4 = R5 & R4; 149R5 = R5 & R5; 150R6 = R5 | R6; 151R7 = R5 & R7; 152CHECKREG r0, 0x7AB468AC; 153CHECKREG r1, 0xEFE55556; 154CHECKREG r2, 0x55100204; 155CHECKREG r3, 0xF5F13375; 156CHECKREG r4, 0x25012001; 157CHECKREG r5, 0x75912345; 158CHECKREG r6, 0xF5F77777; 159CHECKREG r7, 0x15100240; 160 161imm32 r0, 0x01264567; 162imm32 r1, 0x89a6cdef; 163imm32 r2, 0x56769abc; 164imm32 r3, 0xdef61234; 165imm32 r4, 0x23466899; 166imm32 r5, 0x78962345; 167imm32 r6, 0x98765432; 168imm32 r7, 0x12365678; 169R0 = R6 + R0; 170R1 = R6 - R1; 171R2 = R6 & R2; 172R3 = R6 | R3; 173R4 = R6 & R4; 174R5 = R6 & R5; 175R6 = R6 | R6; 176R7 = R6 & R7; 177CHECKREG r0, 0x999C9999; 178CHECKREG r1, 0x0ECF8643; 179CHECKREG r2, 0x10761030; 180CHECKREG r3, 0xDEF65636; 181CHECKREG r4, 0x00464010; 182CHECKREG r5, 0x18160000; 183CHECKREG r6, 0x98765432; 184CHECKREG r7, 0x10365430; 185 186imm32 r0, 0x01237567; 187imm32 r1, 0x89ab7def; 188imm32 r2, 0x56787abc; 189imm32 r3, 0xdef07234; 190imm32 r4, 0x23457899; 191imm32 r5, 0x78917345; 192imm32 r6, 0x98767432; 193imm32 r7, 0x12345678; 194R0 = R7 + R0; 195R1 = R7 - R1; 196R2 = R7 & R2; 197R3 = R7 | R3; 198R4 = R7 & R4; 199R5 = R7 - R5; 200R6 = R7 | R6; 201R7 = R7 & R7; 202CHECKREG r0, 0x1357CBDF; 203CHECKREG r1, 0x8888D889; 204CHECKREG r2, 0x12305238; 205CHECKREG r3, 0xDEF4767C; 206CHECKREG r4, 0x02045018; 207CHECKREG r5, 0x99A2E333; 208CHECKREG r6, 0x9A76767A; 209CHECKREG r7, 0x12345678; 210 211 212imm32 r0, 0x00000001; 213imm32 r1, 0x00020003; 214imm32 r2, 0x00040005; 215imm32 r3, 0x00060007; 216imm32 r4, 0x00080009; 217imm32 r5, 0x000a000b; 218imm32 r6, 0x000c000d; 219imm32 r7, 0x000e000f; 220 221 222R0 = R1 + R2; 223R1 = R3 - R2; 224R2 = R4 & R3; 225R3 = R5 | R4; 226R4 = R6 & R7; 227CHECKREG r0, 0x00060008; 228CHECKREG r1, 0x00020002; 229CHECKREG r2, 0x00000001; 230CHECKREG r3, 0x000A000B; 231CHECKREG r4, 0x000C000D; 232CHECKREG r5, 0x000a000b; 233CHECKREG r6, 0x000c000d; 234CHECKREG r7, 0x000e000f; 235 236 237pass 238