Displaying 2 results from an estimated 2 matches for "__typeid_typeid3_bitmask".
Did you mean:
__typeid_typeid3_bit_mask
2016 Oct 26
2
RFC: a more detailed design for ThinLTO + vcall CFI
...references. Here is what the asm code may look like:
baz:
leaq __typeid_typeid3_global_addr(%rip), %rax
subl %eax, %edi
rorl $__typeid_typeid3_rotate_count, %edi
cmpl $__typeid_typeid3_size, %edi
ja .LBB2_1
movslq %edi, %rax
leaq __typeid_typeid3_byte_array(%rip), %rcx
movb (%rax,%rcx), %al
andb $__typeid_typeid3_bitmask, %al
shrb %al
retq
.LBB2_1:
xorl %eax, %eax
retq
The appropriate representation for this at the IR level is the subject of
the RFC entitled 'Absolute or "fixed address" symbols as immediate
operands'. We can imagine, though, that it could look something like this:
@__typeid_type...
2016 Oct 28
0
RFC: a more detailed design for ThinLTO + vcall CFI
...> baz:
> leaq __typeid_typeid3_global_addr(%rip), %rax
> subl %eax, %edi
> rorl $__typeid_typeid3_rotate_count, %edi
> cmpl $__typeid_typeid3_size, %edi
> ja .LBB2_1
>
> movslq %edi, %rax
> leaq __typeid_typeid3_byte_array(%rip), %rcx
> movb (%rax,%rcx), %al
> andb $__typeid_typeid3_bitmask, %al
> shrb %al
> retq
> .LBB2_1:
> xorl %eax, %eax
> retq
>
> The appropriate representation for this at the IR level is the subject of
> the RFC entitled 'Absolute or "fixed address" symbols as immediate
> operands'. We can imagine, though, that it cou...