1//Original:/testcases/core/c_comp3op_dr_and_dr/c_comp3op_dr_and_dr.dsp 2// Spec Reference: comp3op dregs & dregs 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, 0x01234567; 28CHECKREG r1, 0x01234567; 29CHECKREG r2, 0x00200024; 30CHECKREG r3, 0x00200024; 31CHECKREG r4, 0x01014001; 32CHECKREG r5, 0x00010145; 33CHECKREG r6, 0x00224422; 34CHECKREG r7, 0x00204460; 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, 0x01231567; 53CHECKREG r1, 0x89AB1DEF; 54CHECKREG r2, 0x002818AC; 55CHECKREG r3, 0x88A01024; 56CHECKREG r4, 0x01011889; 57CHECKREG r5, 0x08811145; 58CHECKREG r6, 0x88221422; 59CHECKREG r7, 0x00201468; 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, 0x00200024; 78CHECKREG r1, 0x0028882C; 79CHECKREG r2, 0x56789A2C; 80CHECKREG r3, 0x56701224; 81CHECKREG r4, 0x02400828; 82CHECKREG r5, 0x50100224; 83CHECKREG r6, 0x10701020; 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, 0x00200023; 103CHECKREG r1, 0x88A00023; 104CHECKREG r2, 0x56701233; 105CHECKREG r3, 0xDEF01233; 106CHECKREG r4, 0x02400013; 107CHECKREG r5, 0x58900203; 108CHECKREG r6, 0x98701033; 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, 0x41014001; 128CHECKREG r1, 0x41014889; 129CHECKREG r2, 0x42400898; 130CHECKREG r3, 0x42400010; 131CHECKREG r4, 0x43456899; 132CHECKREG r5, 0x40012001; 133CHECKREG r6, 0x40444010; 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, 0x05010145; 153CHECKREG r1, 0x05810145; 154CHECKREG r2, 0x55100204; 155CHECKREG r3, 0x55900204; 156CHECKREG r4, 0x25012001; 157CHECKREG r5, 0x75912345; 158CHECKREG r6, 0x15100000; 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, 0x00264422; 178CHECKREG r1, 0x88264422; 179CHECKREG r2, 0x10761030; 180CHECKREG r3, 0x98761030; 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, 0x00205460; 203CHECKREG r1, 0x00205468; 204CHECKREG r2, 0x12305238; 205CHECKREG r3, 0x12305230; 206CHECKREG r4, 0x02045018; 207CHECKREG r5, 0x10105240; 208CHECKREG r6, 0x10345430; 209CHECKREG r7, 0x12345678; 210 211imm32 r0, 0x11234567; 212imm32 r1, 0x81abcdef; 213imm32 r2, 0x56189abc; 214imm32 r3, 0xdef11234; 215imm32 r4, 0x23451899; 216imm32 r5, 0x78912145; 217imm32 r6, 0x98765412; 218imm32 r7, 0x12345671; 219R0 = R1 & R0; 220R1 = R2 & R0; 221R2 = R3 & R0; 222R3 = R4 & R0; 223R4 = R5 & R0; 224R5 = R6 & R0; 225R6 = R7 & R0; 226R7 = R0 & R0; 227CHECKREG r0, 0x01234567; 228CHECKREG r1, 0x00000024; 229CHECKREG r2, 0x00210024; 230CHECKREG r3, 0x01010001; 231CHECKREG r4, 0x00010145; 232CHECKREG r5, 0x00224402; 233CHECKREG r6, 0x00204461; 234CHECKREG r7, 0x01234567; 235 236imm32 r0, 0x01231567; 237imm32 r1, 0x29ab1def; 238imm32 r2, 0x52781abc; 239imm32 r3, 0xde201234; 240imm32 r4, 0x23421899; 241imm32 r5, 0x78912345; 242imm32 r6, 0x98761232; 243imm32 r7, 0x12341628; 244R0 = R2 & R1; 245R1 = R3 & R1; 246R2 = R4 & R1; 247R3 = R5 & R1; 248R4 = R6 & R1; 249R5 = R7 & R1; 250R6 = R0 & R1; 251R7 = R1 & R1; 252CHECKREG r0, 0x002818AC; 253CHECKREG r1, 0x08201024; 254CHECKREG r2, 0x00001000; 255CHECKREG r3, 0x08000004; 256CHECKREG r4, 0x08201020; 257CHECKREG r5, 0x00201020; 258CHECKREG r6, 0x00201024; 259CHECKREG r7, 0x08201024; 260 261imm32 r0, 0x03234527; 262imm32 r1, 0x893bcd2f; 263imm32 r2, 0x56739a2c; 264imm32 r3, 0x3ef03224; 265imm32 r4, 0x23456329; 266imm32 r5, 0x78312335; 267imm32 r6, 0x98735423; 268imm32 r7, 0x12343628; 269R0 = R4 & R2; 270R1 = R5 & R2; 271R2 = R6 & R2; 272R3 = R7 & R2; 273R4 = R0 & R2; 274R5 = R1 & R2; 275R6 = R2 & R2; 276R7 = R3 & R2; 277CHECKREG r0, 0x02410228; 278CHECKREG r1, 0x50310224; 279CHECKREG r2, 0x10731020; 280CHECKREG r3, 0x10301020; 281CHECKREG r4, 0x00410020; 282CHECKREG r5, 0x10310020; 283CHECKREG r6, 0x10731020; 284CHECKREG r7, 0x10301020; 285 286imm32 r0, 0x04234563; 287imm32 r1, 0x894bcde3; 288imm32 r2, 0x56749ab3; 289imm32 r3, 0x4ef04233; 290imm32 r4, 0x24456493; 291imm32 r5, 0x78412344; 292imm32 r6, 0x98745434; 293imm32 r7, 0x12344673; 294R0 = R5 & R3; 295R1 = R6 & R3; 296R2 = R7 & R3; 297R3 = R0 & R3; 298R4 = R1 & R3; 299R5 = R2 & R3; 300R6 = R3 & R3; 301R7 = R4 & R3; 302CHECKREG r0, 0x48400200; 303CHECKREG r1, 0x08704030; 304CHECKREG r2, 0x02304233; 305CHECKREG r3, 0x48400200; 306CHECKREG r4, 0x08400000; 307CHECKREG r5, 0x00000200; 308CHECKREG r6, 0x48400200; 309CHECKREG r7, 0x08400000; 310 311imm32 r0, 0x41235567; 312imm32 r1, 0x49abc5ef; 313imm32 r2, 0x46789a5c; 314imm32 r3, 0x4ef01235; 315imm32 r4, 0x53456899; 316imm32 r5, 0x45912345; 317imm32 r6, 0x48565432; 318imm32 r7, 0x42355678; 319R0 = R6 & R4; 320R1 = R7 & R4; 321R2 = R0 & R4; 322R3 = R1 & R4; 323R4 = R2 & R4; 324R5 = R3 & R4; 325R6 = R4 & R4; 326R7 = R5 & R4; 327CHECKREG r0, 0x40444010; 328CHECKREG r1, 0x42054018; 329CHECKREG r2, 0x40444010; 330CHECKREG r3, 0x42054018; 331CHECKREG r4, 0x40444010; 332CHECKREG r5, 0x40044010; 333CHECKREG r6, 0x40444010; 334CHECKREG r7, 0x40044010; 335 336imm32 r0, 0x05264567; 337imm32 r1, 0x85ab6def; 338imm32 r2, 0x657896bc; 339imm32 r3, 0xd6f01264; 340imm32 r4, 0x25656896; 341imm32 r5, 0x75962345; 342imm32 r6, 0x95766432; 343imm32 r7, 0x15345678; 344R0 = R7 & R5; 345R1 = R0 & R5; 346R2 = R1 & R5; 347R3 = R2 & R5; 348R4 = R3 & R5; 349R5 = R4 & R5; 350R6 = R5 & R5; 351R7 = R6 & R5; 352CHECKREG r0, 0x15140240; 353CHECKREG r1, 0x15140240; 354CHECKREG r2, 0x15140240; 355CHECKREG r3, 0x15140240; 356CHECKREG r4, 0x15140240; 357CHECKREG r5, 0x15140240; 358CHECKREG r6, 0x15140240; 359CHECKREG r7, 0x15140240; 360 361imm32 r0, 0x01764567; 362imm32 r1, 0x89a7cdef; 363imm32 r2, 0x56767abc; 364imm32 r3, 0xdef61734; 365imm32 r4, 0x73466879; 366imm32 r5, 0x77962347; 367imm32 r6, 0x98765432; 368imm32 r7, 0x12375678; 369R0 = R7 & R6; 370R1 = R0 & R6; 371R2 = R1 & R6; 372R3 = R2 & R6; 373R4 = R3 & R6; 374R5 = R4 & R6; 375R6 = R5 & R6; 376R7 = R6 & R6; 377CHECKREG r0, 0x10365430; 378CHECKREG r1, 0x10365430; 379CHECKREG r2, 0x10365430; 380CHECKREG r3, 0x10365430; 381CHECKREG r4, 0x10365430; 382CHECKREG r5, 0x10365430; 383CHECKREG r6, 0x10365430; 384CHECKREG r7, 0x10365430; 385 386imm32 r0, 0x81238567; 387imm32 r1, 0x88ab78ef; 388imm32 r2, 0x56887a8c; 389imm32 r3, 0x8ef87238; 390imm32 r4, 0x28458899; 391imm32 r5, 0x78817845; 392imm32 r6, 0x98787482; 393imm32 r7, 0x12348678; 394R0 = R1 & R7; 395R1 = R2 & R7; 396R2 = R3 & R7; 397R3 = R4 & R7; 398R4 = R5 & R7; 399R5 = R6 & R7; 400R6 = R7 & R7; 401R7 = R0 & R7; 402CHECKREG r0, 0x00200068; 403CHECKREG r1, 0x12000208; 404CHECKREG r2, 0x02300238; 405CHECKREG r3, 0x00048018; 406CHECKREG r4, 0x10000040; 407CHECKREG r5, 0x10300400; 408CHECKREG r6, 0x12348678; 409CHECKREG r7, 0x00200068; 410 411 412pass 413