Peter Maydell b355438de5 bitops.h: Implement half-shuffle and half-unshuffle ops
A half-shuffle operation takes a word with zeros in the high half:
 0000 0000 0000 0000 ABCD EFGH IJKL MNOP
and spreads the bits out so they are in every other bit of the word:
 0A0B 0C0D 0E0F 0G0H 0I0J 0K0L 0M0N 0O0P
A half-unshuffle performs the reverse operation.

Provide functions in bitops.h which implement these operations
for 32-bit and 64-bit inputs, and add tests for them.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org>
Tested-by: Shannon Zhao <shannon.zhao@linaro.org>
Message-id: 1465915112-29272-3-git-send-email-peter.maydell@linaro.org
2016-06-17 15:23:51 +01:00
..
2015-12-18 16:25:08 +00:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00
2016-06-07 18:19:23 +03:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00
2016-05-19 13:08:04 +02:00
2016-02-23 12:43:05 +00:00
2016-06-16 18:39:03 +02:00
2016-06-16 18:39:03 +02:00
2016-06-16 18:39:03 +02:00
2015-10-16 15:34:30 +02:00
2016-03-22 22:20:16 +01:00
2015-02-16 17:30:19 +01:00
2016-06-07 18:19:24 +03:00
2014-02-01 13:46:06 +04:00
2014-03-13 14:42:21 +01:00
2013-10-17 17:30:55 +02:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00
2016-02-23 12:43:05 +00:00