1//Original:/testcases/core/c_comp3op_dr_minus_dr/c_comp3op_dr_minus_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, 0x00000000; 28CHECKREG r1, 0x76543211; 29CHECKREG r2, 0xA9876544; 30CHECKREG r3, 0x210FEDCC; 31CHECKREG r4, 0xDCBA9767; 32CHECKREG r5, 0x876EDCBB; 33CHECKREG r6, 0x6789ABCE; 34CHECKREG r7, 0xEDCBA988; 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, 0x88880888; 53CHECKREG r1, 0x00000000; 54CHECKREG r2, 0xA987E544; 55CHECKREG r3, 0x210FEDCC; 56CHECKREG r4, 0xDCBAE767; 57CHECKREG r5, 0x876EECBB; 58CHECKREG r6, 0x6789EBCE; 59CHECKREG r7, 0xEDCBE988; 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, 0x55555505; 78CHECKREG r1, 0xCCCCCCFD; 79CHECKREG r2, 0x00000000; 80CHECKREG r3, 0x210FEDDC; 81CHECKREG r4, 0xDCBA97D7; 82CHECKREG r5, 0x876EDCDB; 83CHECKREG r6, 0x6789ABDE; 84CHECKREG r7, 0xEDCBA9D8; 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, 0xDDCCCCD0; 103CHECKREG r1, 0x55444450; 104CHECKREG r2, 0x88777780; 105CHECKREG r3, 0x00000000; 106CHECKREG r4, 0xDCBA976D; 107CHECKREG r5, 0x876EDCBD; 108CHECKREG r6, 0x6789ABCD; 109CHECKREG r7, 0xEDCBA98D; 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, 0x02222332; 128CHECKREG r1, 0xF9999AAA; 129CHECKREG r2, 0xFCCCCDDD; 130CHECKREG r3, 0xF4555665; 131CHECKREG r4, 0x00000000; 132CHECKREG r5, 0xB76EDCBB; 133CHECKREG r6, 0xB789ABCE; 134CHECKREG r7, 0xBDCBA988; 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, 0x706DDDDE; 153CHECKREG r1, 0xEFE55556; 154CHECKREG r2, 0x20188889; 155CHECKREG r3, 0x9FA11111; 156CHECKREG r4, 0x504BBAAC; 157CHECKREG r5, 0x00000000; 158CHECKREG r6, 0x6A89ABCE; 159CHECKREG r7, 0xEACBA988; 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, 0x97500ECB; 178CHECKREG r1, 0x0ECF8643; 179CHECKREG r2, 0x41FFB976; 180CHECKREG r3, 0xB98041FE; 181CHECKREG r4, 0x752FEB99; 182CHECKREG r5, 0x1FE030ED; 183CHECKREG r6, 0x00000000; 184CHECKREG r7, 0xEDC9A988; 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, 0x1110E111; 203CHECKREG r1, 0x8888D889; 204CHECKREG r2, 0xBBBBDBBC; 205CHECKREG r3, 0x3343E444; 206CHECKREG r4, 0xEEEEDDDF; 207CHECKREG r5, 0x99A2E333; 208CHECKREG r6, 0x79BDE246; 209CHECKREG r7, 0x00000000; 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, 0x70888888; 228CHECKREG r1, 0xE5901234; 229CHECKREG r2, 0x6E6889AC; 230CHECKREG r3, 0xB2BC9011; 231CHECKREG r4, 0x080898BD; 232CHECKREG r5, 0x27EDCB8A; 233CHECKREG r6, 0xA1ABCDE9; 234CHECKREG r7, 0x00000000; 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, 0x28CCFCCD; 253CHECKREG r1, 0xB474F445; 254CHECKREG r2, 0x6ECD2454; 255CHECKREG r3, 0xC41C2F00; 256CHECKREG r4, 0xE4011DED; 257CHECKREG r5, 0x5DBF21E3; 258CHECKREG r6, 0x74580888; 259CHECKREG r7, 0x00000000; 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, 0xCCD1C8FD; 278CHECKREG r1, 0x21BD8909; 279CHECKREG r2, 0x41FFB9F7; 280CHECKREG r3, 0xD0347C31; 281CHECKREG r4, 0x8AD20F06; 282CHECKREG r5, 0xDFBDCF12; 283CHECKREG r6, 0x00000000; 284CHECKREG r7, 0x8E34C23A; 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, 0x2950E111; 303CHECKREG r1, 0x49841201; 304CHECKREG r2, 0xC3440440; 305CHECKREG r3, 0xDA609EDE; 306CHECKREG r4, 0x6F237323; 307CHECKREG r5, 0xE8E36562; 308CHECKREG r6, 0x00000000; 309CHECKREG r7, 0x94C2D445; 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, 0xF510EB99; 328CHECKREG r1, 0xEEEFEDDF; 329CHECKREG r2, 0xA1CB8300; 330CHECKREG r3, 0x9BAA8546; 331CHECKREG r4, 0x4E861A67; 332CHECKREG r5, 0x4D246ADF; 333CHECKREG r6, 0x00000000; 334CHECKREG r7, 0xFE9E5078; 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, 0x9F9E3333; 353CHECKREG r1, 0x2A080FEE; 354CHECKREG r2, 0xB471ECA9; 355CHECKREG r3, 0x3EDBC964; 356CHECKREG r4, 0xC945A61F; 357CHECKREG r5, 0x53AF82DA; 358CHECKREG r6, 0x00000000; 359CHECKREG r7, 0xAC507D26; 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, 0x79C10246; 378CHECKREG r1, 0xE14AAE14; 379CHECKREG r2, 0x48D459E2; 380CHECKREG r3, 0xB05E05B0; 381CHECKREG r4, 0x17E7B17E; 382CHECKREG r5, 0x7F715D4C; 383CHECKREG r6, 0xE6FB091A; 384CHECKREG r7, 0x00000000; 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, 0x7676F277; 403CHECKREG r1, 0x4453F414; 404CHECKREG r2, 0x7CC3EBC0; 405CHECKREG r3, 0x16110221; 406CHECKREG r4, 0x664CF1CD; 407CHECKREG r5, 0x8643EE0A; 408CHECKREG r6, 0x00000000; 409CHECKREG r7, 0x64426BFF; 410 411 412pass 413