262 lines
5.6 KiB
ArmAsm
262 lines
5.6 KiB
ArmAsm
//Original:/testcases/core/c_dsp32alu_max/c_dsp32alu_max.dsp
|
|
// Spec Reference: dsp32alu dregs = max ( dregs, dregs)
|
|
# mach: bfin
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
|
|
|
|
|
|
|
|
imm32 r0, 0x85678911;
|
|
imm32 r1, 0x9789ab1d;
|
|
imm32 r2, 0xa4445b15;
|
|
imm32 r3, 0x46667717;
|
|
imm32 r4, 0xd567f91b;
|
|
imm32 r5, 0x6789ab1d;
|
|
imm32 r6, 0x74445515;
|
|
imm32 r7, 0x86667777;
|
|
R0 = MAX ( R0 , R0 );
|
|
R1 = MAX ( R0 , R1 );
|
|
R2 = MAX ( R0 , R2 );
|
|
R3 = MAX ( R0 , R3 );
|
|
R4 = MAX ( R0 , R4 );
|
|
R5 = MAX ( R0 , R5 );
|
|
R6 = MAX ( R0 , R6 );
|
|
R7 = MAX ( R0 , R7 );
|
|
CHECKREG r0, 0x85678911;
|
|
CHECKREG r1, 0x9789AB1D;
|
|
CHECKREG r2, 0xA4445B15;
|
|
CHECKREG r3, 0x46667717;
|
|
CHECKREG r4, 0xD567F91B;
|
|
CHECKREG r5, 0x6789AB1D;
|
|
CHECKREG r6, 0x74445515;
|
|
CHECKREG r7, 0x86667777;
|
|
|
|
imm32 r0, 0x9567892b;
|
|
imm32 r1, 0xa789ab2d;
|
|
imm32 r2, 0xb4445525;
|
|
imm32 r3, 0xc6667727;
|
|
imm32 r4, 0xd8889929;
|
|
imm32 r5, 0xeaaabb2b;
|
|
imm32 r6, 0xfcccdd2d;
|
|
imm32 r7, 0x0eeeffff;
|
|
R0 = MAX ( R1 , R0 );
|
|
R1 = MAX ( R1 , R1 );
|
|
R2 = MAX ( R1 , R2 );
|
|
R3 = MAX ( R1 , R3 );
|
|
R4 = MAX ( R1 , R4 );
|
|
R5 = MAX ( R1 , R5 );
|
|
R6 = MAX ( R1 , R6 );
|
|
R7 = MAX ( R1 , R7 );
|
|
CHECKREG r0, 0xA789AB2D;
|
|
CHECKREG r1, 0xA789AB2D;
|
|
CHECKREG r2, 0xB4445525;
|
|
CHECKREG r3, 0xC6667727;
|
|
CHECKREG r4, 0xD8889929;
|
|
CHECKREG r5, 0xEAAABB2B;
|
|
CHECKREG r6, 0xFCCCDD2D;
|
|
CHECKREG r7, 0x0EEEFFFF;
|
|
|
|
imm32 r0, 0x416789ab;
|
|
imm32 r1, 0x6289abcd;
|
|
imm32 r2, 0x43445555;
|
|
imm32 r3, 0x64667777;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x6689abcd;
|
|
imm32 r6, 0x47445555;
|
|
imm32 r7, 0x68667777;
|
|
R0 = MAX ( R2 , R0 );
|
|
R1 = MAX ( R2 , R1 );
|
|
R2 = MAX ( R2 , R2 );
|
|
R3 = MAX ( R2 , R3 );
|
|
R4 = MAX ( R2 , R4 );
|
|
R5 = MAX ( R2 , R5 );
|
|
R6 = MAX ( R2 , R6 );
|
|
R7 = MAX ( R2 , R7 );
|
|
CHECKREG r0, 0x43445555;
|
|
CHECKREG r1, 0x6289ABCD;
|
|
CHECKREG r2, 0x43445555;
|
|
CHECKREG r3, 0x64667777;
|
|
CHECKREG r4, 0x456789AB;
|
|
CHECKREG r5, 0x6689ABCD;
|
|
CHECKREG r6, 0x47445555;
|
|
CHECKREG r7, 0x68667777;
|
|
|
|
imm32 r0, 0x9567892b;
|
|
imm32 r1, 0xa789ab2d;
|
|
imm32 r2, 0xb4445525;
|
|
imm32 r3, 0xc6667727;
|
|
imm32 r0, 0x9567892b;
|
|
imm32 r1, 0xa789ab2d;
|
|
imm32 r2, 0xb4445525;
|
|
imm32 r3, 0xc6667727;
|
|
R0 = MAX ( R3 , R0 );
|
|
R1 = MAX ( R3 , R1 );
|
|
R2 = MAX ( R3 , R2 );
|
|
R3 = MAX ( R3 , R3 );
|
|
R4 = MAX ( R3 , R4 );
|
|
R5 = MAX ( R3 , R5 );
|
|
R6 = MAX ( R3 , R6 );
|
|
R7 = MAX ( R3 , R7 );
|
|
CHECKREG r0, 0xC6667727;
|
|
CHECKREG r1, 0xC6667727;
|
|
CHECKREG r2, 0xC6667727;
|
|
CHECKREG r3, 0xC6667727;
|
|
CHECKREG r4, 0x456789AB;
|
|
CHECKREG r5, 0x6689ABCD;
|
|
CHECKREG r6, 0x47445555;
|
|
CHECKREG r7, 0x68667777;
|
|
|
|
imm32 r0, 0x5537891b;
|
|
imm32 r1, 0x6759ab2d;
|
|
imm32 r2, 0x74555535;
|
|
imm32 r3, 0x86665747;
|
|
imm32 r4, 0x88789565;
|
|
imm32 r5, 0xaa8abb5b;
|
|
imm32 r6, 0xcc9cdd85;
|
|
imm32 r7, 0xeeaeff9f;
|
|
R0 = MAX ( R4 , R0 );
|
|
R1 = MAX ( R4 , R1 );
|
|
R2 = MAX ( R4 , R2 );
|
|
R3 = MAX ( R4 , R3 );
|
|
R4 = MAX ( R4 , R4 );
|
|
R5 = MAX ( R4 , R5 );
|
|
R6 = MAX ( R4 , R6 );
|
|
R7 = MAX ( R4 , R7 );
|
|
CHECKREG r0, 0x5537891B;
|
|
CHECKREG r1, 0x6759AB2D;
|
|
CHECKREG r2, 0x74555535;
|
|
CHECKREG r3, 0x88789565;
|
|
CHECKREG r4, 0x88789565;
|
|
CHECKREG r5, 0xAA8ABB5B;
|
|
CHECKREG r6, 0xCC9CDD85;
|
|
CHECKREG r7, 0xEEAEFF9F;
|
|
|
|
imm32 r0, 0x556b89ab;
|
|
imm32 r1, 0x69764bcd;
|
|
imm32 r2, 0x79736564;
|
|
imm32 r3, 0x81278394;
|
|
imm32 r4, 0x98876439;
|
|
imm32 r5, 0xaaaa0bbb;
|
|
imm32 r6, 0xcccc1ddd;
|
|
imm32 r7, 0x12346fff;
|
|
R0 = MAX ( R5 , R0 );
|
|
R1 = MAX ( R5 , R1 );
|
|
R2 = MAX ( R5 , R2 );
|
|
R3 = MAX ( R5 , R3 );
|
|
R4 = MAX ( R5 , R4 );
|
|
R5 = MAX ( R5 , R5 );
|
|
R6 = MAX ( R5 , R6 );
|
|
R7 = MAX ( R5 , R7 );
|
|
CHECKREG r0, 0x556B89AB;
|
|
CHECKREG r1, 0x69764BCD;
|
|
CHECKREG r2, 0x79736564;
|
|
CHECKREG r3, 0xAAAA0BBB;
|
|
CHECKREG r4, 0xAAAA0BBB;
|
|
CHECKREG r5, 0xAAAA0BBB;
|
|
CHECKREG r6, 0xCCCC1DDD;
|
|
CHECKREG r7, 0x12346FFF;
|
|
|
|
imm32 r0, 0xe56739ab;
|
|
imm32 r1, 0xf7694bcd;
|
|
imm32 r2, 0xa3456755;
|
|
imm32 r3, 0x66666777;
|
|
imm32 r4, 0x42345699;
|
|
imm32 r5, 0x45678b6b;
|
|
imm32 r6, 0x043290d6;
|
|
imm32 r7, 0x1234567f;
|
|
R0 = MAX ( R6 , R0 );
|
|
R1 = MAX ( R6 , R1 );
|
|
R2 = MAX ( R6 , R2 );
|
|
R3 = MAX ( R6 , R3 );
|
|
R4 = MAX ( R6 , R4 );
|
|
R5 = MAX ( R6 , R5 );
|
|
R6 = MAX ( R6 , R6 );
|
|
R7 = MAX ( R6 , R7 );
|
|
CHECKREG r0, 0x043290D6;
|
|
CHECKREG r1, 0x043290D6;
|
|
CHECKREG r2, 0x043290D6;
|
|
CHECKREG r3, 0x66666777;
|
|
CHECKREG r4, 0x42345699;
|
|
CHECKREG r5, 0x45678B6B;
|
|
CHECKREG r6, 0x043290D6;
|
|
CHECKREG r7, 0x1234567F;
|
|
|
|
imm32 r0, 0x576789ab;
|
|
imm32 r1, 0xd779abcd;
|
|
imm32 r2, 0x23456755;
|
|
imm32 r3, 0x56789007;
|
|
imm32 r4, 0x789ab799;
|
|
imm32 r5, 0xaaaa0bbb;
|
|
imm32 r6, 0xf9ab1d7d;
|
|
imm32 r7, 0xabcd2ff7;
|
|
R0 = MAX ( R7 , R0 );
|
|
R1 = MAX ( R7 , R1 );
|
|
R2 = MAX ( R7 , R2 );
|
|
R3 = MAX ( R7 , R3 );
|
|
R4 = MAX ( R7 , R4 );
|
|
R5 = MAX ( R7 , R5 );
|
|
R6 = MAX ( R7 , R6 );
|
|
R7 = MAX ( R7 , R7 );
|
|
CHECKREG r0, 0x576789AB;
|
|
CHECKREG r1, 0xD779ABCD;
|
|
CHECKREG r2, 0x23456755;
|
|
CHECKREG r3, 0x56789007;
|
|
CHECKREG r4, 0x789AB799;
|
|
CHECKREG r5, 0xABCD2FF7;
|
|
CHECKREG r6, 0xF9AB1D7D;
|
|
CHECKREG r7, 0xABCD2FF7;
|
|
imm32 r0, 0xe56739ab;
|
|
imm32 r1, 0x67694bcd;
|
|
imm32 r2, 0xd3456755;
|
|
imm32 r3, 0x66666777;
|
|
imm32 r4, 0x12345699;
|
|
imm32 r5, 0x45678b6b;
|
|
imm32 r6, 0x043290d6;
|
|
imm32 r7, 0x1234567f;
|
|
R4 = MAX ( R4 , R7 );
|
|
R5 = MAX ( R5 , R5 );
|
|
R2 = MAX ( R6 , R3 );
|
|
R6 = MAX ( R0 , R4 );
|
|
R0 = MAX ( R1 , R6 );
|
|
R2 = MAX ( R2 , R1 );
|
|
R1 = MAX ( R3 , R0 );
|
|
R7 = MAX ( R7 , R4 );
|
|
CHECKREG r0, 0x67694BCD;
|
|
CHECKREG r1, 0x67694BCD;
|
|
CHECKREG r2, 0x67694BCD;
|
|
CHECKREG r3, 0x66666777;
|
|
CHECKREG r4, 0x12345699;
|
|
CHECKREG r5, 0x45678B6B;
|
|
CHECKREG r6, 0x12345699;
|
|
CHECKREG r7, 0x12345699;
|
|
|
|
imm32 r0, 0xd76789ab;
|
|
imm32 r1, 0x6779abcd;
|
|
imm32 r2, 0xe3456755;
|
|
imm32 r3, 0x56789007;
|
|
imm32 r4, 0x789ab799;
|
|
imm32 r5, 0xaaaa0bbb;
|
|
imm32 r6, 0x89ab1d7d;
|
|
imm32 r7, 0xabcd2ff7;
|
|
R3 = MAX ( R4 , R0 );
|
|
R5 = MAX ( R5 , R1 );
|
|
R2 = MAX ( R2 , R2 );
|
|
R7 = MAX ( R7 , R3 );
|
|
R4 = MAX ( R3 , R4 );
|
|
R0 = MAX ( R1 , R5 );
|
|
R1 = MAX ( R0 , R6 );
|
|
R6 = MAX ( R6 , R7 );
|
|
CHECKREG r0, 0x6779ABCD;
|
|
CHECKREG r1, 0x6779ABCD;
|
|
CHECKREG r2, 0xE3456755;
|
|
CHECKREG r3, 0x789AB799;
|
|
CHECKREG r4, 0x789AB799;
|
|
CHECKREG r5, 0x6779ABCD;
|
|
CHECKREG r6, 0x789AB799;
|
|
CHECKREG r7, 0x789AB799;
|
|
|
|
|
|
pass
|