1 /* Test the __M{,D}{ADD,SUB}ACC functions.  */
2 /* { dg-do run } */
3 extern void abort (void);
4 extern void exit (int);
5 
6 int
main()7 main ()
8 {
9   __MWTACC (6, 10);
10   __MWTACC (7, 25);
11   __MADDACCS (5, 6);
12   if (__MRDACC (5) != 35)
13     abort ();
14   __MSUBACCS (4, 6);
15   if (__MRDACC (4) != -15)
16     abort ();
17   __MASACCS (4, 6);
18   if (__MRDACC (4) != 35 || __MRDACC (5) != -15)
19     abort ();
20 
21   __MWTACC (0, 100);
22   __MWTACC (1, 150);
23   __MWTACC (2, 1000);
24   __MWTACC (3, 1500);
25   __MDADDACCS (2, 0);
26   if (__MRDACC (2) != 250 || __MRDACC (3) != 2500)
27     abort ();
28 
29   __MWTACC (0, 100);
30   __MWTACC (1, 150);
31   __MWTACC (2, 1000);
32   __MWTACC (3, 1500);
33   __MDSUBACCS (2, 0);
34   if (__MRDACC (2) != -50 || __MRDACC (3) != -500)
35     abort ();
36 
37   __MWTACC (0, 100);
38   __MWTACC (1, 150);
39   __MWTACC (2, 1000);
40   __MWTACC (3, 1500);
41   __MDASACCS (0, 0);
42   if (__MRDACC (0) != 250 || __MRDACC (1) != -50)
43     abort ();
44   if (__MRDACC (2) != 2500 || __MRDACC (3) != -500)
45     abort ();
46 
47   exit (0);
48 }
49