• David S. Miller's avatar
    sparc64: Support cbcond instructions in eBPF JIT. · e3a724ed
    David S. Miller authored
    cbcond combines a compare with a branch into a single instruction.
    
    The limitations are:
    
    1) Only newer chips support it
    
    2) For immediate compares we are limited to 5-bit signed immediate
       values
    
    3) The branch displacement is limited to 10-bit signed
    
    4) We cannot use it for JSET
    
    Also, cbcond (unlike all other sparc control transfers) lacks a delay
    slot.
    
    Currently we don't have a useful instruction we can push into the
    delay slot of normal branches.  So using cbcond pretty much always
    increases code density, and is therefore a win.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e3a724ed
bpf_jit_comp_64.c 31.1 KB