Skip to content
  • Sylvain Henry's avatar
    9ab76ca5
    Cmm: introduce SAVE_REGS/RESTORE_REGS · 9ab76ca5
    Sylvain Henry authored
    We don't want to save both Fn and Dn register sets on x86-64 as they are
    aliased to the same arch register (XMMn).
    
    Moreover, when SAVE_STGREGS was used in conjunction with `jump foo [*]`
    which makes a set of Cmm registers alive so that they cover all arch
    registers used to pass parameter, we could have Fn, Dn and XMMn alive at
    the same time. It made the LLVM code generator choke (see #17920).
    
    Now `SAVE_REGS/RESTORE_REGS` and `jump foo [*]` use the same set of
    registers.
    
    (cherry picked from commit 54b595c1)
    9ab76ca5
    Cmm: introduce SAVE_REGS/RESTORE_REGS
    Sylvain Henry authored
    We don't want to save both Fn and Dn register sets on x86-64 as they are
    aliased to the same arch register (XMMn).
    
    Moreover, when SAVE_STGREGS was used in conjunction with `jump foo [*]`
    which makes a set of Cmm registers alive so that they cover all arch
    registers used to pass parameter, we could have Fn, Dn and XMMn alive at
    the same time. It made the LLVM code generator choke (see #17920).
    
    Now `SAVE_REGS/RESTORE_REGS` and `jump foo [*]` use the same set of
    registers.
    
    (cherry picked from commit 54b595c1)
Loading