• Austin Clements's avatar
    [dev.cc] runtime: decode power64 branch instructions the way the CPU does · d11a4259
    Austin Clements authored
    Previously, this used the top 8 bits of an instruction as a
    sort-of opcode and ignored the top two bits of the relative
    PC.  This worked because these jumps are always negative and
    never big enough for the top two bits of the relative PC (also
    the bottom 2 bits of the sort-of opcode) to be anything other
    than 0b11, but the code is confusing because it doesn't match
    the actual structure of the instruction.
    
    Instead, use the real 6 bit opcode and use all 24 bits of
    relative PC.
    
    LGTM=rsc
    R=rsc, dave
    CC=golang-codereviews
    https://golang.org/cl/179960043
    d11a4259
sys_power64x.go 1.14 KB