Revision 90cbed46 tcg/sparc/tcg-target.c
b/tcg/sparc/tcg-target.c | ||
---|---|---|
625 | 625 |
/* ld [arg1 + x], arg1 */ |
626 | 626 |
tcg_out_ldst(s, arg1, arg1, offsetof(CPUTLBEntry, addend) - |
627 | 627 |
offsetof(CPUTLBEntry, addr_read), HOST_LD_OP); |
628 |
|
|
629 |
#if TARGET_LONG_BITS == 32 |
|
630 |
/* and addr_reg, x, arg0 */ |
|
631 |
tcg_out_movi(s, TCG_TYPE_I32, TCG_REG_I5, 0xffffffff); |
|
632 |
tcg_out_arith(s, arg0, addr_reg, TCG_REG_I5, ARITH_AND); |
|
633 |
/* add arg0, arg1, arg0 */ |
|
634 |
tcg_out_arith(s, arg0, arg0, arg1, ARITH_ADD); |
|
635 |
#else |
|
628 | 636 |
/* add addr_reg, arg1, arg0 */ |
629 | 637 |
tcg_out_arith(s, arg0, addr_reg, arg1, ARITH_ADD); |
638 |
#endif |
|
639 |
|
|
630 | 640 |
#else |
631 | 641 |
arg0 = addr_reg; |
632 | 642 |
#endif |
... | ... | |
785 | 795 |
tcg_out_ldst(s, arg1, arg1, offsetof(CPUTLBEntry, addend) - |
786 | 796 |
offsetof(CPUTLBEntry, addr_write), HOST_LD_OP); |
787 | 797 |
|
798 |
#if TARGET_LONG_BITS == 32 |
|
799 |
/* and addr_reg, x, arg0 */ |
|
800 |
tcg_out_movi(s, TCG_TYPE_I32, TCG_REG_I5, 0xffffffff); |
|
801 |
tcg_out_arith(s, arg0, addr_reg, TCG_REG_I5, ARITH_AND); |
|
802 |
/* add arg0, arg1, arg0 */ |
|
803 |
tcg_out_arith(s, arg0, arg0, arg1, ARITH_ADD); |
|
804 |
#else |
|
788 | 805 |
/* add addr_reg, arg1, arg0 */ |
789 | 806 |
tcg_out_arith(s, arg0, addr_reg, arg1, ARITH_ADD); |
807 |
#endif |
|
808 |
|
|
790 | 809 |
#else |
791 | 810 |
arg0 = addr_reg; |
792 | 811 |
#endif |
Also available in: Unified diff