From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41196) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cy6ux-00082N-Mc for qemu-devel@nongnu.org; Tue, 11 Apr 2017 21:17:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cy6uw-0006Q0-Cr for qemu-devel@nongnu.org; Tue, 11 Apr 2017 21:17:55 -0400 From: "Emilio G. Cota" Date: Tue, 11 Apr 2017 21:17:26 -0400 Message-Id: <1491959850-30756-7-git-send-email-cota@braap.org> In-Reply-To: <1491959850-30756-1-git-send-email-cota@braap.org> References: <1491959850-30756-1-git-send-email-cota@braap.org> Subject: [Qemu-devel] [PATCH 06/10] tcg: add brcondi_ptr List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Peter Crosthwaite , Richard Henderson , Peter Maydell , Eduardo Habkost , Claudio Fontana , Andrzej Zaborowski , Aurelien Jarno , Alexander Graf , Stefan Weil , qemu-arm@nongnu.org, alex.bennee@linaro.org, Pranith Kumar This will be used by TCG targets to implement a fast path for indirect branches. Signed-off-by: Emilio G. Cota --- tcg/tcg-op.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 1924633..abf784b 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h @@ -1118,6 +1118,8 @@ void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); tcg_gen_addi_i32(TCGV_PTR_TO_NAT(R), TCGV_PTR_TO_NAT(A), (B)) # define tcg_gen_ext_i32_ptr(R, A) \ tcg_gen_mov_i32(TCGV_PTR_TO_NAT(R), (A)) +# define tcg_gen_brcondi_ptr(C, A, I, L) \ + tcg_gen_brcondi_i32(C, TCGV_PTR_TO_NAT(A), (uintptr_t)I, L) #else # define tcg_gen_ld_ptr(R, A, O) \ tcg_gen_ld_i64(TCGV_PTR_TO_NAT(R), (A), (O)) @@ -1129,4 +1131,6 @@ void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); tcg_gen_addi_i64(TCGV_PTR_TO_NAT(R), TCGV_PTR_TO_NAT(A), (B)) # define tcg_gen_ext_i32_ptr(R, A) \ tcg_gen_ext_i32_i64(TCGV_PTR_TO_NAT(R), (A)) +# define tcg_gen_brcondi_ptr(C, A, I, L) \ + tcg_gen_brcondi_i64(C, TCGV_PTR_TO_NAT(A), (uintptr_t)I, L) #endif /* UINTPTR_MAX == UINT32_MAX */ -- 2.7.4