On Wed, 29 Jan 2020 00:11:40 -0500
George Koehler <kern...@gmail.com> wrote:

> You might have found a problem with mftb (move from time base) in
> clang's assembler.  Some of the other differences in your disassembly
> might not cause problems.
> 
> ...
> -   4:        7f 8c 42 e6     mftb    r28
> +   4:        7f 8c 42 a6     mfspr   r28,268

This might not be a problem.
7f 8c 42 e6 is the old encoding, up to PowerPC 2.02.
7f 8c 42 a6 is the new encoding, from Power ISA 2.03.
(PPC_Vers202_Book2_public.pdf, PowerISA_V2.03_Final_Public.pdf)

0x7f8c42e6 >> 1 & 0x3ff == 371  # old mftb
0x7f8c42a6 >> 1 & 0x3ff == 339  # new mfspr

Power ISA 2.03 claims that the new mfspr works on most processors,
but not in PowerPC 601 nor POWER3.  It should work on processors
supported by OpenBSD macppc.  Later, I want to check if the new mfspr
from clang really works on my iMac G3 (PowerPC 750).

--George

Reply via email to