Skip to content
  • Jakob Stoklund Olesen's avatar
    Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl(). · ddbf7a85
    Jakob Stoklund Olesen authored
    The PowerPC floating point registers can represent both f32 and f64 via the
    two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to
    allow cross-class coalescing. This coalescing only affects whether registers
    are spilled as f32 or f64.
    
    Spill slots must be accessed with load/store instructions corresponding to the
    class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking
    at the instruction opcode which is wrong.
    
    X86 has similar floating point register classes, but doesn't try to fold
    memory operands, so there is no problem there.
    
    llvm-svn: 97262
    ddbf7a85
Loading