1*6ca2c52aSchristos//Original:/testcases/core/c_dsp32alu_maxmax/c_dsp32alu_maxmax.dsp 2*6ca2c52aSchristos// Spec Reference: dsp32alu dregs = max / max ( dregs, dregs) 3*6ca2c52aSchristos# mach: bfin 4*6ca2c52aSchristos 5*6ca2c52aSchristos.include "testutils.inc" 6*6ca2c52aSchristos start 7*6ca2c52aSchristos 8*6ca2c52aSchristos 9*6ca2c52aSchristos 10*6ca2c52aSchristos 11*6ca2c52aSchristosimm32 r0, 0x25678911; 12*6ca2c52aSchristosimm32 r1, 0x2389ab1d; 13*6ca2c52aSchristosimm32 r2, 0x34445515; 14*6ca2c52aSchristosimm32 r3, 0xe6657717; 15*6ca2c52aSchristosimm32 r4, 0x5a67891b; 16*6ca2c52aSchristosimm32 r5, 0x67b9ab1d; 17*6ca2c52aSchristosimm32 r6, 0x744d5515; 18*6ca2c52aSchristosimm32 r7, 0x8666c777; 19*6ca2c52aSchristosR0 = MAX ( R0 , R0 ) (V); 20*6ca2c52aSchristosR1 = MAX ( R0 , R1 ) (V); 21*6ca2c52aSchristosR2 = MAX ( R0 , R2 ) (V); 22*6ca2c52aSchristosR3 = MAX ( R0 , R3 ) (V); 23*6ca2c52aSchristosR4 = MAX ( R0 , R4 ) (V); 24*6ca2c52aSchristosR5 = MAX ( R0 , R5 ) (V); 25*6ca2c52aSchristosR6 = MAX ( R0 , R6 ) (V); 26*6ca2c52aSchristosR7 = MAX ( R0 , R7 ) (V); 27*6ca2c52aSchristosCHECKREG r0, 0x25678911; 28*6ca2c52aSchristosCHECKREG r1, 0x2567AB1D; 29*6ca2c52aSchristosCHECKREG r2, 0x34445515; 30*6ca2c52aSchristosCHECKREG r3, 0x25677717; 31*6ca2c52aSchristosCHECKREG r4, 0x5A67891B; 32*6ca2c52aSchristosCHECKREG r5, 0x67B9AB1D; 33*6ca2c52aSchristosCHECKREG r6, 0x744D5515; 34*6ca2c52aSchristosCHECKREG r7, 0x2567C777; 35*6ca2c52aSchristos 36*6ca2c52aSchristosimm32 r0, 0x9567892b; 37*6ca2c52aSchristosimm32 r1, 0xa789ab2d; 38*6ca2c52aSchristosimm32 r2, 0xb4445525; 39*6ca2c52aSchristosimm32 r3, 0xc6667727; 40*6ca2c52aSchristosimm32 r4, 0xd8889929; 41*6ca2c52aSchristosimm32 r5, 0xeaaabb2b; 42*6ca2c52aSchristosimm32 r6, 0xfcccdd2d; 43*6ca2c52aSchristosimm32 r7, 0x0eeeffff; 44*6ca2c52aSchristosR0 = MAX ( R1 , R0 ) (V); 45*6ca2c52aSchristosR1 = MAX ( R1 , R1 ) (V); 46*6ca2c52aSchristosR2 = MAX ( R1 , R2 ) (V); 47*6ca2c52aSchristosR3 = MAX ( R1 , R3 ) (V); 48*6ca2c52aSchristosR4 = MAX ( R1 , R4 ) (V); 49*6ca2c52aSchristosR5 = MAX ( R1 , R5 ) (V); 50*6ca2c52aSchristosR6 = MAX ( R1 , R6 ) (V); 51*6ca2c52aSchristosR7 = MAX ( R1 , R7 ) (V); 52*6ca2c52aSchristosCHECKREG r0, 0xA789AB2D; 53*6ca2c52aSchristosCHECKREG r1, 0xA789AB2D; 54*6ca2c52aSchristosCHECKREG r2, 0xB4445525; 55*6ca2c52aSchristosCHECKREG r3, 0xC6667727; 56*6ca2c52aSchristosCHECKREG r4, 0xD888AB2D; 57*6ca2c52aSchristosCHECKREG r5, 0xEAAABB2B; 58*6ca2c52aSchristosCHECKREG r6, 0xFCCCDD2D; 59*6ca2c52aSchristosCHECKREG r7, 0x0EEEFFFF; 60*6ca2c52aSchristos 61*6ca2c52aSchristosimm32 r0, 0x416789ab; 62*6ca2c52aSchristosimm32 r1, 0x5289abcd; 63*6ca2c52aSchristosimm32 r2, 0x63445555; 64*6ca2c52aSchristosimm32 r3, 0xa7669777; 65*6ca2c52aSchristosimm32 r4, 0x456789ab; 66*6ca2c52aSchristosimm32 r5, 0xb689abcd; 67*6ca2c52aSchristosimm32 r6, 0xd7445555; 68*6ca2c52aSchristosimm32 r7, 0x68667777; 69*6ca2c52aSchristosR0 = MAX ( R2 , R0 ) (V); 70*6ca2c52aSchristosR1 = MAX ( R2 , R1 ) (V); 71*6ca2c52aSchristosR2 = MAX ( R2 , R2 ) (V); 72*6ca2c52aSchristosR3 = MAX ( R2 , R3 ) (V); 73*6ca2c52aSchristosR4 = MAX ( R2 , R4 ) (V); 74*6ca2c52aSchristosR5 = MAX ( R2 , R5 ) (V); 75*6ca2c52aSchristosR6 = MAX ( R2 , R6 ) (V); 76*6ca2c52aSchristosR7 = MAX ( R2 , R7 ) (V); 77*6ca2c52aSchristosCHECKREG r0, 0x63445555; 78*6ca2c52aSchristosCHECKREG r1, 0x63445555; 79*6ca2c52aSchristosCHECKREG r2, 0x63445555; 80*6ca2c52aSchristosCHECKREG r3, 0x63445555; 81*6ca2c52aSchristosCHECKREG r4, 0x63445555; 82*6ca2c52aSchristosCHECKREG r5, 0x63445555; 83*6ca2c52aSchristosCHECKREG r6, 0x63445555; 84*6ca2c52aSchristosCHECKREG r7, 0x68667777; 85*6ca2c52aSchristos 86*6ca2c52aSchristosimm32 r0, 0x9567892b; 87*6ca2c52aSchristosimm32 r1, 0xa789ab2d; 88*6ca2c52aSchristosimm32 r2, 0xb4445525; 89*6ca2c52aSchristosimm32 r3, 0xc6667727; 90*6ca2c52aSchristosimm32 r0, 0x9567892b; 91*6ca2c52aSchristosimm32 r1, 0xa789ab2d; 92*6ca2c52aSchristosimm32 r2, 0xb4445525; 93*6ca2c52aSchristosimm32 r3, 0xc6667727; 94*6ca2c52aSchristosR0 = MAX ( R3 , R0 ) (V); 95*6ca2c52aSchristosR1 = MAX ( R3 , R1 ) (V); 96*6ca2c52aSchristosR2 = MAX ( R3 , R2 ) (V); 97*6ca2c52aSchristosR3 = MAX ( R3 , R3 ) (V); 98*6ca2c52aSchristosR4 = MAX ( R3 , R4 ) (V); 99*6ca2c52aSchristosR5 = MAX ( R3 , R5 ) (V); 100*6ca2c52aSchristosR6 = MAX ( R3 , R6 ) (V); 101*6ca2c52aSchristosR7 = MAX ( R3 , R7 ) (V); 102*6ca2c52aSchristosCHECKREG r0, 0xC6667727; 103*6ca2c52aSchristosCHECKREG r1, 0xC6667727; 104*6ca2c52aSchristosCHECKREG r2, 0xC6667727; 105*6ca2c52aSchristosCHECKREG r3, 0xC6667727; 106*6ca2c52aSchristosCHECKREG r4, 0x63447727; 107*6ca2c52aSchristosCHECKREG r5, 0x63447727; 108*6ca2c52aSchristosCHECKREG r6, 0x63447727; 109*6ca2c52aSchristosCHECKREG r7, 0x68667777; 110*6ca2c52aSchristos 111*6ca2c52aSchristosimm32 r0, 0x4537891b; 112*6ca2c52aSchristosimm32 r1, 0x6759ab2d; 113*6ca2c52aSchristosimm32 r2, 0x44555535; 114*6ca2c52aSchristosimm32 r3, 0x66665747; 115*6ca2c52aSchristosimm32 r4, 0x88789565; 116*6ca2c52aSchristosimm32 r5, 0xaa8abb5b; 117*6ca2c52aSchristosimm32 r6, 0xcc9cdd85; 118*6ca2c52aSchristosimm32 r7, 0xeeaeff9f; 119*6ca2c52aSchristosR0 = MAX ( R4 , R0 ) (V); 120*6ca2c52aSchristosR1 = MAX ( R4 , R1 ) (V); 121*6ca2c52aSchristosR2 = MAX ( R4 , R2 ) (V); 122*6ca2c52aSchristosR3 = MAX ( R4 , R3 ) (V); 123*6ca2c52aSchristosR4 = MAX ( R4 , R4 ) (V); 124*6ca2c52aSchristosR5 = MAX ( R4 , R5 ) (V); 125*6ca2c52aSchristosR6 = MAX ( R4 , R6 ) (V); 126*6ca2c52aSchristosR7 = MAX ( R4 , R7 ) (V); 127*6ca2c52aSchristosCHECKREG r0, 0x45379565; 128*6ca2c52aSchristosCHECKREG r1, 0x6759AB2D; 129*6ca2c52aSchristosCHECKREG r2, 0x44555535; 130*6ca2c52aSchristosCHECKREG r3, 0x66665747; 131*6ca2c52aSchristosCHECKREG r4, 0x88789565; 132*6ca2c52aSchristosCHECKREG r5, 0xAA8ABB5B; 133*6ca2c52aSchristosCHECKREG r6, 0xCC9CDD85; 134*6ca2c52aSchristosCHECKREG r7, 0xEEAEFF9F; 135*6ca2c52aSchristos 136*6ca2c52aSchristosimm32 r0, 0xa56b89ab; 137*6ca2c52aSchristosimm32 r1, 0x659b4bcd; 138*6ca2c52aSchristosimm32 r2, 0xd9736564; 139*6ca2c52aSchristosimm32 r3, 0x61278394; 140*6ca2c52aSchristosimm32 r4, 0xb8876439; 141*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb; 142*6ca2c52aSchristosimm32 r6, 0xcccc1ddd; 143*6ca2c52aSchristosimm32 r7, 0x12346fff; 144*6ca2c52aSchristosR0 = MAX ( R5 , R0 ) (V); 145*6ca2c52aSchristosR1 = MAX ( R5 , R1 ) (V); 146*6ca2c52aSchristosR2 = MAX ( R5 , R2 ) (V); 147*6ca2c52aSchristosR3 = MAX ( R5 , R3 ) (V); 148*6ca2c52aSchristosR4 = MAX ( R5 , R4 ) (V); 149*6ca2c52aSchristosR5 = MAX ( R5 , R5 ) (V); 150*6ca2c52aSchristosR6 = MAX ( R5 , R6 ) (V); 151*6ca2c52aSchristosR7 = MAX ( R5 , R7 ) (V); 152*6ca2c52aSchristosCHECKREG r0, 0xAAAA0BBB; 153*6ca2c52aSchristosCHECKREG r1, 0x659B4BCD; 154*6ca2c52aSchristosCHECKREG r2, 0xD9736564; 155*6ca2c52aSchristosCHECKREG r3, 0x61270BBB; 156*6ca2c52aSchristosCHECKREG r4, 0xB8876439; 157*6ca2c52aSchristosCHECKREG r5, 0xAAAA0BBB; 158*6ca2c52aSchristosCHECKREG r6, 0xCCCC1DDD; 159*6ca2c52aSchristosCHECKREG r7, 0x12346FFF; 160*6ca2c52aSchristos 161*6ca2c52aSchristosimm32 r0, 0x956739ab; 162*6ca2c52aSchristosimm32 r1, 0x67694bcd; 163*6ca2c52aSchristosimm32 r2, 0xd3456755; 164*6ca2c52aSchristosimm32 r3, 0x66666777; 165*6ca2c52aSchristosimm32 r4, 0x12345699; 166*6ca2c52aSchristosimm32 r5, 0x45678b6b; 167*6ca2c52aSchristosimm32 r6, 0x043290d6; 168*6ca2c52aSchristosimm32 r7, 0x1234567f; 169*6ca2c52aSchristosR0 = MAX ( R6 , R0 ) (V); 170*6ca2c52aSchristosR1 = MAX ( R6 , R1 ) (V); 171*6ca2c52aSchristosR2 = MAX ( R6 , R2 ) (V); 172*6ca2c52aSchristosR3 = MAX ( R6 , R3 ) (V); 173*6ca2c52aSchristosR4 = MAX ( R6 , R4 ) (V); 174*6ca2c52aSchristosR5 = MAX ( R6 , R5 ) (V); 175*6ca2c52aSchristosR6 = MAX ( R6 , R6 ) (V); 176*6ca2c52aSchristosR7 = MAX ( R6 , R7 ) (V); 177*6ca2c52aSchristosCHECKREG r0, 0x043239AB; 178*6ca2c52aSchristosCHECKREG r1, 0x67694BCD; 179*6ca2c52aSchristosCHECKREG r2, 0x04326755; 180*6ca2c52aSchristosCHECKREG r3, 0x66666777; 181*6ca2c52aSchristosCHECKREG r4, 0x12345699; 182*6ca2c52aSchristosCHECKREG r5, 0x456790D6; 183*6ca2c52aSchristosCHECKREG r6, 0x043290D6; 184*6ca2c52aSchristosCHECKREG r7, 0x1234567F; 185*6ca2c52aSchristos 186*6ca2c52aSchristosimm32 r0, 0x876789ab; 187*6ca2c52aSchristosimm32 r1, 0x6779abcd; 188*6ca2c52aSchristosimm32 r2, 0xd3456755; 189*6ca2c52aSchristosimm32 r3, 0x56789007; 190*6ca2c52aSchristosimm32 r4, 0x789ab799; 191*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb; 192*6ca2c52aSchristosimm32 r6, 0x89ab1d7d; 193*6ca2c52aSchristosimm32 r7, 0xabcd2ff7; 194*6ca2c52aSchristosR0 = MAX ( R7 , R0 ) (V); 195*6ca2c52aSchristosR1 = MAX ( R7 , R1 ) (V); 196*6ca2c52aSchristosR2 = MAX ( R7 , R2 ) (V); 197*6ca2c52aSchristosR3 = MAX ( R7 , R3 ) (V); 198*6ca2c52aSchristosR4 = MAX ( R7 , R4 ) (V); 199*6ca2c52aSchristosR5 = MAX ( R7 , R5 ) (V); 200*6ca2c52aSchristosR6 = MAX ( R7 , R6 ) (V); 201*6ca2c52aSchristosR7 = MAX ( R7 , R7 ) (V); 202*6ca2c52aSchristosCHECKREG r0, 0xABCD2FF7; 203*6ca2c52aSchristosCHECKREG r1, 0x67792FF7; 204*6ca2c52aSchristosCHECKREG r2, 0xD3456755; 205*6ca2c52aSchristosCHECKREG r3, 0x56782FF7; 206*6ca2c52aSchristosCHECKREG r4, 0x789A2FF7; 207*6ca2c52aSchristosCHECKREG r5, 0xABCD2FF7; 208*6ca2c52aSchristosCHECKREG r6, 0xABCD2FF7; 209*6ca2c52aSchristosCHECKREG r7, 0xABCD2FF7; 210*6ca2c52aSchristosimm32 r0, 0x456739ab; 211*6ca2c52aSchristosimm32 r1, 0x67694bcd; 212*6ca2c52aSchristosimm32 r2, 0x03456755; 213*6ca2c52aSchristosimm32 r3, 0x66666777; 214*6ca2c52aSchristosimm32 r4, 0x12345699; 215*6ca2c52aSchristosimm32 r5, 0x45678b6b; 216*6ca2c52aSchristosimm32 r6, 0x043290d6; 217*6ca2c52aSchristosimm32 r7, 0x1234567f; 218*6ca2c52aSchristosR4 = MAX ( R4 , R7 ) (V); 219*6ca2c52aSchristosR5 = MAX ( R5 , R5 ) (V); 220*6ca2c52aSchristosR2 = MAX ( R6 , R3 ) (V); 221*6ca2c52aSchristosR6 = MAX ( R0 , R4 ) (V); 222*6ca2c52aSchristosR0 = MAX ( R1 , R6 ) (V); 223*6ca2c52aSchristosR2 = MAX ( R2 , R1 ) (V); 224*6ca2c52aSchristosR1 = MAX ( R3 , R0 ) (V); 225*6ca2c52aSchristosR7 = MAX ( R7 , R4 ) (V); 226*6ca2c52aSchristosCHECKREG r0, 0x67695699; 227*6ca2c52aSchristosCHECKREG r1, 0x67696777; 228*6ca2c52aSchristosCHECKREG r2, 0x67696777; 229*6ca2c52aSchristosCHECKREG r3, 0x66666777; 230*6ca2c52aSchristosCHECKREG r4, 0x12345699; 231*6ca2c52aSchristosCHECKREG r5, 0x45678B6B; 232*6ca2c52aSchristosCHECKREG r6, 0x45675699; 233*6ca2c52aSchristosCHECKREG r7, 0x12345699; 234*6ca2c52aSchristos 235*6ca2c52aSchristosimm32 r0, 0x876789ab; 236*6ca2c52aSchristosimm32 r1, 0x6779abcd; 237*6ca2c52aSchristosimm32 r2, 0x2345d755; 238*6ca2c52aSchristosimm32 r3, 0x5678b007; 239*6ca2c52aSchristosimm32 r4, 0x789ab799; 240*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb; 241*6ca2c52aSchristosimm32 r6, 0x89ab1d7d; 242*6ca2c52aSchristosimm32 r7, 0xabcd2ff7; 243*6ca2c52aSchristosR3 = MAX ( R4 , R0 ) (V); 244*6ca2c52aSchristosR5 = MAX ( R5 , R1 ) (V); 245*6ca2c52aSchristosR2 = MAX ( R2 , R2 ) (V); 246*6ca2c52aSchristosR7 = MAX ( R7 , R3 ) (V); 247*6ca2c52aSchristosR4 = MAX ( R3 , R4 ) (V); 248*6ca2c52aSchristosR0 = MAX ( R1 , R5 ) (V); 249*6ca2c52aSchristosR1 = MAX ( R0 , R6 ) (V); 250*6ca2c52aSchristosR6 = MAX ( R6 , R7 ) (V); 251*6ca2c52aSchristosCHECKREG r0, 0x67790BBB; 252*6ca2c52aSchristosCHECKREG r1, 0x67791D7D; 253*6ca2c52aSchristosCHECKREG r2, 0x2345D755; 254*6ca2c52aSchristosCHECKREG r3, 0x789AB799; 255*6ca2c52aSchristosCHECKREG r4, 0x789AB799; 256*6ca2c52aSchristosCHECKREG r5, 0x67790BBB; 257*6ca2c52aSchristosCHECKREG r6, 0x789A2FF7; 258*6ca2c52aSchristosCHECKREG r7, 0x789A2FF7; 259*6ca2c52aSchristos 260*6ca2c52aSchristos 261*6ca2c52aSchristospass 262