aboutsummaryrefslogtreecommitdiff
path: root/arch/h8300/lib/abs.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/h8300/lib/abs.S')
-rw-r--r--arch/h8300/lib/abs.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/h8300/lib/abs.S b/arch/h8300/lib/abs.S
new file mode 100644
index 00000000000..cabdd46b41d
--- /dev/null
+++ b/arch/h8300/lib/abs.S
@@ -0,0 +1,21 @@
+;;; abs.S
+
+#include <asm/linkage.h>
+
+#if defined(__H8300H__)
+ .h8300h
+#endif
+#if defined(__H8300S__)
+ .h8300s
+#endif
+ .text
+.global SYMBOL_NAME(abs)
+
+;;; int abs(int n)
+SYMBOL_NAME_LABEL(abs)
+ mov.l er0,er0
+ bpl 1f
+ neg.l er0
+1:
+ rts
+