Use conditional moves in max[u]()/min[u]()

This commit is contained in:
2025-06-23 15:24:30 +02:00
parent 3a7b0b5cda
commit c798157fd8

View File

@ -14,10 +14,8 @@ min:
mov rax, rdi
cmp rdi, rsi
jl .quit
mov rax, rsi
cmovg rax, rsi
.quit:
leave
ret
;----- minu(unsigned int a, unsigned int b) -----;
@ -28,10 +26,8 @@ minu:
mov rax, rdi
cmp rdi, rsi
jb .quit
mov rax, rsi
cmova rax, rsi
.quit:
leave
ret
;----- max(int a, int b) -----;
@ -42,10 +38,8 @@ max:
mov rax, rdi
cmp rdi, rsi
jg .quit
mov rax, rsi
cmovl rax, rsi
.quit:
leave
ret
;----- maxu(unsigned int a, unsigned int b) -----;
@ -56,10 +50,8 @@ maxu:
mov rax, rdi
cmp rdi, rsi
ja .quit
mov rax, rsi
cmovb rax, rsi
.quit:
leave
ret
;----- islower(char* c) -----;