* [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_*
@ 2012-12-07 21:07 Richard Henderson
2012-12-13 21:04 ` Richard Henderson
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Richard Henderson @ 2012-12-07 21:07 UTC (permalink / raw)
To: qemu-devel; +Cc: Aurelien Jarno
Cc: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
tcg/tcg-op.h | 2 ++
tcg/tcg.h | 3 +++
2 files changed, 5 insertions(+)
Changes since v1:
* Add tl-sized TCGV_IS_UNUSED to tcg-op.h.
r~
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
index 0b3cb0b..91c9d80 100644
--- a/tcg/tcg-op.h
+++ b/tcg/tcg-op.h
@@ -2329,6 +2329,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
#define tcg_gen_qemu_ldst_op tcg_gen_op3i_i32
#define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i32
#define TCGV_UNUSED(x) TCGV_UNUSED_I32(x)
+#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x)
#define TCGV_EQUAL(a, b) TCGV_EQUAL_I32(a, b)
#else
#define TCGv TCGv_i64
@@ -2340,6 +2341,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
#define tcg_gen_qemu_ldst_op tcg_gen_op3i_i64
#define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i64
#define TCGV_UNUSED(x) TCGV_UNUSED_I64(x)
+#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x)
#define TCGV_EQUAL(a, b) TCGV_EQUAL_I64(a, b)
#endif
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 9481e35..90406fc 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -270,6 +270,9 @@ typedef int TCGv_i64;
#define TCGV_UNUSED_I32(x) x = MAKE_TCGV_I32(-1)
#define TCGV_UNUSED_I64(x) x = MAKE_TCGV_I64(-1)
+#define TCGV_IS_UNUSED_I32(x) (GET_TCGV_I32(x) == -1)
+#define TCGV_IS_UNUSED_I64(x) (GET_TCGV_I64(x) == -1)
+
/* call flags */
/* Helper does not read globals (either directly or through an exception). It
implies TCG_CALL_NO_WRITE_GLOBALS. */
--
1.7.11.7
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_*
2012-12-07 21:07 [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
@ 2012-12-13 21:04 ` Richard Henderson
2012-12-14 0:15 ` Andreas Färber
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2012-12-13 21:04 UTC (permalink / raw)
To: qemu-devel; +Cc: Aurelien Jarno
Ping?
r~
On 12/07/2012 01:07 PM, Richard Henderson wrote:
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> tcg/tcg-op.h | 2 ++
> tcg/tcg.h | 3 +++
> 2 files changed, 5 insertions(+)
>
> Changes since v1:
> * Add tl-sized TCGV_IS_UNUSED to tcg-op.h.
>
>
> r~
>
>
> diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
> index 0b3cb0b..91c9d80 100644
> --- a/tcg/tcg-op.h
> +++ b/tcg/tcg-op.h
> @@ -2329,6 +2329,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i32
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i32
> #define TCGV_UNUSED(x) TCGV_UNUSED_I32(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I32(a, b)
> #else
> #define TCGv TCGv_i64
> @@ -2340,6 +2341,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i64
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i64
> #define TCGV_UNUSED(x) TCGV_UNUSED_I64(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I64(a, b)
> #endif
>
> diff --git a/tcg/tcg.h b/tcg/tcg.h
> index 9481e35..90406fc 100644
> --- a/tcg/tcg.h
> +++ b/tcg/tcg.h
> @@ -270,6 +270,9 @@ typedef int TCGv_i64;
> #define TCGV_UNUSED_I32(x) x = MAKE_TCGV_I32(-1)
> #define TCGV_UNUSED_I64(x) x = MAKE_TCGV_I64(-1)
>
> +#define TCGV_IS_UNUSED_I32(x) (GET_TCGV_I32(x) == -1)
> +#define TCGV_IS_UNUSED_I64(x) (GET_TCGV_I64(x) == -1)
> +
> /* call flags */
> /* Helper does not read globals (either directly or through an exception). It
> implies TCG_CALL_NO_WRITE_GLOBALS. */
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_*
2012-12-07 21:07 [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
2012-12-13 21:04 ` Richard Henderson
@ 2012-12-14 0:15 ` Andreas Färber
2012-12-28 22:00 ` Richard Henderson
2012-12-29 15:49 ` Blue Swirl
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Färber @ 2012-12-14 0:15 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel, Aurelien Jarno
Am 07.12.2012 22:07, schrieb Richard Henderson:
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Looks fine to me. The only remark I have is that for a use case of mine
(writing a new target) I found it helpful to distinguish between tl and
i32/i64, which requires static inline functions rather than macros for
type safety - but since TCGV_UNUSED() is a macro, too, such changes
would be a follow-up.
Andreas
> ---
> tcg/tcg-op.h | 2 ++
> tcg/tcg.h | 3 +++
> 2 files changed, 5 insertions(+)
>
> Changes since v1:
> * Add tl-sized TCGV_IS_UNUSED to tcg-op.h.
>
>
> r~
>
>
> diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
> index 0b3cb0b..91c9d80 100644
> --- a/tcg/tcg-op.h
> +++ b/tcg/tcg-op.h
> @@ -2329,6 +2329,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i32
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i32
> #define TCGV_UNUSED(x) TCGV_UNUSED_I32(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I32(a, b)
> #else
> #define TCGv TCGv_i64
> @@ -2340,6 +2341,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i64
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i64
> #define TCGV_UNUSED(x) TCGV_UNUSED_I64(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I64(a, b)
> #endif
>
> diff --git a/tcg/tcg.h b/tcg/tcg.h
> index 9481e35..90406fc 100644
> --- a/tcg/tcg.h
> +++ b/tcg/tcg.h
> @@ -270,6 +270,9 @@ typedef int TCGv_i64;
> #define TCGV_UNUSED_I32(x) x = MAKE_TCGV_I32(-1)
> #define TCGV_UNUSED_I64(x) x = MAKE_TCGV_I64(-1)
>
> +#define TCGV_IS_UNUSED_I32(x) (GET_TCGV_I32(x) == -1)
> +#define TCGV_IS_UNUSED_I64(x) (GET_TCGV_I64(x) == -1)
> +
> /* call flags */
> /* Helper does not read globals (either directly or through an exception). It
> implies TCG_CALL_NO_WRITE_GLOBALS. */
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_*
2012-12-07 21:07 [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
2012-12-13 21:04 ` Richard Henderson
2012-12-14 0:15 ` Andreas Färber
@ 2012-12-28 22:00 ` Richard Henderson
2012-12-29 15:49 ` Blue Swirl
3 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2012-12-28 22:00 UTC (permalink / raw)
To: qemu-devel; +Cc: Blue Swirl, Aurelien Jarno
Ping 2. There is a Reviewed-by...
r~
On 2012-12-07 13:07, Richard Henderson wrote:
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> tcg/tcg-op.h | 2 ++
> tcg/tcg.h | 3 +++
> 2 files changed, 5 insertions(+)
>
> Changes since v1:
> * Add tl-sized TCGV_IS_UNUSED to tcg-op.h.
>
>
> r~
>
>
> diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
> index 0b3cb0b..91c9d80 100644
> --- a/tcg/tcg-op.h
> +++ b/tcg/tcg-op.h
> @@ -2329,6 +2329,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i32
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i32
> #define TCGV_UNUSED(x) TCGV_UNUSED_I32(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I32(a, b)
> #else
> #define TCGv TCGv_i64
> @@ -2340,6 +2341,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i64
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i64
> #define TCGV_UNUSED(x) TCGV_UNUSED_I64(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I64(a, b)
> #endif
>
> diff --git a/tcg/tcg.h b/tcg/tcg.h
> index 9481e35..90406fc 100644
> --- a/tcg/tcg.h
> +++ b/tcg/tcg.h
> @@ -270,6 +270,9 @@ typedef int TCGv_i64;
> #define TCGV_UNUSED_I32(x) x = MAKE_TCGV_I32(-1)
> #define TCGV_UNUSED_I64(x) x = MAKE_TCGV_I64(-1)
>
> +#define TCGV_IS_UNUSED_I32(x) (GET_TCGV_I32(x) == -1)
> +#define TCGV_IS_UNUSED_I64(x) (GET_TCGV_I64(x) == -1)
> +
> /* call flags */
> /* Helper does not read globals (either directly or through an exception). It
> implies TCG_CALL_NO_WRITE_GLOBALS. */
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_*
2012-12-07 21:07 [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
` (2 preceding siblings ...)
2012-12-28 22:00 ` Richard Henderson
@ 2012-12-29 15:49 ` Blue Swirl
3 siblings, 0 replies; 5+ messages in thread
From: Blue Swirl @ 2012-12-29 15:49 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel, Aurelien Jarno
Thanks, applied.
On Fri, Dec 7, 2012 at 9:07 PM, Richard Henderson <rth@twiddle.net> wrote:
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> tcg/tcg-op.h | 2 ++
> tcg/tcg.h | 3 +++
> 2 files changed, 5 insertions(+)
>
> Changes since v1:
> * Add tl-sized TCGV_IS_UNUSED to tcg-op.h.
>
>
> r~
>
>
> diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
> index 0b3cb0b..91c9d80 100644
> --- a/tcg/tcg-op.h
> +++ b/tcg/tcg-op.h
> @@ -2329,6 +2329,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i32
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i32
> #define TCGV_UNUSED(x) TCGV_UNUSED_I32(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I32(a, b)
> #else
> #define TCGv TCGv_i64
> @@ -2340,6 +2341,7 @@ static inline void tcg_gen_movcond_i64(TCGCond cond, TCGv_i64 ret,
> #define tcg_gen_qemu_ldst_op tcg_gen_op3i_i64
> #define tcg_gen_qemu_ldst_op_i64 tcg_gen_qemu_ldst_op_i64_i64
> #define TCGV_UNUSED(x) TCGV_UNUSED_I64(x)
> +#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x)
> #define TCGV_EQUAL(a, b) TCGV_EQUAL_I64(a, b)
> #endif
>
> diff --git a/tcg/tcg.h b/tcg/tcg.h
> index 9481e35..90406fc 100644
> --- a/tcg/tcg.h
> +++ b/tcg/tcg.h
> @@ -270,6 +270,9 @@ typedef int TCGv_i64;
> #define TCGV_UNUSED_I32(x) x = MAKE_TCGV_I32(-1)
> #define TCGV_UNUSED_I64(x) x = MAKE_TCGV_I64(-1)
>
> +#define TCGV_IS_UNUSED_I32(x) (GET_TCGV_I32(x) == -1)
> +#define TCGV_IS_UNUSED_I64(x) (GET_TCGV_I64(x) == -1)
> +
> /* call flags */
> /* Helper does not read globals (either directly or through an exception). It
> implies TCG_CALL_NO_WRITE_GLOBALS. */
> --
> 1.7.11.7
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-12-29 15:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-07 21:07 [Qemu-devel] [PATCH v2] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
2012-12-13 21:04 ` Richard Henderson
2012-12-14 0:15 ` Andreas Färber
2012-12-28 22:00 ` Richard Henderson
2012-12-29 15:49 ` Blue Swirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).