blob: ebf2b0bd937fbf5bf3647d68b24851e5c638638d [file] [log] [blame]
//Original:/testcases/core/c_comp3op_dr_minus_dr/c_comp3op_dr_minus_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, 0x00000000;
CHECKREG r1, 0x76543211;
CHECKREG r2, 0xA9876544;
CHECKREG r3, 0x210FEDCC;
CHECKREG r4, 0xDCBA9767;
CHECKREG r5, 0x876EDCBB;
CHECKREG r6, 0x6789ABCE;
CHECKREG r7, 0xEDCBA988;
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, 0x88880888;
CHECKREG r1, 0x00000000;
CHECKREG r2, 0xA987E544;
CHECKREG r3, 0x210FEDCC;
CHECKREG r4, 0xDCBAE767;
CHECKREG r5, 0x876EECBB;
CHECKREG r6, 0x6789EBCE;
CHECKREG r7, 0xEDCBE988;
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, 0x55555505;
CHECKREG r1, 0xCCCCCCFD;
CHECKREG r2, 0x00000000;
CHECKREG r3, 0x210FEDDC;
CHECKREG r4, 0xDCBA97D7;
CHECKREG r5, 0x876EDCDB;
CHECKREG r6, 0x6789ABDE;
CHECKREG r7, 0xEDCBA9D8;
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, 0xDDCCCCD0;
CHECKREG r1, 0x55444450;
CHECKREG r2, 0x88777780;
CHECKREG r3, 0x00000000;
CHECKREG r4, 0xDCBA976D;
CHECKREG r5, 0x876EDCBD;
CHECKREG r6, 0x6789ABCD;
CHECKREG r7, 0xEDCBA98D;
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, 0x02222332;
CHECKREG r1, 0xF9999AAA;
CHECKREG r2, 0xFCCCCDDD;
CHECKREG r3, 0xF4555665;
CHECKREG r4, 0x00000000;
CHECKREG r5, 0xB76EDCBB;
CHECKREG r6, 0xB789ABCE;
CHECKREG r7, 0xBDCBA988;
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, 0x706DDDDE;
CHECKREG r1, 0xEFE55556;
CHECKREG r2, 0x20188889;
CHECKREG r3, 0x9FA11111;
CHECKREG r4, 0x504BBAAC;
CHECKREG r5, 0x00000000;
CHECKREG r6, 0x6A89ABCE;
CHECKREG r7, 0xEACBA988;
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, 0x97500ECB;
CHECKREG r1, 0x0ECF8643;
CHECKREG r2, 0x41FFB976;
CHECKREG r3, 0xB98041FE;
CHECKREG r4, 0x752FEB99;
CHECKREG r5, 0x1FE030ED;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0xEDC9A988;
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, 0x1110E111;
CHECKREG r1, 0x8888D889;
CHECKREG r2, 0xBBBBDBBC;
CHECKREG r3, 0x3343E444;
CHECKREG r4, 0xEEEEDDDF;
CHECKREG r5, 0x99A2E333;
CHECKREG r6, 0x79BDE246;
CHECKREG r7, 0x00000000;
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, 0x70888888;
CHECKREG r1, 0xE5901234;
CHECKREG r2, 0x6E6889AC;
CHECKREG r3, 0xB2BC9011;
CHECKREG r4, 0x080898BD;
CHECKREG r5, 0x27EDCB8A;
CHECKREG r6, 0xA1ABCDE9;
CHECKREG r7, 0x00000000;
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, 0x28CCFCCD;
CHECKREG r1, 0xB474F445;
CHECKREG r2, 0x6ECD2454;
CHECKREG r3, 0xC41C2F00;
CHECKREG r4, 0xE4011DED;
CHECKREG r5, 0x5DBF21E3;
CHECKREG r6, 0x74580888;
CHECKREG r7, 0x00000000;
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, 0xCCD1C8FD;
CHECKREG r1, 0x21BD8909;
CHECKREG r2, 0x41FFB9F7;
CHECKREG r3, 0xD0347C31;
CHECKREG r4, 0x8AD20F06;
CHECKREG r5, 0xDFBDCF12;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0x8E34C23A;
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, 0x2950E111;
CHECKREG r1, 0x49841201;
CHECKREG r2, 0xC3440440;
CHECKREG r3, 0xDA609EDE;
CHECKREG r4, 0x6F237323;
CHECKREG r5, 0xE8E36562;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0x94C2D445;
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, 0xF510EB99;
CHECKREG r1, 0xEEEFEDDF;
CHECKREG r2, 0xA1CB8300;
CHECKREG r3, 0x9BAA8546;
CHECKREG r4, 0x4E861A67;
CHECKREG r5, 0x4D246ADF;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0xFE9E5078;
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, 0x9F9E3333;
CHECKREG r1, 0x2A080FEE;
CHECKREG r2, 0xB471ECA9;
CHECKREG r3, 0x3EDBC964;
CHECKREG r4, 0xC945A61F;
CHECKREG r5, 0x53AF82DA;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0xAC507D26;
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, 0x79C10246;
CHECKREG r1, 0xE14AAE14;
CHECKREG r2, 0x48D459E2;
CHECKREG r3, 0xB05E05B0;
CHECKREG r4, 0x17E7B17E;
CHECKREG r5, 0x7F715D4C;
CHECKREG r6, 0xE6FB091A;
CHECKREG r7, 0x00000000;
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, 0x7676F277;
CHECKREG r1, 0x4453F414;
CHECKREG r2, 0x7CC3EBC0;
CHECKREG r3, 0x16110221;
CHECKREG r4, 0x664CF1CD;
CHECKREG r5, 0x8643EE0A;
CHECKREG r6, 0x00000000;
CHECKREG r7, 0x64426BFF;
pass