[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 07/12] tcg/ppc: Add support for fence
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 07/12] tcg/ppc: Add support for fence |
Date: |
Thu, 26 May 2016 18:00:10 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/ppc/tcg-target.inc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c
index da10052..ea576f9 100644
--- a/tcg/ppc/tcg-target.inc.c
+++ b/tcg/ppc/tcg-target.inc.c
@@ -469,6 +469,9 @@ static int tcg_target_const_match(tcg_target_long val,
TCGType type,
#define STHX XO31(407)
#define STWX XO31(151)
+#define HWSYNC XO31(598)
+#define LWSYNC (HWSYNC | (1u << 21))
+
#define SPR(a, b) ((((a)<<5)|(b))<<11)
#define LR SPR(8, 0)
#define CTR SPR(9, 0)
@@ -2439,6 +2442,10 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc,
const TCGArg *args,
tcg_out32(s, MULHD | TAB(args[0], args[1], args[2]));
break;
+ case INDEX_op_fence:
+ /* ??? Do we want SEQ_CST or ACQ_REL memory model. */
+ tcg_out32(s, HWSYNC);
+ break;
case INDEX_op_mov_i32: /* Always emitted via tcg_out_mov. */
case INDEX_op_mov_i64:
case INDEX_op_movi_i32: /* Always emitted via tcg_out_movi. */
@@ -2586,6 +2593,7 @@ static const TCGTargetOpDef ppc_op_defs[] = {
{ INDEX_op_qemu_st_i64, { "S", "S", "S", "S" } },
#endif
+ { INDEX_op_fence, { } },
{ -1 },
};
--
2.5.5
- [Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction, (continued)
- [Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 06/12] tcg/mips: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 05/12] tcg/ia64: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 08/12] tcg/s390: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 09/12] tcg/sparc: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 02/12] tcg/i386: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 07/12] tcg/ppc: Add support for fence,
Richard Henderson <=
- [Qemu-devel] [PATCH v2 10/12] tcg/tci: Add support for fence, Richard Henderson, 2016/05/26
[Qemu-devel] [PATCH v2 11/12] target-arm: Add frontend support for fence gen in ARMv7, Richard Henderson, 2016/05/26
[Qemu-devel] [PATCH v2 12/12] target-alpha: Generate fence opcodes, Richard Henderson, 2016/05/26
Re: [Qemu-devel] [PATCH v2 00/12] tcg: Add fence opcode, Pranith Kumar, 2016/05/27