src/cpu/ppc/vm/assembler_ppc.hpp

changeset 7132
b384ba33c9a0
parent 6538
56e7f5560e60
child 7222
f6bde7889409
     1.1 --- a/src/cpu/ppc/vm/assembler_ppc.hpp	Mon Sep 08 14:13:01 2014 +0000
     1.2 +++ b/src/cpu/ppc/vm/assembler_ppc.hpp	Thu Jul 17 15:40:04 2014 -0700
     1.3 @@ -298,6 +298,7 @@
     1.4      LWZ_OPCODE   = (32u << OPCODE_SHIFT),
     1.5      LWZX_OPCODE  = (31u << OPCODE_SHIFT |  23u << 1),
     1.6      LWZU_OPCODE  = (33u << OPCODE_SHIFT),
     1.7 +    LWBRX_OPCODE = (31u << OPCODE_SHIFT |  534 << 1),
     1.8  
     1.9      LHA_OPCODE   = (42u << OPCODE_SHIFT),
    1.10      LHAX_OPCODE  = (31u << OPCODE_SHIFT | 343u << 1),
    1.11 @@ -306,6 +307,7 @@
    1.12      LHZ_OPCODE   = (40u << OPCODE_SHIFT),
    1.13      LHZX_OPCODE  = (31u << OPCODE_SHIFT | 279u << 1),
    1.14      LHZU_OPCODE  = (41u << OPCODE_SHIFT),
    1.15 +    LHBRX_OPCODE = (31u << OPCODE_SHIFT |  790 << 1),
    1.16  
    1.17      LBZ_OPCODE   = (34u << OPCODE_SHIFT),
    1.18      LBZX_OPCODE  = (31u << OPCODE_SHIFT |  87u << 1),
    1.19 @@ -1364,11 +1366,17 @@
    1.20    inline void lwax( Register d, Register s1, Register s2);
    1.21    inline void lwa(  Register d, int si16,    Register s1);
    1.22  
    1.23 +  // 4 bytes reversed
    1.24 +  inline void lwbrx( Register d, Register s1, Register s2);
    1.25 +
    1.26    // 2 bytes
    1.27    inline void lhzx( Register d, Register s1, Register s2);
    1.28    inline void lhz(  Register d, int si16,    Register s1);
    1.29    inline void lhzu( Register d, int si16,    Register s1);
    1.30  
    1.31 +  // 2 bytes reversed
    1.32 +  inline void lhbrx( Register d, Register s1, Register s2);
    1.33 +
    1.34    // 2 bytes
    1.35    inline void lhax( Register d, Register s1, Register s2);
    1.36    inline void lha(  Register d, int si16,    Register s1);
    1.37 @@ -1858,10 +1866,12 @@
    1.38    inline void lwz(  Register d, int si16);
    1.39    inline void lwax( Register d, Register s2);
    1.40    inline void lwa(  Register d, int si16);
    1.41 +  inline void lwbrx(Register d, Register s2);
    1.42    inline void lhzx( Register d, Register s2);
    1.43    inline void lhz(  Register d, int si16);
    1.44    inline void lhax( Register d, Register s2);
    1.45    inline void lha(  Register d, int si16);
    1.46 +  inline void lhbrx(Register d, Register s2);
    1.47    inline void lbzx( Register d, Register s2);
    1.48    inline void lbz(  Register d, int si16);
    1.49    inline void ldx(  Register d, Register s2);

mercurial