summaryrefslogtreecommitdiff
path: root/zap/source/amd64/mth
diff options
context:
space:
mode:
Diffstat (limited to 'zap/source/amd64/mth')
-rw-r--r--zap/source/amd64/mth/abs.S70
1 files changed, 0 insertions, 70 deletions
diff --git a/zap/source/amd64/mth/abs.S b/zap/source/amd64/mth/abs.S
deleted file mode 100644
index 4c9ed01..0000000
--- a/zap/source/amd64/mth/abs.S
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2022 Gabriel Jensen.
-# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
-# If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
-
-.globl zap_abs_c
-.globl zap_abs_i
-.globl zap_abs_l
-.globl zap_abs_ll
-.globl zap_abs_s
-.globl zap_abs_sc
-
-zap_abs_i:
-# The input value:
-#define val %edi
-# Inverted value of the input:
-#define inv %eax
- movl val,inv # inv = val
- negl inv # inv = -inv // Invert the copy of the input value. This also tests the sign of the value.
- # . if (inv > 0x0)
- cmovsl val,inv # val = inv // If it was positive, just return the unmodified input.
- ret # return val // Otherwise, return the inverted value.
-
-#undef val
-#undef inv
-
-zap_abs_l:
-zap_abs_ll:
-# The input value:
-#define val %rdi
-# Inverted value of the input:
-#define inv %rax
- movq val,inv # inv = val
- negq inv # inv = -inv
- # . if (inv > 0x0)
- cmovsq val,inv # val = inv
- ret # return val
-
-#undef val
-#undef inv
-
-zap_abs_s:
-# The input value:
-#define val %di
-# Inverted value of the input:
-#define inv %ax
- movw val,inv # inv = val
- negw inv # inv = -inv
- # . if (inv > 0x0)
- cmovsw val,inv # val = inv
- ret # return val
-
-#undef val
-#undef inv
-
-zap_abs_c:
-zap_abs_sc:
-# The input value:
-#define val %dil
-#define val2 %di
-# Inverted value of the input:
-#define inv %al
-#define inv2 %ax
- movb val,inv # inv = val
- negb inv # inv = -inv
- # . if (inv > 0x0)
- cmovsw val2,inv2 # val = inv
- ret # return val
-
-#undef val
-#undef inv