1// Check MAC with scaling 2# mach: bfin 3 4.include "testutils.inc" 5 start 6 7 8 R0 = 0; 9 R1 = 0; 10 R2 = 0; 11 A1 = A0 = 0; 12// The result accumulated in A1, and stored to a reg half 13 R0.L = 23229; 14 R0.H = -23724; 15 R1.L = -313; 16 R1.H = -17732; 17 R2.H = ( A1 = R1.L * R0.L ), A0 += R1.L * R0.L (S2RND); 18 _DBG R2; 19 DBGA ( R2.H , 0xfe44 ); 20 21 R0 = 0; 22 ASTAT = R0; // clear all flags 23 A0 = 0; 24 A1 = 0; 25 R0.H = 0x8000; 26 R0.L = 0x7fff; 27 R1.H = 0x7fff; 28 R1.L = 0x8000; 29 A1 = R0.H * R1.H (M), R0.L = ( A0 -= R0.H * R1.H ) (ISS2); 30 _DBG R0; 31 DBGA ( R0.L , 0x7fff ); 32 33 R0 += 0; // clear flags 34 NOP; 35 NOP; 36 NOP; 37 NOP; 38 pass 39