1. 25 Apr, 2017 39 commits
  2. 24 Apr, 2017 1 commit
    • 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