^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ;;; SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ;;; abs.S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #include <asm/linkage.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #if defined(CONFIG_CPU_H8300H)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) .h8300h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #if defined(CONFIG_CPU_H8S)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) .h8300s
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) .text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .global _abs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) ;;; int abs(int n)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) _abs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) mov.l er0,er0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) bpl 1f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) neg.l er0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) rts