aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/dsp_neg.S
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/bfin/dsp_neg.S')
-rw-r--r--sim/testsuite/bfin/dsp_neg.S36
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);