Changes between Version 8 and Version 9 of IDISA_Movement


Ignore:
Timestamp:
May 9, 2011, 6:57:57 AM (8 years ago)
Author:
cameron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IDISA_Movement

    v8 v9  
    1010== Constant Fill Operations ==
    1111
    12 The operation `r = mvmd<n>::fill(c)` fills each n-bit field with an integer value c.
     12The operation `r = mvmd<w>::fill(c)` fills each ''w''-bit field with an integer value c.
    1313
    1414== Unary Movement Operations ==
    1515
    16 These operations generally have the form `r = mvmd<N>::op(a)` for each
    17 operation `op`, where `a` is an operand vectors of N bit fields and `r` is
    18 the corresponding result vector.   
     16These operations generally have the form `r = mvmd<w>::op(a)` for each
     17operation `op`, where `a` is an operand vectors of ''w''-bit fields and `r` is
     18the corresponding result vector.   Let ''N'' = ''W''/''w'' be the number of
     19''w''-bit fields in a vector.
    1920
    2021|| `splat<j>` || splat || r,,i,, = a,,j,,||
    21 || `slli<j>` || shift left logical immediate || r,,i,, = a,,i+j,, if i + j <= N/n, 0 otherwise||
     22|| `slli<j>` || shift left logical immediate || r,,i,, = a,,i+j,, if i + j <= ''N'', 0 otherwise||
    2223|| `srli<j>` || shift right logical immediate || r,,i,, = a,,i-j,, if i > j, 0 otherwise  ||
    2324|| `shufflei<m>` || shuffle immediate || r,,i,, =  a,,t,,, where ''t'' = `index(m, i)` ||
     
    2526== Binary Movement Operations ==
    2627
    27 These operations generally have the form `r = mvmd<N>::op(a, b)` for each
    28 operation `op`, where `a` and `b` are operand vectors of N bit fields and `r` is
     28These operations generally have the form `r = mvmd<w>::op(a, b)` for each
     29operation `op`, where `a` and `b` are operand vectors of ''w''-bit fields and `r` is
    2930the corresponding result vector.   
    3031
    31 || `dslli<j>` || double shift left logical immediate || r,,i,, = a,,i+j,, if i + j <= N/n, b,,i + j - N/n,, otherwise||
    32 || `dsrli<j>` || double shift right logical immediate || r,,i,, = a,,i + N/n -j,, if i <= j,  b,,i - j,, otherwise  ||
     32|| `dslli<j>` || double shift left logical immediate || r,,i,, = a,,i+j,, if i + j <= ''N'', b,,i + j - ''N'',, otherwise||
     33|| `dsrli<j>` || double shift right logical immediate || r,,i,, = a,,i + ''N'' -j,, if i <= j,  b,,i - j,, otherwise  ||
    3334|| `shuffle` || shuffle || r,,i,, =  a,,t,,, where ''t'' = b,,i,,||