[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction |
Date: |
Thu, 26 May 2016 18:00:04 -0700 |
This commit introduces the TCGOpcode for fence instruction.
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/tcg-op.c | 6 ++++++
tcg/tcg-op.h | 2 ++
tcg/tcg-opc.h | 2 ++
3 files changed, 10 insertions(+)
diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c
index 54c0277..2a7af95 100644
--- a/tcg/tcg-op.c
+++ b/tcg/tcg-op.c
@@ -146,6 +146,12 @@ void tcg_gen_op6(TCGContext *ctx, TCGOpcode opc, TCGArg
a1, TCGArg a2,
tcg_emit_op(ctx, opc, pi);
}
+void tcg_gen_fence(void)
+{
+ /* ??? Enable only when MTTCG is enabled. */
+ tcg_gen_op1(&tcg_ctx, INDEX_op_fence, 0);
+}
+
/* 32 bit ops */
void tcg_gen_addi_i32(TCGv_i32 ret, TCGv_i32 arg1, int32_t arg2)
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
index f217e80..2293720 100644
--- a/tcg/tcg-op.h
+++ b/tcg/tcg-op.h
@@ -261,6 +261,8 @@ static inline void tcg_gen_br(TCGLabel *l)
tcg_gen_op1(&tcg_ctx, INDEX_op_br, label_arg(l));
}
+void tcg_gen_fence(void);
+
/* Helper calls. */
/* 32 bit ops */
diff --git a/tcg/tcg-opc.h b/tcg/tcg-opc.h
index 6d0410c..b772d90 100644
--- a/tcg/tcg-opc.h
+++ b/tcg/tcg-opc.h
@@ -42,6 +42,8 @@ DEF(br, 0, 0, 1, TCG_OPF_BB_END)
# define IMPL64 TCG_OPF_64BIT
#endif
+DEF(fence, 0, 0, 0, TCG_OPF_SIDE_EFFECTS)
+
DEF(mov_i32, 1, 1, 0, TCG_OPF_NOT_PRESENT)
DEF(movi_i32, 1, 0, 1, TCG_OPF_NOT_PRESENT)
DEF(setcond_i32, 1, 2, 1, 0)
--
2.5.5
- [Qemu-devel] [PATCH v2 00/12] tcg: Add fence opcode, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 03/12] tcg/aarch64: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 04/12] tcg/arm: Add support for fence, Richard Henderson, 2016/05/26
- [Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction,
Richard Henderson <=
- [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