1// Test rl4 = VMAX r5 A0<<1; 2// Test rl4 = VMAX r5 A0>>1; 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9// max value in high half, hence bit into A0 is one 10 A0 = 0; 11 R1.L = 0x2; // max in r1 is 3 12 R1.H = 0x3; 13 14 R6.L = VIT_MAX( R1 ) (ASL); 15 16 DBGA ( R6.L , 0x0003 ); 17 R7 = A0.w; 18 DBGA ( R7.L , 0x0001 ); 19 DBGA ( R7.H , 0x0000 ); 20 R7.L = A0.x; 21 DBGA ( R7.L , 0x0000 ); 22 23// max value in low half, hence bit into A0 is zero 24 R0.L = 0x8000; 25 R0.H = 0x8000; 26 A0.w = R0; 27 R1.L = 0x8001; // max in r1 is 8001 28 R1.H = 0x7f00; 29 30 R6.L = VIT_MAX( R1 ) (ASL); 31 32 DBGA ( R6.L , 0x8001 ); 33 R7 = A0.w; 34 DBGA ( R7.L , 0x0000 ); 35 DBGA ( R7.H , 0x0001 ); 36 R7.L = A0.x; 37 DBGA ( R7.L , 0x0001 ); 38 39// max value in high half, hence bit into A0 is one 40 R0.L = 0x8000; 41 R0.H = 0x0000; 42 A0.w = R0; 43 R1.L = 0x7fff; // max in r1 is 8001 44 R1.H = 0x8001; 45 46 R6.L = VIT_MAX( R1 ) (ASR); 47 48 DBGA ( R6.L , 0x8001 ); 49 R7 = A0.w; 50 DBGA ( R7.L , 0x4000 ); 51 DBGA ( R7.H , 0x8000 ); 52 R7.L = A0.x; 53 DBGA ( R7.L , 0x0000 ); 54 55 pass 56