aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/cfrac/asm16bit.h
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2019-08-24 17:57:51 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2019-08-24 17:57:51 +0200
commit77ac9ce0a5c55d4f79f8fb8f7daa59ddb53cb507 (patch)
tree93d4e30a207265af03394d347bfff76ba677f3ce /src/benchmarks/cfrac/asm16bit.h
parent971adefadb94e8780b1a73f08ed11d76c2ead8a2 (diff)
downloadallocbench-77ac9ce0a5c55d4f79f8fb8f7daa59ddb53cb507.tar.gz
allocbench-77ac9ce0a5c55d4f79f8fb8f7daa59ddb53cb507.zip
add cfrac benchmark
Diffstat (limited to 'src/benchmarks/cfrac/asm16bit.h')
-rw-r--r--src/benchmarks/cfrac/asm16bit.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/benchmarks/cfrac/asm16bit.h b/src/benchmarks/cfrac/asm16bit.h
new file mode 100644
index 0000000..2fb6e48
--- /dev/null
+++ b/src/benchmarks/cfrac/asm16bit.h
@@ -0,0 +1,39 @@
+/*
+ * HP-UX C compiler conventions
+ *
+ * Args pushed right-to-left; caller pops args on return
+ * Function result returned in d0 or d0(msb) d1(lsb) pair
+ * Called function must preserve all registers except d0,d1,a0,a1
+ * C Registers are allocated from top-to-bottem in text from d7-d2, a5-a2
+ */
+#ifdef __STDC__
+extern digit memaddw(digitPtr, digitPtr, digitPtr, posit);
+extern digit memsubw(digitPtr, digitPtr, digitPtr, posit);
+
+extern digit memincw(digitPtr, accumulator);
+extern digit memdecw(digitPtr, accumulator);
+
+extern digit memmulw(digitPtr, digitPtr, posit, digitPtr, posit);
+
+extern digit memdivw(digitPtr, digitPtr, posit, digitPtr);
+extern digit memdivw1(digitPtr, digitPtr, posit, digit);
+extern digit memmulw1(digitPtr, digitPtr, posit, digit);
+extern digit memmodw1(digitPtr, posit, digit);
+
+extern void memlsrw(digitPtr, posit);
+#else
+extern digit memaddw();
+extern digit memsubw();
+
+extern digit memincw();
+extern digit memdecw();
+
+extern digit memmulw();
+
+extern digit memdivw();
+extern digit memdivw1();
+extern digit memmulw1();
+extern digit memmodw1();
+
+extern void memlsrw();
+#endif