1// Test ALU ABS accumulators 2# mach: bfin 3 4.include "testutils.inc" 5 start 6 7 8 R0 = 0x00000000; 9 A0.w = R0; 10 R0 = 0x80 (X); 11 A0.x = R0; 12 13 A0 = ABS A0; 14 R4 = A0.w; 15 R5 = A0.x; 16 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff ); 17 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 18 19 R0 = 0x00000001; 20 A0.w = R0; 21 R0 = 0x80 (X); 22 A0.x = R0; 23 24 A0 = ABS A0; 25 R4 = A0.w; 26 R5 = A0.x; 27 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff ); 28 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 29 30 R0 = 0xffffffff; 31 A0.w = R0; 32 R0 = 0xff (X); 33 A0.x = R0; 34 35 A0 = ABS A0; 36 R4 = A0.w; 37 R5 = A0.x; 38 DBGA ( R4.H , 0x0000 ); DBGA ( R4.L , 0x0001 ); 39 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x0000 ); 40 41 R0 = 0xfffffff0; 42 A0.w = R0; 43 R0 = 0x7f (X); 44 A0.x = R0; 45 46 A0 = ABS A0; 47 R4 = A0.w; 48 R5 = A0.x; 49 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xfff0 ); 50 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 51 52 R0 = 0x00000000; 53 A0.w = R0; 54 R0 = 0x80 (X); 55 A0.x = R0; 56 57 A1 = ABS A0; 58 R4 = A1.w; 59 R5 = A1.x; 60 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff ); 61 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 62 63 R0 = 0x00000000; 64 A0.w = R0; 65 R0 = 0x80 (X); 66 A0.x = R0; 67 68 R0 = 0x00000002; 69 A1.w = R0; 70 R0 = 0x80 (X); 71 A1.x = R0; 72 73 A1 = ABS A1, A0 = ABS A0; 74 R4 = A0.w; 75 R5 = A0.x; 76 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff ); 77 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 78 79 R4 = A1.w; 80 R5 = A1.x; 81 DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xfffe ); 82 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f ); 83 84 pass 85