| // Check MAC with scaling |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| |
| R0 = 0; |
| R1 = 0; |
| R2 = 0; |
| A1 = A0 = 0; |
| // The result accumulated in A1, and stored to a reg half |
| R0.L = 23229; |
| R0.H = -23724; |
| R1.L = -313; |
| R1.H = -17732; |
| R2.H = ( A1 = R1.L * R0.L ), A0 += R1.L * R0.L (S2RND); |
| _DBG R2; |
| DBGA ( R2.H , 0xfe44 ); |
| |
| R0 = 0; |
| ASTAT = R0; // clear all flags |
| A0 = 0; |
| A1 = 0; |
| R0.H = 0x8000; |
| R0.L = 0x7fff; |
| R1.H = 0x7fff; |
| R1.L = 0x8000; |
| A1 = R0.H * R1.H (M), R0.L = ( A0 -= R0.H * R1.H ) (ISS2); |
| _DBG R0; |
| DBGA ( R0.L , 0x7fff ); |
| |
| R0 += 0; // clear flags |
| NOP; |
| NOP; |
| NOP; |
| NOP; |
| pass |