/* Test the __M{,D}{ADD,SUB}ACC functions. */ /* { dg-do run } */ extern void abort (void); extern void exit (int); int main () { __MWTACC (6, 10); __MWTACC (7, 25); __MADDACCS (5, 6); if (__MRDACC (5) != 35) abort (); __MSUBACCS (4, 6); if (__MRDACC (4) != -15) abort (); __MASACCS (4, 6); if (__MRDACC (4) != 35 || __MRDACC (5) != -15) abort (); __MWTACC (0, 100); __MWTACC (1, 150); __MWTACC (2, 1000); __MWTACC (3, 1500); __MDADDACCS (2, 0); if (__MRDACC (2) != 250 || __MRDACC (3) != 2500) abort (); __MWTACC (0, 100); __MWTACC (1, 150); __MWTACC (2, 1000); __MWTACC (3, 1500); __MDSUBACCS (2, 0); if (__MRDACC (2) != -50 || __MRDACC (3) != -500) abort (); __MWTACC (0, 100); __MWTACC (1, 150); __MWTACC (2, 1000); __MWTACC (3, 1500); __MDASACCS (0, 0); if (__MRDACC (0) != 250 || __MRDACC (1) != -50) abort (); if (__MRDACC (2) != 2500 || __MRDACC (3) != -500) abort (); exit (0); }