diff options
Diffstat (limited to 'sim/testsuite/bfin/dsp_neg.S')
-rw-r--r-- | sim/testsuite/bfin/dsp_neg.S | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/dsp_neg.S b/sim/testsuite/bfin/dsp_neg.S new file mode 100644 index 0000000..a6ec10a --- /dev/null +++ b/sim/testsuite/bfin/dsp_neg.S @@ -0,0 +1,36 @@ +// ALU test program. +// Test instructions: +// dreg = -dreg (ns); +// dreg = -dreg (s); +// dspalu32 negate instruction +# mach: bfin + +#include "test.h" +.include "testutils.inc" + start + + R0 = 0; + ASTAT = R0; + +// CHECK MULTI ISSUE + r1=0x5; + loadsym i0, data0; + r2 = -r1 (ns) || r3=[i0++]; + checkreg r2, 0xfffffffb; + r3 = astat + checkreg r3, (_AN); + + r1.h = 0x8000; + r1.l = 0x0; + r2 = -r1 (s); + checkreg r2, 0x7fffffff; + + r3 = astat; + _dbg astat; + checkreg r3, (_VS|_V|_V_COPY); + + pass + + .data +data0: + .space (0x10); |