lkml.org 
[lkml]   [2016]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: better patch for linux/bitops.h
    From
    On Wed, May 4, 2016 at 11:50 PM, Theodore Ts'o <tytso@mit.edu> wrote:
    > ...
    > But instead of arguing over what works and doesn't, let's just create
    > the the test set and just try it on a wide range of compilers and
    > architectures, hmmm?

    What are the requirements? Here's a short list:

    * No undefined behavior
    - important because the compiler writers use the C standard
    * Compiles to native "rotate IMMEDIATE" if the rotate amount is a
    "constant expression" and the machine provides it
    - translates to a native rotate instruction if available
    - "rotate IMM" can be 3 times faster than "rotate REG"
    - do any architectures *not* provide a rotate?
    * Compiles to native "rotate REGISTER" if the rotate is variable and
    the machine provides it
    - do any architectures *not* provide a rotate?
    * Constant time
    - important to high-integrity code
    - Non-security code paths probably don't care

    Maybe the first thing to do is provide a different rotates for the
    constant-time requirement when its in effect?

    Jeff

    \
     
     \ /
      Last update: 2016-05-05 06:41    [W:3.124 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site