]> pd.if.org Git - zos/blobdiff - klib/bitops.s
klib and makefile
[zos] / klib / bitops.s
diff --git a/klib/bitops.s b/klib/bitops.s
new file mode 100644 (file)
index 0000000..2771bcb
--- /dev/null
@@ -0,0 +1,10 @@
+; round up to a power of two
+logtwoup:
+       xor eax, eax
+       bsr rsi, rdi ; rsi has the log 2 rounded down
+       bts rax, rsi
+       cmp rax, rdi
+       jz .done
+       shr rax, 1
+.done:
+       ret