Check endianness at runtime to remove the target-specific
TARGET_BIG_ENDIAN definition.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
 target/xtensa/translate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index bb8d2ed86cf..36f069d70ca 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -34,6 +34,7 @@
 #include "tcg/tcg-op.h"
 #include "qemu/log.h"
 #include "qemu/qemu-print.h"
+#include "qemu/target-info.h"
 #include "exec/translator.h"
 #include "exec/translation-block.h"
 #include "exec/target_page.h"
@@ -1381,7 +1382,7 @@ static void translate_bb(DisasContext *dc, const 
OpcodeArg arg[],
     TCGv_i32 tmp = tcg_temp_new_i32();
 
     tcg_gen_andi_i32(tmp, arg[1].in, 0x1f);
-    if (TARGET_BIG_ENDIAN) {
+    if (target_big_endian()) {
         tcg_gen_shr_i32(tmp, tcg_constant_i32(0x80000000u), tmp);
     } else {
         tcg_gen_shl_i32(tmp, tcg_constant_i32(0x00000001u), tmp);
@@ -1394,7 +1395,7 @@ static void translate_bbi(DisasContext *dc, const 
OpcodeArg arg[],
                           const uint32_t par[])
 {
     TCGv_i32 tmp = tcg_temp_new_i32();
-    if (TARGET_BIG_ENDIAN) {
+    if (target_big_endian()) {
         tcg_gen_andi_i32(tmp, arg[0].in, 0x80000000u >> arg[1].imm);
     } else {
         tcg_gen_andi_i32(tmp, arg[0].in, 0x00000001u << arg[1].imm);
-- 
2.52.0


Reply via email to