From 60303dbfa84a03ab6c2d5df40d58e6e9279b7bc9 Mon Sep 17 00:00:00 2001 From: SachinVin Date: Sun, 4 Aug 2019 15:15:39 +0530 Subject: [PATCH] backend/A64: support for always_little_endian --- src/backend/A64/a32_emit_a64.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/A64/a32_emit_a64.cpp b/src/backend/A64/a32_emit_a64.cpp index 360f7d72..1ac453cb 100644 --- a/src/backend/A64/a32_emit_a64.cpp +++ b/src/backend/A64/a32_emit_a64.cpp @@ -409,6 +409,11 @@ void A32EmitA64::EmitA32SetCpsr(A32EmitContext& ctx, IR::Inst* inst) { // TODO:Inline ctx.reg_alloc.HostCall(nullptr, args[0]); + + if (config.always_little_endian) { + code.ANDI2R(code.ABI_PARAM1, code.ABI_PARAM1, 0xFFFFFDFF); + } + code.MOV(code.ABI_PARAM2, X28); code.QuickCallFunction(&SetCpsrImpl);