Another Power6 microcode bug, more pertinent to those of us who never
fool with quadwords, is that MOVZWL from one register to another
copies the entire register: i.e., it acts like MOVL. This will cause
bugs in C programs, since the C compiler will generate "MOVZWL <reg>,<reg>",
expecting it to behave as documented, not as it really behaves.
When our system administrator reported this to CCI, they said that
they would change the documentation of MOVZWL rather than fix the
microcode. They didn't mention changing their C compiler to not
generate the broken instruction.
Jim Shankland
..!ihnp4!cpsc6a!\
rtech!jas
..!ucbvax!mtxinu!/
--
Jim Shankland
..!ihnp4!cpsc6a!\
rtech!jas
..!ucbvax!mtxinu!/