summaryrefslogtreecommitdiff
path: root/1/repair_avx.asm
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2022-12-01 22:30:22 +0100
committerBond_009 <bond.009@outlook.com>2022-12-01 22:30:22 +0100
commitbaf4910870a6e8999802b9a4a22eabd4142a34e3 (patch)
tree2d11443dc21e53bd0d99d015cf789937d6d95862 /1/repair_avx.asm
parent49d0c908f24b2c193c9deed1716fe36061ba26a1 (diff)
Move all Advent of Codes into one repo
Diffstat (limited to '1/repair_avx.asm')
-rw-r--r--1/repair_avx.asm21
1 files changed, 0 insertions, 21 deletions
diff --git a/1/repair_avx.asm b/1/repair_avx.asm
deleted file mode 100644
index 4f128f6..0000000
--- a/1/repair_avx.asm
+++ /dev/null
@@ -1,21 +0,0 @@
-global repair_avx_inner
-
-section .text
-
-repair_avx_inner:
-%assign i 0
-%rep 25
- vpcmpeqd ymm1, ymm0, [rdi + i]
-; vptest ymm1, ymm1 ; slower then vpmovmskb + test
- vpmovmskb eax, ymm1
- test eax, eax
- jne .found
-%assign i i+32
-%endrep
- xor eax, eax ; not found, return 0
- vzeroupper ; eliminate performance penalties caused by false dependencies when transitioning between AVX and legacy SSE instructions
- ret
-.found:
- vzeroupper ; eliminate performance penalties caused by false dependencies when transitioning between AVX and legacy SSE instructions
- movd eax, xmm0 ; smaller then putting a vmovd before the vzeroupper and no measurable performance difference
- ret