]> Git Repo - qemu.git/blobdiff - target-sparc/translate.c
Convert andn, orn and xnor to TCG
[qemu.git] / target-sparc / translate.c
index 81b1c41ae5e86afc097e98d768547404dba08906..42ddfc4f27d409e3cfcbb850b38f188796195c17 100644 (file)
@@ -2613,17 +2613,20 @@ static void disas_sparc_insn(DisasContext * dc)
                             tcg_gen_sub_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
                         break;
                     case 0x5:
-                        gen_op_andn_T1_T0();
+                        tcg_gen_xori_tl(cpu_T[1], cpu_T[1], -1);
+                        tcg_gen_and_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
                         if (xop & 0x10)
                             gen_op_logic_T0_cc();
                         break;
                     case 0x6:
-                        gen_op_orn_T1_T0();
+                        tcg_gen_xori_tl(cpu_T[1], cpu_T[1], -1);
+                        tcg_gen_or_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
                         if (xop & 0x10)
                             gen_op_logic_T0_cc();
                         break;
                     case 0x7:
-                        gen_op_xnor_T1_T0();
+                        tcg_gen_xori_tl(cpu_T[1], cpu_T[1], -1);
+                        tcg_gen_xor_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
                         if (xop & 0x10)
                             gen_op_logic_T0_cc();
                         break;
This page took 0.030808 seconds and 4 git commands to generate.