# Changes between Version 6 and Version 7 of IDISA_Vertical

Ignore:
Timestamp:
May 9, 2011, 6:25:29 AM (8 years ago)
Comment:

--

Unmodified
Added
Removed
Modified
• ## IDISA_Vertical

 v6 == Binary Operations == These operations generally have the form `r = simd::op(a, b)` for each operation `op`, where `a` and `b` are operand vectors of N bit fields and `r` is These operations generally have the form `r = simd::op(a, b)` for each operation `op`, where `a` and `b` are operand vectors of ''w'' bit fields and `r` is the corresponding result vector. == Unary Operations == These operations generally have the form `r = simd::op(a)` for each operation `op`, where `a` is an operand vector of N bit fields and `r` is These operations generally have the form `r = simd::op(a)` for each operation `op`, where `a` is an operand vector of ''w'' bit fields and `r` is the corresponding result vector. Some of these operations involve operations on the high half of each field h(a,,i,,) and the the low half of each field l(a,,i,,), where - h(a,,i,,) = a,,i,, >> N/2 - l(a,,i,,) = a,,i,, & ((1 << N/2) - 1) - h(a,,i,,) = a,,i,, >> ''w''/2 - l(a,,i,,) = a,,i,, & ((1 << ''w''/2) - 1) Some operations also involve an immediate shift operand supplied || `add_hl` || add halves || r,,i,, = h(a,,i,,) + l(a,,i,,) || `xor_hl` || bitwise xor halves || r,,i,, = h(a,,i,,) xor l(a,,i,,) || `slli` || shift left logical immediate|| r,,i,, = a,,i,, << k || || `srli` || shift right logical immediate|| r,,i,, = u(a,,i,,) >> k  || || `srai` || shift right arithmetic immediate|| r,,i,, = s(a,,i,,) >> k  || || `slli` || shift left logical immediate|| r,,i,, = a,,i,, << ''k'' || || `srli` || shift right logical immediate|| r,,i,, = u(a,,i,,) >> ''k''  || || `srai` || shift right arithmetic immediate|| r,,i,, = s(a,,i,,) >> ''k''  || || `popcount` || population count || r,,i,, = number of 1 bits in u(a,,i,,) || || `ctz` || count trailing zeroes || r,,i,, = the number of consecutive 0 bits in a,,i,, counting from the right || == Ternary Operation == This operation has the form `r = simd::op(a, b, c)` for each operation `op`, where `a`, `b`, and `c` are operand vectors of N bit fields and `r` is This operation has the form `r = simd::op(a, b, c)` for each operation `op`, where `a`, `b`, and `c` are operand vectors of ''w'' bit fields and `r` is the corresponding result vector.