|
@@ -119,6 +119,8 @@ Ip_u2u1msbu3(_dinsm);
|
|
Ip_u1(_syscall);
|
|
Ip_u1(_syscall);
|
|
Ip_u1u2s3(_bbit0);
|
|
Ip_u1u2s3(_bbit0);
|
|
Ip_u1u2s3(_bbit1);
|
|
Ip_u1u2s3(_bbit1);
|
|
|
|
+Ip_u3u1u2(_lwx);
|
|
|
|
+Ip_u3u1u2(_ldx);
|
|
|
|
|
|
/* Handle labels. */
|
|
/* Handle labels. */
|
|
struct uasm_label {
|
|
struct uasm_label {
|
|
@@ -156,6 +158,7 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
|
|
# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_dsubu(buf, rs, rt, rd)
|
|
# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_dsubu(buf, rs, rt, rd)
|
|
# define UASM_i_LL(buf, rs, rt, off) uasm_i_lld(buf, rs, rt, off)
|
|
# define UASM_i_LL(buf, rs, rt, off) uasm_i_lld(buf, rs, rt, off)
|
|
# define UASM_i_SC(buf, rs, rt, off) uasm_i_scd(buf, rs, rt, off)
|
|
# define UASM_i_SC(buf, rs, rt, off) uasm_i_scd(buf, rs, rt, off)
|
|
|
|
+# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_ldx(buf, rs, rt, rd)
|
|
#else
|
|
#else
|
|
# define UASM_i_LW(buf, rs, rt, off) uasm_i_lw(buf, rs, rt, off)
|
|
# define UASM_i_LW(buf, rs, rt, off) uasm_i_lw(buf, rs, rt, off)
|
|
# define UASM_i_SW(buf, rs, rt, off) uasm_i_sw(buf, rs, rt, off)
|
|
# define UASM_i_SW(buf, rs, rt, off) uasm_i_sw(buf, rs, rt, off)
|
|
@@ -170,6 +173,7 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
|
|
# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_subu(buf, rs, rt, rd)
|
|
# define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_subu(buf, rs, rt, rd)
|
|
# define UASM_i_LL(buf, rs, rt, off) uasm_i_ll(buf, rs, rt, off)
|
|
# define UASM_i_LL(buf, rs, rt, off) uasm_i_ll(buf, rs, rt, off)
|
|
# define UASM_i_SC(buf, rs, rt, off) uasm_i_sc(buf, rs, rt, off)
|
|
# define UASM_i_SC(buf, rs, rt, off) uasm_i_sc(buf, rs, rt, off)
|
|
|
|
+# define UASM_i_LWX(buf, rs, rt, rd) uasm_i_lwx(buf, rs, rt, rd)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#define uasm_i_b(buf, off) uasm_i_beq(buf, 0, 0, off)
|
|
#define uasm_i_b(buf, off) uasm_i_beq(buf, 0, 0, off)
|