summaryrefslogtreecommitdiffstats
path: root/kernel/arch/h8300/lib/abs.S
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/h8300/lib/abs.S')
-rw-r--r--kernel/arch/h8300/lib/abs.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/arch/h8300/lib/abs.S b/kernel/arch/h8300/lib/abs.S
new file mode 100644
index 000000000..efda749db
--- /dev/null
+++ b/kernel/arch/h8300/lib/abs.S
@@ -0,0 +1,20 @@
+;;; abs.S
+
+#include <asm/linkage.h>
+
+#if defined(CONFIG_CPU_H8300H)
+ .h8300h
+#endif
+#if defined(CONFIG_CPU_H8S)
+ .h8300s
+#endif
+ .text
+.global _abs
+
+;;; int abs(int n)
+_abs:
+ mov.l er0,er0
+ bpl 1f
+ neg.l er0
+1:
+ rts