On 2017-11-09 2:14 AM, Don Hopkins wrote:
On 9 Nov 2017, at 07:37, Lars Brinkhoff
<lars(a)nocrew.org
<mailto:lars@nocrew.org>> wrote:
Bakul Shah wrote:
I agree that `char' shouldn't do double
duty as the smallest
addressable unit and I was suggesing uint8_t does that job.
There are still machines around where 8-bit bytes isn't a natural fit.
1 bit bytes, the smallest addressable unit on the PDP-10, sounds kinda
cool actually. Now would those be signed or unsigned?
The PowerPC was great at smashing and swizzling bit fields ...
It's funny you should mention "1-bit bytes" and PowerPC close together,
because the PowerPC has an architectural feature that I have not seen
discussed much - the 8 x 4 bit CR register set, and the Conditional
Register Logical instructions that can operate on them directly as if
they were 32 single bit registers, with operations AND, OR, XOR, NAND,
NOR, EQV (complemented XOR), AND complemented operand, OR complemented
operand, move between 4-bit fields, and of course the usual branch tests.
I have been curious about whether a compiler could make good use of this
facility.
--Toby
-Don