Displaying 3 results from an estimated 3 matches for "cmovneq".
Did you mean:
cmovne
2018 Mar 23
5
RFC: Speculative Load Hardening (a Spectre variant #1 mitigation)
...# %entry
pushq %rax
xorl %eax, %eax # Zero out initial predicate state.
movq $-1, %r8 # Put all-ones mask into a register.
testl %edi, %edi
jne .LBB0_1
# %bb.2: # %then1
cmovneq %r8, %rax # Conditionally update predicate
state.
testl %esi, %esi
jne .LBB0_1
# %bb.3: # %then2
cmovneq %r8, %rax # Conditionally update predicate
state.
testl %edx, %edx
je .LBB0_4
.LBB...
2016 Feb 11
3
Expected constant simplification not happening
...the appended IR code does not optimize to my liking :)
this is the interesting part in x86_64, that got produced via clang -Os:
---
movq -16(%r12), %rax
movl -4(%rax), %ecx
andl $2298949, %ecx ## imm = 0x231445
cmpq $2298949, (%rax,%rcx) ## imm = 0x231445
leaq 8(%rax,%rcx), %rax
cmovneq %r15, %rax
movl $2298949, %esi ## imm = 0x231445
movq %r12, %rdi
movq %r14, %rdx
callq *(%rax)
---
and clang -O3:
---
movq -16(%r12), %rax
movl -4(%rax), %ecx
andl $2298949, %ecx ## imm = 0x231445
cmpl $2298949, (%rax,%rcx) ## imm = 0x231445
jne LBB1_4
leaq 8(%rax...
2016 Dec 07
1
Expected constant simplification not happening
...-Os:
> ---
> movq -16(%r12), %rax
> movl -4(%rax), %ecx
> andl $2298949, %ecx ## imm = 0x231445
> cmpq $2298949, (%rax,%rcx) ## imm = 0x231445
> leaq 8(%rax,%rcx), %rax
> cmovneq %r15, %rax
> movl $2298949, %esi ## imm = 0x231445
> movq %r12, %rdi
> movq %r14, %rdx
> callq *(%rax)
> ---
>
>
> and clang -O3:
> ---
> movq -16(%r12), %rax
>...