//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