• Lynn Boger's avatar
    cmd/compile: fix PPC64.rules for LoweredMove · b8d327a4
    Lynn Boger authored
    A recent performance improvement for PPC64.rules introduced a
    regression for the case where the size of a move is <= 8 bytes
    and the value used in the offset field of the instruction is not
    aligned correctly for the instruction. In the cases where this happened,
    the assembler was not detecting the incorrect offset and still generated
    the instruction even though it was invalid.
    
    This fix changes the PPC64.rules for the moves that are now failing
    to include the correct alignment checks, along some additional testcases
    for gc/ssa for the failing alignments.
    
    I will add a fix to the assembler to detect incorrect offsets in
    another CL.
    
    This fixes #19907
    
    Change-Id: I3d327ce0ea6afed884725b1824f9217cef2fe6bf
    Reviewed-on: https://go-review.googlesource.com/40290Reviewed-by: 's avatarCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
    Reviewed-by: 's avatarDavid Chase <drchase@google.com>
    b8d327a4
PPC64.rules 39.3 KB