diff mbox series

tcg: Prohibit incomplete extr[lh]_i64_i32() implementation

Message ID 20230822165101.72695-1-philmd@linaro.org
State New
Headers show
Series tcg: Prohibit incomplete extr[lh]_i64_i32() implementation | expand

Commit Message

Philippe Mathieu-Daudé Aug. 22, 2023, 4:51 p.m. UTC
extrl_i64_i32() and extrh_i64_i32() work in pair. Backends
can not implement one without the other. Enforce that
assumption.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/tcg/tcg.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Richard Henderson Aug. 22, 2023, 5:10 p.m. UTC | #1
On 8/22/23 09:51, Philippe Mathieu-Daudé wrote:
> extrl_i64_i32() and extrh_i64_i32() work in pair. Backends
> can not implement one without the other. Enforce that
> assumption.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/tcg/tcg.h | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
> index 0875971719..a6f51130aa 100644
> --- a/include/tcg/tcg.h
> +++ b/include/tcg/tcg.h
> @@ -172,6 +172,9 @@ typedef uint64_t TCGRegSet;
>   #define TCG_TARGET_HAS_v256             0
>   #endif
>   
> +QEMU_BUILD_BUG_MSG(TCG_TARGET_HAS_extrl_i64_i32 != TCG_TARGET_HAS_extrh_i64_i32,
> +                   "Both extrl_i64_i32()/extrh_i64_i32() must exist");

Just rename them so they're the same symbol.


r~
diff mbox series

Patch

diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index 0875971719..a6f51130aa 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -172,6 +172,9 @@  typedef uint64_t TCGRegSet;
 #define TCG_TARGET_HAS_v256             0
 #endif
 
+QEMU_BUILD_BUG_MSG(TCG_TARGET_HAS_extrl_i64_i32 != TCG_TARGET_HAS_extrh_i64_i32,
+                   "Both extrl_i64_i32()/extrh_i64_i32() must exist");
+
 typedef enum TCGOpcode {
 #define DEF(name, oargs, iargs, cargs, flags) INDEX_op_ ## name,
 #include "tcg/tcg-opc.h"