summaryrefslogtreecommitdiff
path: root/aarch64_small/mono-splices/BigEndianReverse.sail
blob: 97893ed13d650053e1d961c8da26428e7fc97ec4 (plain)
1
2
3
4
5
6
7
8
val BigEndianReverse : forall 'W, 'W in {8,16,32,64,128}. bits('W) -> bits('W) effect pure

function BigEndianReverse value_name = {
  result : bits('W) = replicate_bits(0b0,'W);
  foreach (i from 0 to ('W - 8) by 8)
    result[i+7 .. i] = (value_name['W-i - 1 .. 'W-i - 8] : bits(8));
  return result
}