/* Test that all accumulator registers are accessible. */ /* { dg-options "-mcpu=fr450" } */ /* { dg-do run } */ extern void abort (void); extern void exit (int); #define TEST_ACC(X) \ (__MWTACC (X, 0x11220000 | X), __MRDACC (X) ^ (0x11220000 | X)) #define TEST_ACCG(X) \ (__MWTACCG (X, X), __MRDACCG (X) ^ X) #define ZERO_ACC(X) \ (__MRDACC (X) | __MRDACCG (X)) int main () { if (TEST_ACC (0) | TEST_ACC (1) | TEST_ACC (2) | TEST_ACC (3)) abort (); if (TEST_ACC (8) | TEST_ACC (9) | TEST_ACC (10) | TEST_ACC (11)) abort (); if (TEST_ACCG (0) | TEST_ACCG (1) | TEST_ACCG (2) | TEST_ACCG (3)) abort (); if (TEST_ACCG (8) | TEST_ACCG (9) | TEST_ACCG (10) | TEST_ACCG (11)) abort (); __MCLRACCA (); if (ZERO_ACC (0) | ZERO_ACC (1) | ZERO_ACC (2) | ZERO_ACC (3)) abort (); if (ZERO_ACC (8) | ZERO_ACC (9) | ZERO_ACC (10) | ZERO_ACC (11)) abort (); exit (0); }