x86asm: Add lzcnt/tzcnt support

We already support popcnt, add lzcnt and tzcnt as well.

Signed-off-by: Mathias Krause <minipli@grsecurity.net>
This commit is contained in:
Mathias Krause
2022-12-13 11:34:54 +01:00
parent 079692016d
commit 9cfc8f60ce
4 changed files with 31 additions and 1 deletions

View File

@@ -766,7 +766,29 @@ int $0x10
popcnt %rbx, %rdi
popcntq %rcx, %r8
#endif
lzcnt %cx, %ax
lzcntw %cx, %ax
lzcnt %edx, %ebx
lzcntl 8(%edi), %ecx
#ifdef __x86_64__
lzcnt %rdi, %rdx
lzcntq %r12, %r15
lzcnt 0x40(%rcx), %r11
lzcntq (%r8), %rsi
#endif
tzcnt %cx, %ax
tzcntw %cx, %ax
tzcnt %edx, %ebx
tzcntl -24(%edi), %ecx
#ifdef __x86_64__
tzcnt %rbp, %rdx
tzcntq %rax, %r15
tzcnt -8(%rbp), %rcx
tzcntq (%r8), %r12
#endif
#ifdef __i386__
boundl %edx, 0x10000
boundw %bx, 0x1000