translate.c (db11dfea83e35c534fef8a86603b72354be9d71b) translate.c (56f2ef9c7958320d574448f555cc3a82e500c485)
1/*
2 SPARC translation
3
4 Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at>
5 Copyright (C) 2003-2005 Fabrice Bellard
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public

--- 501 unchanged lines hidden (view full) ---

510 tcg_gen_sub_tl(dst, dst, gen_carry32());
511}
512
513static void gen_op_subccc(TCGv dst, TCGv src1, TCGv src2)
514{
515 gen_op_subcc_int(dst, src1, src2, gen_carry32());
516}
517
1/*
2 SPARC translation
3
4 Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at>
5 Copyright (C) 2003-2005 Fabrice Bellard
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public

--- 501 unchanged lines hidden (view full) ---

510 tcg_gen_sub_tl(dst, dst, gen_carry32());
511}
512
513static void gen_op_subccc(TCGv dst, TCGv src1, TCGv src2)
514{
515 gen_op_subcc_int(dst, src1, src2, gen_carry32());
516}
517
518static void gen_op_subxc(TCGv dst, TCGv src1, TCGv src2)
519{
520 tcg_gen_sub_tl(dst, src1, src2);
521 tcg_gen_sub_tl(dst, dst, cpu_cc_C);
522}
523
524static void gen_op_subxccc(TCGv dst, TCGv src1, TCGv src2)
525{
526 gen_op_subcc_int(dst, src1, src2, cpu_cc_C);
527}
528
518static void gen_op_mulscc(TCGv dst, TCGv src1, TCGv src2)
519{
520 TCGv zero = tcg_constant_tl(0);
521 TCGv one = tcg_constant_tl(1);
522 TCGv t_src1 = tcg_temp_new();
523 TCGv t_src2 = tcg_temp_new();
524 TCGv t0 = tcg_temp_new();
525

--- 3432 unchanged lines hidden (view full) ---

3958
3959TRANS(ARRAY8, VIS1, do_rrr, a, gen_helper_array8)
3960TRANS(ARRAY16, VIS1, do_rrr, a, gen_op_array16)
3961TRANS(ARRAY32, VIS1, do_rrr, a, gen_op_array32)
3962
3963TRANS(ADDXC, VIS3, do_rrr, a, gen_op_addxc)
3964TRANS(ADDXCcc, VIS3, do_rrr, a, gen_op_addxccc)
3965
529static void gen_op_mulscc(TCGv dst, TCGv src1, TCGv src2)
530{
531 TCGv zero = tcg_constant_tl(0);
532 TCGv one = tcg_constant_tl(1);
533 TCGv t_src1 = tcg_temp_new();
534 TCGv t_src2 = tcg_temp_new();
535 TCGv t0 = tcg_temp_new();
536

--- 3432 unchanged lines hidden (view full) ---

3969
3970TRANS(ARRAY8, VIS1, do_rrr, a, gen_helper_array8)
3971TRANS(ARRAY16, VIS1, do_rrr, a, gen_op_array16)
3972TRANS(ARRAY32, VIS1, do_rrr, a, gen_op_array32)
3973
3974TRANS(ADDXC, VIS3, do_rrr, a, gen_op_addxc)
3975TRANS(ADDXCcc, VIS3, do_rrr, a, gen_op_addxccc)
3976
3977TRANS(SUBXC, VIS4, do_rrr, a, gen_op_subxc)
3978TRANS(SUBXCcc, VIS4, do_rrr, a, gen_op_subxccc)
3979
3966TRANS(UMULXHI, VIS3, do_rrr, a, gen_op_umulxhi)
3967
3968static void gen_op_alignaddr(TCGv dst, TCGv s1, TCGv s2)
3969{
3970#ifdef TARGET_SPARC64
3971 TCGv tmp = tcg_temp_new();
3972
3973 tcg_gen_add_tl(tmp, s1, s2);

--- 1840 unchanged lines hidden ---
3980TRANS(UMULXHI, VIS3, do_rrr, a, gen_op_umulxhi)
3981
3982static void gen_op_alignaddr(TCGv dst, TCGv s1, TCGv s2)
3983{
3984#ifdef TARGET_SPARC64
3985 TCGv tmp = tcg_temp_new();
3986
3987 tcg_gen_add_tl(tmp, s1, s2);

--- 1840 unchanged lines hidden ---