static inline void tcg_out_movi(TCGContext *s, TCGType type,

                                int ret, tcg_target_long arg)

{

#if defined(__sparc_v9__) && !defined(__sparc_v8plus__)

    if (arg != (arg & 0xffffffff))

        fprintf(stderr, "unimplemented %s with constant %ld\n", __func__, arg);

#endif

    if (arg == (arg & 0xfff))

        tcg_out32(s, ARITH_OR | INSN_RD(ret) | INSN_RS1(TCG_REG_G0) |

                  INSN_IMM13(arg));

    else {

        tcg_out32(s, SETHI | INSN_RD(ret) | ((arg & 0xfffffc00) >> 10));

        if (arg & 0x3ff)

            tcg_out32(s, ARITH_OR | INSN_RD(ret) | INSN_RS1(ret) |

                      INSN_IMM13(arg & 0x3ff));

    }

}

static inline void tcg_out_movi(TCGContext *s, TCGType type,

                                int ret, tcg_target_long arg)

{

#if defined(__sparc_v9__) && !defined(__sparc_v8plus__)

    if (arg != (arg & 0xffffffff))

        fprintf(stderr, "unimplemented %s with constant %ld\n", __func__, arg);

#endif

    if (arg == (arg & 0xfff))

        tcg_out32(s, ARITH_OR | INSN_RD(ret) | INSN_RS1(TCG_REG_G0) |

                  INSN_IMM13(arg));

    else {

        tcg_out32(s, SETHI | INSN_RD(ret) | ((arg & 0xfffffc00) >> 10));

        if (arg & 0x3ff)

            tcg_out32(s, ARITH_OR | INSN_RD(ret) | INSN_RS1(ret) |

                      INSN_IMM13(arg & 0x3ff));

    }

}

static inline void FUNC_0(TCGContext *VAR_0, TCGType VAR_1,

                                int VAR_2, tcg_target_long VAR_3)

{

#if defined(__sparc_v9__) && !defined(__sparc_v8plus__)

    if (VAR_3 != (VAR_3 & 0xffffffff))

        fprintf(stderr, "unimplemented %VAR_0 with constant %ld\n", __func__, VAR_3);

#endif

    if (VAR_3 == (VAR_3 & 0xfff))

        tcg_out32(VAR_0, ARITH_OR | INSN_RD(VAR_2) | INSN_RS1(TCG_REG_G0) |

                  INSN_IMM13(VAR_3));

    else {

        tcg_out32(VAR_0, SETHI | INSN_RD(VAR_2) | ((VAR_3 & 0xfffffc00) >> 10));

        if (VAR_3 & 0x3ff)

            tcg_out32(VAR_0, ARITH_OR | INSN_RD(VAR_2) | INSN_RS1(VAR_2) |

                      INSN_IMM13(VAR_3 & 0x3ff));

    }

}

static inline void FUNC_0(TCGContext *VAR_0, TCGType VAR_1,
int VAR_2, tcg_target_long VAR_3)
{ #if defined(__sparc_v9__) && !defined(__sparc_v8plus__)
if (VAR_3 != (VAR_3 & 0xffffffff))
fprintf(stderr, "unimplemented %VAR_0 with constant %ld\n", __func__, VAR_3); #endif
if (VAR_3 == (VAR_3 & 0xfff))
tcg_out32(VAR_0, ARITH_OR | INSN_RD(VAR_2) | INSN_RS1(TCG_REG_G0) |
INSN_IMM13(VAR_3)); else { tcg_out32(VAR_0, SETHI | INSN_RD(VAR_2) | ((VAR_3 & 0xfffffc00) >> 10)); if (VAR_3 & 0x3ff)
tcg_out32(VAR_0, ARITH_OR | INSN_RD(VAR_2) | INSN_RS1(VAR_2) |
INSN_IMM13(VAR_3 & 0x3ff)); } }