On 09/19/2017 02:36 PM, David Hildenbrand wrote: > On 19.09.2017 19:47, Richard Henderson wrote: >> On 09/19/2017 09:26 AM, David Hildenbrand wrote: >>> + const uint8_t fc = env->regs[0] & 0x7fULL; >> >> Don't mask here... > > Bit 56 is the mod bit (see variable "mod") and is checked inside the > switch(). The function code really is just composed of bit 57 - 63, so > this is correct.
"mod bit"? # Bit 56 of general register 0 must be zero; oth- # erwise, a specification exception is recognized. I don't suppose this is a change in PoO v11? I'm still looking at v10. > E.g. for KMAC (7-187): > > "A specification exception is recognized and no other > action is taken if any of the following occurs: > [...] > The R2 field designates an odd-numbered regis- > ter or general register 0." Hmm, ok. There's different text earlier on page 7-178 that describes the even-odd requirement but omits the non-zero requirement. Irritating. r~