From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736595; cv=none; d=zohomail.com; s=zohoarc; b=SudG0bGrrWrvM7hm4z3DhYI1D1KzRizCuTmZFzPL/BYV7B1Yc06jYHdUEG5U/A1HPXLtQj7F3nLCiUm2eSqUcovXswaxV4HIJ+pp6iS71x6gCqJim7i7B8UiRqtrRQuAXWJxM1DpZMtMOJqqpc54clx6tvJBgQ64b+hvnHsEquQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736595; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yBU5BYbBYTZhZhoNqe8YB1loEJ4LBumSlubCfMjtGMo=; b=QIu6Wi0e4UlF/dBHX49leyFF1JSkCtzGhiOoyqiBJOFhODIcsqaKu0uKwaYMr17TcUIBJ9BJCn3aXITGmP+PQv/ELAUIFy+bYLBCXKwsQBYske2qbXr3bhBhbKpCNAiSH+X5jC/XBatx3miQGtxB6XF/dVWFVGebYiGSSYXUsn0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736595095185.84844419557282; Wed, 22 Jul 2026 09:09:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZVp-0002cy-0w; Wed, 22 Jul 2026 12:09:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVk-0002XG-9u for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:33 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVh-0001uR-7p for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:31 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFYGfZ1044156 for ; Wed, 22 Jul 2026 16:09:28 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjnu4u3nt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:09:26 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-52827090cc5so14718851cf.0 for ; Wed, 22 Jul 2026 09:09:25 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f8635c8d7sm5772150f8f.21.2026.07.22.09.08.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yBU5BYbBYTZhZhoNqe8YB1loEJ4LBumSlubCfMjtGMo=; b=lDJsQeHrWgqSLvt8 p/2Sj3ZBPeNGp8bOl6Pc4vqUWUZN3gMYz3pC1txpxm2s5NgLQDS0h/rzgZkmnebU vretved2Wdb83AjJxbBCFF9sSISvmqxUYaDH2FVfI8yAMGktmffuehVck3qWYrgz 2szpPwPKYd1GQnxcVMd1SGIwjZB2jlc4cLyKq3Gb6fbkmKYZk/nAA9TnK9EQsNFo QV3pB3Ohq0bNQFjZlB5o4gdlwebG2QUHNBpDpTiAaWO7k6dVFcF04HAffFauCcVR TQhM4jkiChQP4D3tAoIVypT4CsOfrWTSg2dc9z2DtqPWl8CZgIr9dduur/YhZmyR O4Qd8Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736506; x=1785341306; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=yBU5BYbBYTZhZhoNqe8YB1loEJ4LBumSlubCfMjtGMo=; b=d1Ijdt1qSaeu2zuE8fielgI0BK1WCxJdqiV8BQlWHWmN6CzyvDCyv8gZ19PiI/wHwz tweZ2Kky9GQ4VVejERfJ7zjBBx760Mcd/5kqYoJitAzmpJAToBhsu6QvFtkQzso/dY7+ A04L8MvhtMSurVk4BRfqDNigsVbcU4k/CRk8T9NcZ4Lqc26MBUSvnYCjozqmf2si5lpn Irbq0LTpF9KfPaBOGpQEJo0fT4Kv32W7ts1UJQbzWMlN2IyWVX7xgYwwTR+0lCOEUW1Y jS3NItI2JxVey35Tnd+1J+uEYSOncRo6j0DdUcsDz0IfwF4BQ8NHU7Og/S18zpG+ONJD hjhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736506; x=1785341306; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=yBU5BYbBYTZhZhoNqe8YB1loEJ4LBumSlubCfMjtGMo=; b=dRntNeYJRoKpgVzFqgG7OO2HPqVVIzC2AmEl9NKSQINNVG41bVJ3BaFqg2P1G5m6tO F8eUJDzKhoI6d0fQS+uYrMm2A3AU2uJcYPggHGosIyZ2jIPnhC4PlWWusx8cYtHIDEnn Xdo+c4XD2f4rYOBJAb16GWLSnQefPOHA6cRZTWQO9ewoD4fqy77dZQ8uvZw+FU9cV8CG yhqKyPlvKQwjePHbPswZ6HXN9Ap12XJaDx9fkkoxoP0izww8qz4WtBgDTfjQBAbnk79s BEISjSP51ZQSsIVzikoUw0YynFIvUfFyVSHiNvm1MLgCQqac1m7jAlD83++FrJtPk802 oBPw== X-Gm-Message-State: AOJu0Yxb/vHQqT7mV8BUrtIfADsIVU49OxiOJTpC8y6TcL75JuxP8I+T APXYXhuCDrOfbJrMC1Sv1xyZv+5gRGYSKKReOxMtN5bH0vo71beEvzKFaSwx2QIjXUE3X4Ihnbl AIEvGYI5U3wBSbGcDcnxjqiARd1k+Fzqm8iyeVien5tGmrsTwh0113FeowpzBWsySgw== X-Gm-Gg: AR+sD10vEeazo8OpY8fFMl+7xCghhWS347EwLXr5/meILnHy8xGM7Q2m9ElekO5VdcC byIrvdnySh6e21r6OOGsGIJO58wxsj0NGUsC6yoTklBmVGBeaiBpRwsQkhdhw526QplCVnLgIPZ xu4cIHMy3qg0wSrpK2nfzcn2Vo0k2yXM+HKcznq8XqzHYZrSUpfPce1Z6vtNPoOJDQsBl+7rTYy VQPDZTLsj5gwHbi2eX0IPsB6qkSFPBFhi7cDhmGXHH8K9Xqr7vW5WbJv6rwuCE7WF+RzrYgCDB2 H6ksMX4ZSlhb6PUBNL1oJcGjmFWmvNjv/1c/Mmi9vpiNA7G31C1rMajtKzsgYWzLnSSenLOECtK 3WmKY/bkDswnqW3/8nDonxIA4Pkl7eXQZLNruLFpbkjnA+FCF0BCgTqg= X-Received: by 2002:a05:622a:1f99:b0:51c:1f35:4638 with SMTP id d75a77b69052e-527a8178ae0mr49880231cf.21.1784736505486; Wed, 22 Jul 2026 09:08:25 -0700 (PDT) X-Received: by 2002:a05:622a:1f99:b0:51c:1f35:4638 with SMTP id d75a77b69052e-527a8178ae0mr49879241cf.21.1784736504690; Wed, 22 Jul 2026 09:08:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 1/7] target/microblaze: Set MO_BSWAP in do_load/do_store callers Date: Wed, 22 Jul 2026 18:08:01 +0200 Message-ID: <20260722160807.24031-2-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 4V6q4s0FuuUFzk2z6572Drxojsap5kuM X-Authority-Analysis: v=2.4 cv=KLhqylFo c=1 sm=1 tr=0 ts=6a60eb37 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=AKhSjZXal8q_C4yPzCIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX9QovVlPSlINs 70k0X9Vyy/0CIo2R+a/dL0oReBCxIVGuJKQgQ26pFwk4nSMpVBWUhA8KUIwZ/k4vcO5dqD41940 uHQ8JwRiXg8r52fJnFBxcmGLaRkkUXz4wLfLljwYCpefZ7wLX+KLmyMAvBJNYunAAzbcOBjQJwB QTDnIh2KBLESxTkRZ98pe9CiCp1zQ2xoU7807GPKoeqHW4NuYVruaWVrGqxQ5hkuYv13bD1kP9E fYD1sgSZmL4IconpsKuN0PNmrMDevWqx8OmzLPEsy6C5MwAkRl4C0nuVecMDBEbeiPqiaVi0nlU vTwaYvu6R2rx5TBmmdqmX1XiI9NkzJf6Dshy7ZiwNvWXB9pMHLXV7vgENNQnLzuBlNfqcl6vHGH 5KDRe9fwk0QmavxTQlh/zXfhycdoEJdeLD8dPdojvMXsa7J0q6+yGyKdGEnW15YAxdZuYJ5eubG /lkIiaXP62DEjnubC+A== X-Proofpoint-ORIG-GUID: 4V6q4s0FuuUFzk2z6572Drxojsap5kuM X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX5lu9jCGpILtE ECD+gNBnGeKDXkbl4xObMRue7Nc6UZW2UJD25UQ2/fWmx/N1JMjbWfa0VsBcehg3g7oVtm3q1pK LsHY6Sg4zS0w5L+e10BX/lZG4KhrWas= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736596731158500 Instead of setting the MO_BSWAP bit in the do_load/do_store helpers depending on a @rev boolean argument, set it on the callers in the MemOp argument. The repeated caller pattern will allow further simplifications in the next commit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 62 +++++++++++++++-------------------- 1 file changed, 26 insertions(+), 36 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 8b219afb5dd..623980d0af5 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -704,22 +704,17 @@ static inline MemOp mo_endian(DisasContext *dc) } =20 static bool do_load(DisasContext *dc, int rd, TCGv_i32 addr, MemOp mop, - int mem_index, bool rev) + int mem_index) { MemOp size =3D mop & MO_SIZE; =20 mop |=3D mo_endian(dc); =20 /* - * When doing reverse accesses we need to do two things. - * - * 1. Reverse the address wrt endianness. - * 2. Byteswap the data lanes on the way back into the CPU core. + * When doing reverse accesses we need to byteswap the data + * lanes on the way back into the CPU core. */ - if (rev) { - if (size > MO_8) { - mop ^=3D MO_BSWAP; - } + if (mop & MO_BSWAP) { if (size < MO_32) { tcg_gen_xori_i32(addr, addr, 3 - size); } @@ -746,13 +741,13 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i3= 2 addr, MemOp mop, static bool trans_lbu(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index); } =20 static bool trans_lbur(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_UB ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_lbuea(DisasContext *dc, arg_typea *arg) @@ -772,19 +767,19 @@ static bool trans_lbuea(DisasContext *dc, arg_typea *= arg) static bool trans_lbui(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index); } =20 static bool trans_lhu(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index); } =20 static bool trans_lhur(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_UW ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_lhuea(DisasContext *dc, arg_typea *arg) @@ -806,19 +801,19 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *= arg) static bool trans_lhui(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index); } =20 static bool trans_lw(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index); } =20 static bool trans_lwr(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_UL ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_lwea(DisasContext *dc, arg_typea *arg) @@ -840,7 +835,7 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) static bool trans_lwi(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index); } =20 static bool trans_lwx(DisasContext *dc, arg_typea *arg) @@ -864,22 +859,17 @@ static bool trans_lwx(DisasContext *dc, arg_typea *ar= g) } =20 static bool do_store(DisasContext *dc, int rd, TCGv_i32 addr, MemOp mop, - int mem_index, bool rev) + int mem_index) { MemOp size =3D mop & MO_SIZE; =20 mop |=3D mo_endian(dc); =20 /* - * When doing reverse accesses we need to do two things. - * - * 1. Reverse the address wrt endianness. - * 2. Byteswap the data lanes on the way back into the CPU core. + * When doing reverse accesses we need to byteswap the data + * lanes on the way back into the CPU core. */ - if (rev) { - if (size > MO_8) { - mop ^=3D MO_BSWAP; - } + if (mop & MO_BSWAP) { if (size < MO_32) { tcg_gen_xori_i32(addr, addr, 3 - size); } @@ -906,13 +896,13 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i= 32 addr, MemOp mop, static bool trans_sb(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index); } =20 static bool trans_sbr(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_UB ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_sbea(DisasContext *dc, arg_typea *arg) @@ -932,19 +922,19 @@ static bool trans_sbea(DisasContext *dc, arg_typea *a= rg) static bool trans_sbi(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index); } =20 static bool trans_sh(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index); } =20 static bool trans_shr(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_UW ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_shea(DisasContext *dc, arg_typea *arg) @@ -966,19 +956,19 @@ static bool trans_shea(DisasContext *dc, arg_typea *a= rg) static bool trans_shi(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index); } =20 static bool trans_sw(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index); } =20 static bool trans_swr(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_UL ^ MO_BSWAP, dc->mem_index); } =20 static bool trans_swea(DisasContext *dc, arg_typea *arg) @@ -1000,7 +990,7 @@ static bool trans_swea(DisasContext *dc, arg_typea *ar= g) static bool trans_swi(DisasContext *dc, arg_typeb *arg) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index); } =20 static bool trans_swx(DisasContext *dc, arg_typea *arg) --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736563; cv=none; d=zohomail.com; s=zohoarc; b=cT+SzmLOdd6i5zI0vFEVUkhMSsJE3gLZBS1nATui5ZiB9GCEfEv3/fHNxrkFojE7LPqPPyi1rYd66loRMIzb+UhshSFg+ncLYR0o8ZVb60zCOFDYLfcV09tjdgC1eRhsedFNGXS7rxEsSb86BA0uE/eMS0Hx7zSk8a0CYFRMKb4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736563; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/cEruVVgq7yuWUf9tj0PBEIzuh3IDcYS759ScHo1ykQ=; b=ef+8QS0S8o4rvP2mIRx7tXNwnRu/dudquYPtSO3xIwGOTN7DxbYh5FW2anzxJ2TEV00ba89047j1G1MM3hFoJ61X6CrzPGZZaiM5ntePi+3YjiqzhdxvvbMoSdYowBvdSwfHsYRn3xcFd/WHbRRX77i93SlI+CD39ljYKGf3RbY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736563626734.7397793536708; Wed, 22 Jul 2026 09:09:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZVR-0002JT-7z; Wed, 22 Jul 2026 12:09:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVL-0002I8-1l for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:07 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVJ-0001sa-6E for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:06 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFXo5M931297 for ; Wed, 22 Jul 2026 16:09:03 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fju229s5h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:09:02 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c110a3b6aso149822531cf.1 for ; Wed, 22 Jul 2026 09:08:59 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85c7880dsm7251067f8f.37.2026.07.22.09.08.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /cEruVVgq7yuWUf9tj0PBEIzuh3IDcYS759ScHo1ykQ=; b=lUShOLkwc0JYNxci dbjK3vRc40DqDBvTzLe7lVXtDgwaVQ50GWbn+agqAgTipmTg8W+6KH6SPTb+78fv LdycY2EbPIqEeOO7zpznkQUN9MalRqoZoVR4NBwbnHxBlCJSF5G2uUMXIzlh+KQR YE340Z8Zt8KNRYsT9EZTeYA4v1m+rUw9erlK0B67bgFJCNG3yyT8iwJ1gFL2EZDo Nhhb/njHUvNNZfFqoHrWATjZM1H15Vam5dEgJiD8bQpV+MgbOJt4Gsi+xZ72CKp9 bMaMhDlWTTPFRomE9SnddcDkbOrLpvyh5dNXTmJ+bh7wdbTg+RafAFk2sm96gH57 3/+h/A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736516; x=1785341316; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=/cEruVVgq7yuWUf9tj0PBEIzuh3IDcYS759ScHo1ykQ=; b=ZHCzHSSwx63Of9Dg0byYG6lpEKsxG7vrpcTPHHTC/vsP5UIY/+dYi33N5wGvyDck4Q X9PUmeJzR4P6CztAoDSRwkrhujnU8kyOUtqX/PjodNn44DFH/ChgDkn+wlsVz4ZpQsmc rspYPw3osaLeiR3GQZ1blOIR0tsYyUG2ZZoagDjxgidssxO9K7AYiJkIHQNbYMUTc6mz OJw+ATmvk1COqysXYiG2lAQrCFsJSO1PaJXaNrAbAqEB3xjjewy7I0RxtGFzCulJIdUb mnxfVLP4CG6/cPzChULKXTJ9Q6nADM9pFOzoEM1YADgaDif+e0Rrd5VTUWkhBMThnw3G AzFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736516; x=1785341316; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/cEruVVgq7yuWUf9tj0PBEIzuh3IDcYS759ScHo1ykQ=; b=XxxURDp8mNjtvjVfCNcMROG1YxJeRHu95MIfUKweQdGSPyIxZoTjO34XSuWfX7MDmZ lRQ0IyaDFgOjRkdzA3y39h4hFslV7KlvqV4np6v5BOrlMc9Dh7Gt5w3O+BVqqWSUlNAw YDTIWdYufBYPHW2OstJ3Ahxof208V48op+xZxyjRXbyZJGMe21dpZFNEhKoW0fM5RCOZ pLUsOuJCe5hF+mvlIH3Sy5nZk06Tjdel4cSeljAGqjqnYKqUsl3c3fIkQcBwQtEpEZRK 9Sx7FkTiMxlWka4KRTyj9K7pHpnNVtoyYywrYRU2wcozW7rm1UowHNB3r8LwDttHSkOr Df3A== X-Gm-Message-State: AOJu0YyImLXLiltb7V1hLKiHYt4Ble7d24OvP92RTenSI0XhRaO1JjCg Ixb0/Y2woKJl8fuLTDbBepJjAUigUb+tXAlfRSULCjiVjT3IKwvmfjX4HHl4y2Ydh1fDEU4XjR8 o55xTRkdwUfsb614gvJ9CZQhXX0bVPsb2whJKKuydmnuHZNx65n87/oc+TT9OOn1wfg== X-Gm-Gg: AR+sD12uuRrjBKa66XwKAhSd/BBXs7YBQ7jFRY3HMncm1KfgPQGjykW/Hlcz5CBD4Dw yQeTDgkjYmtmcNFPpaV5GCV+JSBEkOIsMNlG30wnVvRZnwjfUh47PG/cK5eSLbN/VslEyScbsNp tIDULSpjXhA6LbCf+iinbr15KzI1l4Y/N8nUhcZlPE+Ga0CtkDPc+t6L7VKUcjTLiZPoLgi9rMe x7unjaJzmRlNU4qxclaLdpwMJa6QkucYJOYwzY+gPeN5v31pNXfn6Pn2lo85Yybq2UrObPm4KsP pLQo3aYjiOb+TGZai5TpHi4deWyHEJHXzoqVxDQawO5pIKXWDryd7LgkNzMjSSyMwPvm77B7bBL MtwB5E4PySKtc56GO8zjayZHXnD4htqIZVUHduxVpTyVrkChFhFy2gTo= X-Received: by 2002:a05:622a:5cd:b0:51c:1291:911c with SMTP id d75a77b69052e-5213d2b728dmr222076611cf.14.1784736516277; Wed, 22 Jul 2026 09:08:36 -0700 (PDT) X-Received: by 2002:a05:622a:5cd:b0:51c:1291:911c with SMTP id d75a77b69052e-5213d2b728dmr222074131cf.14.1784736513216; Wed, 22 Jul 2026 09:08:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 2/7] target/microblaze: Use TRANS() macro for typeB load/store opcodes Date: Wed, 22 Jul 2026 18:08:02 +0200 Message-ID: <20260722160807.24031-3-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=X4Bi7mTe c=1 sm=1 tr=0 ts=6a60eb1e cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=iLq48__BculcxcqvwmoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: FF4zWAqv6l7zxQA1xKW9rL3YKxUtOd7P X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfXwhozFXJxVKfo zyhNmYuGOxbT7nq7wcDDwqQTbairtYdsbQGivbY7/m+x1SqZQOq6z5YYvN0PCQncFbiSfUh3hUr UtE5nPbc89ahBYOKAw4WTlNtHb2Wld4= X-Proofpoint-ORIG-GUID: FF4zWAqv6l7zxQA1xKW9rL3YKxUtOd7P X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX4vnZyi+G5Ske 0CECSrgLTvqQYbuHUeeFaFiZwesmJSpyguh8oaVJTegrLZDdkojyYdJCMIWe3bbwpSbjMF+gkut LmmZHCEUBXUUMU+uP0Jq21vxvU/59kcenHu1H5JwwyXYoOK7DKIolUlTcVg18nwitDwmqpXhgHZ mG4ltZbri5i+LKSxZ0WbUO51Y/gwP9naFJ0ow0RCvrX5Oq3LkyF3plFjR5IUsG9w5vZhkAhsNk0 tIMsPxZVq6lLV9DROYB91+JlYzKVhjQA09E+0+2e9vLu+/IXQCkyEVZ+5LG0E6eP4QqwsoTudN2 EFn6KnnTgJ4MfZePEvKiTub18ZBxhxmcApWbkxkxM9Qd63jga8SyYEWTYmx7+hFxf/A4QKHf9Rq eXWKTiBVMIwVDLmzHlBIeHyPkJxUfdoDMlH35d5fx3etnygSBMY1B/6nbx0yeJE1d0C7UVg0BHk VFJDPBlJpzz9TcXeDIA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736564626158500 While being a no-op since the TRANS() macro expands to the same code, this is less code so less maintenance. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- target/microblaze/translate.c | 64 +++++++++++++++-------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 623980d0af5..a2a7ee8b9e0 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -253,6 +253,14 @@ static bool do_typeb_val(DisasContext *dc, arg_typeb *= arg, bool side_effects, return true; } =20 +/* + * Helpers for implementing sets of trans_* functions. + * Defer the implementation of NAME to FUNC, with optional extra arguments. + */ +#define TRANS(NAME, FUNC, ...) \ + static bool trans_##NAME(DisasContext *ctx, arg_##NAME *a) \ + { return FUNC(ctx, a, __VA_ARGS__); } + #define DO_TYPEA(NAME, SE, FN) \ static bool trans_##NAME(DisasContext *dc, arg_typea *a) \ { return do_typea(dc, a, SE, FN); } @@ -738,6 +746,16 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i32= addr, MemOp mop, return true; } =20 +static bool trans_ld_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) +{ + TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); + return do_load(dc, arg->rd, addr, mop, dc->mem_index); +} + +TRANS(lbui, trans_ld_typeb, MO_UB) +TRANS(lhui, trans_ld_typeb, MO_UW) +TRANS(lwi, trans_ld_typeb, MO_UL) + static bool trans_lbu(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -764,12 +782,6 @@ static bool trans_lbuea(DisasContext *dc, arg_typea *a= rg) #endif } =20 -static bool trans_lbui(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index); -} - static bool trans_lhu(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -798,12 +810,6 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *a= rg) #endif } =20 -static bool trans_lhui(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index); -} - static bool trans_lw(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -832,12 +838,6 @@ static bool trans_lwea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_lwi(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index); -} - static bool trans_lwx(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -893,6 +893,16 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i3= 2 addr, MemOp mop, return true; } =20 +static bool trans_st_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) +{ + TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); + return do_store(dc, arg->rd, addr, mop, dc->mem_index); +} + +TRANS(sbi, trans_st_typeb, MO_UB) +TRANS(shi, trans_st_typeb, MO_UW) +TRANS(swi, trans_st_typeb, MO_UL) + static bool trans_sb(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -919,12 +929,6 @@ static bool trans_sbea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_sbi(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index); -} - static bool trans_sh(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -953,12 +957,6 @@ static bool trans_shea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_shi(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index); -} - static bool trans_sw(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); @@ -987,12 +985,6 @@ static bool trans_swea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_swi(DisasContext *dc, arg_typeb *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index); -} - static bool trans_swx(DisasContext *dc, arg_typea *arg) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736599; cv=none; d=zohomail.com; s=zohoarc; b=Mts10sgfVoSmeRhlwpReMBY4R26LQkF27oCTqwjPfuDQQDAyxsVHDU0vzhI22/0y2L8ONL0MwjAI0/d7dV0A532F/HYmBUWHyGZv3o5z7VyD5cqZyOrxGjMC27V8JxGl1mkzCrd6qI1fUMYGJ2NauXj1Icz7Bn8G9bZf5MCQbNI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736599; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SvsO42z+fMRhgnR2H/WYmxk0aZPrJF+vcCqMZiY66to=; b=dlBSuOMrNNR7W7e5GvvhPp3urBNfU2LBcVeBFZSKAgZNLlyMc2LI6arKEIPzwU5+lVRelrFoq7EAypT9Q2nbswrXElt1mYJeS3esGVOw3rJBG2NKomqilCA7AuFIcYYV94CdARiB9HleUMGfDypRbcwxe1ttKz+tCZJYZmZrtx8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17847365992531006.6404226757504; Wed, 22 Jul 2026 09:09:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZVp-0002eD-Hf; Wed, 22 Jul 2026 12:09:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVm-0002Xo-AH for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:34 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVk-0001uc-2b for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:33 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFYDx11044081 for ; Wed, 22 Jul 2026 16:09:30 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjnu4u3rx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:09:29 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1a97644aso47434581cf.2 for ; Wed, 22 Jul 2026 09:09:25 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495653731b2sm159078625e9.4.2026.07.22.09.08.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:08:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= SvsO42z+fMRhgnR2H/WYmxk0aZPrJF+vcCqMZiY66to=; b=QhNm4FOAnzDpkrUs k0rc06Wof5z6W2rZ6GxsDws+Ga4WUBW+0swG/NXdoMrBxKR60mLkN2NBrc4E8UgI 4UW1x8FUmq8TBPfEoy6jXRxBQ8+dmnbeC/z/UgC5ASvAJdSiIrTA3qVQCIMoRHEJ LIBYi52oGNAS8BShg3tGkPzTAduvfWe5K68+ro70kkmZvXylePg4cpq0Sft4KO+A BgHZwo23W8w7aNPUpCIdWIwzyXNGwKJPHFrIAHmeV6XJX4pv44MfRN1843L6wk11 ftUC/u0bWSiBUCjANuINPTVf6zvXeVnpcUnykc5zpXYshvevp4ouVNJxkfLn1JMT 1DVJtw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736525; x=1785341325; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=SvsO42z+fMRhgnR2H/WYmxk0aZPrJF+vcCqMZiY66to=; b=QKKIZmKCTxVwHKdDhnL6pzWe1U110VdOuOxujxNpBwf7YX3nECDw1WVAZ9gZeNU5Bq ENg8/vAaaMUbZrKVsmbEm8S3QJh+Qq+pFB02921cNo30XxEMqdarPpaYr4BgHfj8l+FV LbAFgFJEutm+z4CUziNaF83PNIZwD18JVcFRubMwNcFb+fhZzos93zo0HsfAO2mnVoF/ 7PsfSntrdhQMQsjZAWV7hBmpcD7KsZAC2nLgHojb5dWS0mbJnkMWOe/FYitoramrOQpi B8Fq0vKv4caTD4MousIQ60KJhoi7+LaROEb8HzEcq9mraSvm9oiLqgXksAvMjcjIWshr k6ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736525; x=1785341325; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=SvsO42z+fMRhgnR2H/WYmxk0aZPrJF+vcCqMZiY66to=; b=WQMsQ0ZtI1Dy2sqewDWpg4d4JDTIWaIWa85lYMeCve/RSFkmIw1VGtvraR4wfMm9XF f9qYPFfXn/OjXqZzmNW8qvRFky10en6+mlaSrw1NskXUC67AWmvELXcrWitGdzmzmYqL J1JvLFkrohPorZD8J1Qax76y0oF1snBYzBV+XEq9gv7rS6Nmb75vC920fHHYvHxX5Id/ P50wdeNSeXhMlEFiALLkqW9xHJeTSBcQCGGdaXDFDTNHK6/ULPg/3ge+15NQUoKPjDON 8N+4YO6qqtiTctW8hX0lwq7DMtmhsBfnsAcFvYACLu4KisEGgFhhTMkuxbyFOKNVap3K 1xPA== X-Gm-Message-State: AOJu0Yyb60U82vr/6uDcu6Zs3c2UJ7LbRF1Sn+389IppbFdSUIgW7Dq2 EPRox5RqLiq7d7wyNF5bUn3FuQtLeMg/IPzm4t9zh0fhk73oQS9M8ipwhw4XMySUcMHEiDWGNJ8 AX+6dS+BIdFTqeSECfcdJ5isSKvszyGE4LWDye/0Ai+shcgeQLGh7BsVV6LMjZrZe7A== X-Gm-Gg: AR+sD10bAk/O6kv06TsmEbhXJnqKlkEoB0Gd4vb0grwSAjI6R8UTUDMf/FPfkkFuX+N Blw2HTvpIrLoK3bw7nvkDwJdeO8i55d7aeFzusZgAGzI7NeUsE+/f31RgzGP4XntYbY60GVvGoE PZQsAQuSdN/9L9/JaTN1jSvI/PSxtVZeiJTYf/A3qzTtS2QnBH26hg6PjghZ0l57vE/p2IZdoD6 USeSZVGQlFDoE4lfjoeA/g8YpZq22DE0ofqKZZaX51zjnKM5TDmjdjl2+IDAIj+76b8wRcoa2F+ 4C4GLHHZtEJNHP1X7oI4lbwTlJZLNeGCQ1R0/hWH4kiO1b4O1Rr98eum/f6CbeK8p25o06ahyuI gziGyzBqn6R742z7yOsKvVhTqUFBCtLfR3xitQsD4cFJROzLokrYqCqM= X-Received: by 2002:a05:622a:124b:b0:51c:168d:3ae0 with SMTP id d75a77b69052e-5213c007103mr213145901cf.1.1784736524741; Wed, 22 Jul 2026 09:08:44 -0700 (PDT) X-Received: by 2002:a05:622a:124b:b0:51c:168d:3ae0 with SMTP id d75a77b69052e-5213c007103mr213145411cf.1.1784736524296; Wed, 22 Jul 2026 09:08:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 3/7] target/microblaze: Use TRANS() macro for typeA load/store opcodes Date: Wed, 22 Jul 2026 18:08:03 +0200 Message-ID: <20260722160807.24031-4-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 7deEJz30sGP5NUAMndLpvKGOosJyHFxh X-Authority-Analysis: v=2.4 cv=KLhqylFo c=1 sm=1 tr=0 ts=6a60eb3a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=y_U8KOlz_unyMUuETsgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfXyY1lJQtm7zGk njtt2lt0WIJ0Scq7CrPGcQF3eSw0Q5jbn4DKUhN6W88ToLk/x/tYSON5+t4hY2PN+sqcWySsbd+ 3y3t8L13NCfvHPTVCzuEGZJ1FBozJ97eck0sGNhf3dffCVRF4Be+PXW+0/nn5ob/MjhKani4Z47 htppLYqNylU3Mdx7Osl1BxKl5I6wZdhEJ/HkwVyre7jTUMBcU65tU7+l8kINFcuJoXjFQIWYc57 CP00scjHe6iB/nIjubacNlDZhBFPe6rkhMpemKjn4F9XcVGehJpleXWHbb0jrZAWPT7mS91mQtD NLdNxsHRvKtwvv8BkyJZCbHWlC2iUMoxS8Sna6h/JsJ6FYP5x4JogBeIUyWtpekUUjoXU0e5+A7 ZMYPXQC91ozk1XrxliioX6uXc/ZrV9Db8FomacFQt94UjEB/LJDJD1p3g5X+4/1TGwphBFl0fRi NLv4n7cH8g/5Msl1Epw== X-Proofpoint-ORIG-GUID: 7deEJz30sGP5NUAMndLpvKGOosJyHFxh X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX1XtYPnksWFky ESFw5aCtMYIETuuFE5H0OPHtnEp/9YOVcvnFwQYiA26AITdyCTQ0nc26r++LCmh9iiTxd//6s96 rcLrAaJXSD/YRuWZZ1CHufU63tkP6+A= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736600732158500 While being a no-op since the TRANS() macro expands to the same code, this is less code so less maintenance. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- target/microblaze/translate.c | 96 +++++++++-------------------------- 1 file changed, 24 insertions(+), 72 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index a2a7ee8b9e0..3f2de375d97 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -746,28 +746,28 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i3= 2 addr, MemOp mop, return true; } =20 +static bool trans_ld_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) +{ + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + return do_load(dc, arg->rd, addr, mop, dc->mem_index); +} + static bool trans_ld_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); return do_load(dc, arg->rd, addr, mop, dc->mem_index); } =20 +TRANS(lbu, trans_ld_typea, MO_UB) +TRANS(lbur, trans_ld_typea, MO_UB ^ MO_BSWAP) TRANS(lbui, trans_ld_typeb, MO_UB) +TRANS(lhu, trans_ld_typea, MO_UW) +TRANS(lhur, trans_ld_typea, MO_UW ^ MO_BSWAP) TRANS(lhui, trans_ld_typeb, MO_UW) +TRANS(lw, trans_ld_typea, MO_UL) +TRANS(lwr, trans_ld_typea, MO_UL ^ MO_BSWAP) TRANS(lwi, trans_ld_typeb, MO_UL) =20 -static bool trans_lbu(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UB, dc->mem_index); -} - -static bool trans_lbur(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UB ^ MO_BSWAP, dc->mem_index); -} - static bool trans_lbuea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { @@ -782,18 +782,6 @@ static bool trans_lbuea(DisasContext *dc, arg_typea *a= rg) #endif } =20 -static bool trans_lhu(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index); -} - -static bool trans_lhur(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UW ^ MO_BSWAP, dc->mem_index); -} - static bool trans_lhuea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { @@ -810,18 +798,6 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *a= rg) #endif } =20 -static bool trans_lw(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index); -} - -static bool trans_lwr(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UL ^ MO_BSWAP, dc->mem_index); -} - static bool trans_lwea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { @@ -893,28 +869,28 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i= 32 addr, MemOp mop, return true; } =20 +static bool trans_st_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) +{ + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + return do_store(dc, arg->rd, addr, mop, dc->mem_index); +} + static bool trans_st_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); return do_store(dc, arg->rd, addr, mop, dc->mem_index); } =20 +TRANS(sb, trans_st_typea, MO_UB) +TRANS(sbr, trans_st_typea, MO_UB ^ MO_BSWAP) TRANS(sbi, trans_st_typeb, MO_UB) +TRANS(sh, trans_st_typea, MO_UW) +TRANS(shr, trans_st_typea, MO_UW ^ MO_BSWAP) TRANS(shi, trans_st_typeb, MO_UW) +TRANS(sw, trans_st_typea, MO_UL) +TRANS(swr, trans_st_typea, MO_UL ^ MO_BSWAP) TRANS(swi, trans_st_typeb, MO_UL) =20 -static bool trans_sb(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UB, dc->mem_index); -} - -static bool trans_sbr(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UB ^ MO_BSWAP, dc->mem_index); -} - static bool trans_sbea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { @@ -929,18 +905,6 @@ static bool trans_sbea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_sh(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index); -} - -static bool trans_shr(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UW ^ MO_BSWAP, dc->mem_index); -} - static bool trans_shea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { @@ -957,18 +921,6 @@ static bool trans_shea(DisasContext *dc, arg_typea *ar= g) #endif } =20 -static bool trans_sw(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index); -} - -static bool trans_swr(DisasContext *dc, arg_typea *arg) -{ - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UL ^ MO_BSWAP, dc->mem_index); -} - static bool trans_swea(DisasContext *dc, arg_typea *arg) { if (trap_userspace(dc, true)) { --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736610; cv=none; d=zohomail.com; s=zohoarc; b=Z5w/XOVhlSoLyHgBmz8dltPVigUlybrrm4/iYmwn4mQgmSy9fMn+YlbfEpangy4lJ3fK6gh6WbVCDQmGlpW7bbtNnpNL9S1ZFx+5sguV0Bu/TJ1gOm1N/5GTujmX7e4ofFRPv7IEZoYqXNbpIxAgXDDwl1fdi9cunGLiuhDTbL4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736610; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Cfw08zrS/HQBV5FgdUQoKFEqIatiAJuiZqcnB2We1EM=; b=LjxUef59uZYCN6mUUieCAd34kmL0Zdtuf5W3+b9UB8HacsYEMUkQ21aQyeWwGhUIz8lcEdUadACM1FipeRX+o7K7DK0NSYnPVWghvGMJ1nb7Kf41BNFBOGS6rF/8lifQmBcTCl1dleHaOX45wZ9U6JW+4hNX0uRMouYuibWifLg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736610710512.0103394852564; Wed, 22 Jul 2026 09:10:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZVt-0002hO-0b; Wed, 22 Jul 2026 12:09:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVr-0002gQ-4t for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:39 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVp-0001v3-LS for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:38 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFYBS51260632 for ; Wed, 22 Jul 2026 16:09:36 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjuu79fgr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:09:35 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-5174a23afcbso117412841cf.3 for ; Wed, 22 Jul 2026 09:09:34 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4956b030a64sm57062335e9.3.2026.07.22.09.08.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:08:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Cfw08zrS/HQBV5FgdUQoKFEqIatiAJuiZqcnB2We1EM=; b=YKnoZehN3QcxntIp npaRkFJo+pCIdP7PsSf6aiU608y8m57DQAHzAeEDeXH2TNcdi1MkmYUHyNdiptWl c2rjEICo0B3nIa/yUqq7yrXH2JJ4uI0jZjVmvaSL+0iY7vsLnQkGlSYyl6oIsyWc Cm8D1GN10DsFEjTLHZ0Tm177Onhq2ILU0P0IYY4hMsBBu2GUasLKH+ek3xsfi6mN ZzRbhMqg5016ynytOnN3BlYetZ2Yvx1qh0u7i6WaR4WQ1Q3MNP5Ql4bjAJ9zwrqr Aprsn2U3TlyMa3qwVkTcCfHnfJmWysDPQpfNLWr3E+MX5K+hWggEUNNnyaS1aM1R M4QdBw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736536; x=1785341336; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Cfw08zrS/HQBV5FgdUQoKFEqIatiAJuiZqcnB2We1EM=; b=aYDqAyuGqKMhxams7UD6WuAbDHhwV0ndGFFafXE61GRX7pia/SyOm/wFIT0aFJECjS +nVXWNI17a/x2rJ9HY6DAJcp/rHYvgEL/MegpenDlwljEUmIy5pWlW0Px41ei6/EWq1T cGKxz4V89Aif99uLHsWDFUMjz8VC7bQm3h1JK5iLqe/NanktMmXGxx1uJotMyVkQn6x1 z3NpmV2U0cscvOF50p6zcjX1WmHy66QQaIQb4ou/e59trfkpxCV8lHekzS7WOt67FYUo Mv0Py8osK7yxxkNg1Ll9ognR3/+YmA8AxIg5ECaVyu8XDxR9v1Cy3+zEmr89xlz5LdFA dR+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736536; x=1785341336; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Cfw08zrS/HQBV5FgdUQoKFEqIatiAJuiZqcnB2We1EM=; b=ZwC71ZqbkQ/pqtTmGNkZXGqMUs4a0u3T2Bcp0oh31zunVDix07Fugf8Ksh82HMdPLQ ZWhV0nficwdSEFBhvk2hXupv97am3XsAKCJBdlO+g1dRLMRmRaKp84eZkKM8m5OTG4oy cv/whe+ezYAxRNMIet89RRaHmHyVkrIo3L4gyPQNAni3gX1EcxpqtzhKZ7Yy1ATEsr8F pxR3/nM1r39vhetQBm5u0P6nF4XaU1P0Fy/k/tXxQivFU/HF9FCSnllMBoGHDoBXxEgz 1foFW6Zlyh8uwUaH1MXYyoxmK1+aOJYwMNcNcqo9MO7CgHJkhLL5+t87LVMLyKPEdGLF qdHQ== X-Gm-Message-State: AOJu0YzxGauo9gu2bbfXr0K7kef1yqkRg6hqHnyZoplgDdV3MBZSWMVD H7N+viWpmWDUU4/hKNPqOk69GB1riMWzrn9pihLuQgR2VwM1BLOx4u+NS/Yp63NBalhnDYr6RH0 SvcXxEeesf5SwW0E+1W8FjhTO5svoO3xDkNfUftax70rdT9HpvBw9ibsB4BKx4qT4MQ== X-Gm-Gg: AR+sD12w1N/RYiG3k6J2dkONjvnLcf4wr+uvvoLXiX7fcx2uidfB1aD+Cxaf+u7zSNo roHy26FE5/VZ6kv0XPFfgl05cl62vCPsah8i6uahN5ryaNyazKpd3yp/d0Pa4uxI+X8N4E9cpI2 8Q4S2hIIr+uBKtFr/MqQcLRXXDgmuxW1ISMYN26dDU3SGguPC4oNFd3B5OhFARNVfWWgX/NCoev Avn+ELCPWMTfs/AkOvbWXA5R21DMUvXNbPo7i2SYkl3QHp6kmsugELg8eC7ToMFjPeHWHDrHgTD JeRO2/KmGFjOIclfWU98CDuUxNiVcWKJQzc/QImX10vmgICLEgQhryLvBJlKEumRtbE8iAARLo6 nnjCw+0LnY2pQwi8QfJKpt1wFxeDqER9E6ZGgiY7uEEvVTxdELJHRdAw= X-Received: by 2002:a05:622a:11c2:b0:528:3a24:f396 with SMTP id d75a77b69052e-5283a24f6c0mr5320371cf.73.1784736536235; Wed, 22 Jul 2026 09:08:56 -0700 (PDT) X-Received: by 2002:a05:622a:11c2:b0:528:3a24:f396 with SMTP id d75a77b69052e-5283a24f6c0mr5319321cf.73.1784736535198; Wed, 22 Jul 2026 09:08:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 4/7] target/microblaze: Set MO_ENDIAN in do_load/do_store callers Date: Wed, 22 Jul 2026 18:08:04 +0200 Message-ID: <20260722160807.24031-5-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: eUoJUA1tUXNJ3cno-ZEHVwziSVTYTGJV X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfXz5gN83OBZXaV bu1qOCZARJPpBwsA2pbxd95WINzvgJ8x12DKlw2nHy19hURlnF3EnQ4q3VvscTvKNx6pNpojCFo v37u4jEZj0YUKn6dyhtnKlII9mpJw2I= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX7BTQXFxteDAk tdAzPMe+jfu6B0FXwnuF06F9HEcSsKxpLLb+Q2HgYyLtjsWYP0/HK1868ebhoZyZ7JpR2WLaY/M OSDA0JPXepuT90ZdOPsbG8fbVxElxKhNF965FhuA3+8M+9WajPstf/+/fzkuZEla0aATvETHoUM A69QONf1s7MoTVgaa0gx4pAnTwxi+T1OCa2ekWI3BSGN7GyhQH8U6yl4n/Ifo6E5OrgbnoYQOh+ 8yKj/YwG+UJ16sKVLkpywXo8mtyTIQ88myxcZGi8hyCctskQPAoEXfxqyY0jQRw++FNl9YAeFfe pQ+Fq1g/+uzor3GrcffYWrxRxhJoKZYyM+BA18hYpdpjrpuGX6xJhPkY575R0fvmakGwekzIFYf O0YlNqCYxha78S8R3b/kXplw/IBt3aCTN4OyosyJetFiK57ktoXsuWsdVeaKZcTPea7C7Kl5EKS eY23qluhTi0snTVmieg== X-Proofpoint-GUID: eUoJUA1tUXNJ3cno-ZEHVwziSVTYTGJV X-Authority-Analysis: v=2.4 cv=JuTBas4C c=1 sm=1 tr=0 ts=6a60eb3f cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=lN58bEdq_bzK_G3D1aMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736612778158500 Again set the MO_ENDIAN bit in the caller rather than the callee, allowing to further simplify. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 3f2de375d97..d4826981913 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -716,8 +716,6 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i32 = addr, MemOp mop, { MemOp size =3D mop & MO_SIZE; =20 - mop |=3D mo_endian(dc); - /* * When doing reverse accesses we need to byteswap the data * lanes on the way back into the CPU core. @@ -749,13 +747,13 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i3= 2 addr, MemOp mop, static bool trans_ld_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, mop, dc->mem_index); + return do_load(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 static bool trans_ld_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, mop, dc->mem_index); + return do_load(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 TRANS(lbu, trans_ld_typea, MO_UB) @@ -839,8 +837,6 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i32= addr, MemOp mop, { MemOp size =3D mop & MO_SIZE; =20 - mop |=3D mo_endian(dc); - /* * When doing reverse accesses we need to byteswap the data * lanes on the way back into the CPU core. @@ -872,13 +868,13 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i= 32 addr, MemOp mop, static bool trans_st_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, mop, dc->mem_index); + return do_store(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 static bool trans_st_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, mop, dc->mem_index); + return do_store(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 TRANS(sb, trans_st_typea, MO_UB) --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736575; cv=none; d=zohomail.com; s=zohoarc; b=lmADLqPquLnQrVb6tesRXYGKhmr5rPvZ9DJQo3Ibiq8B3lXgmHT5XrkAxl9A5iOVw9Cczc09n5wuE8PoQiOMsfoyVPqeVxRZm+KOT5UenU9LLHcRqvbAuOe0KX3GaNZgS2MNlikuAo0CjrSaktggAcaWErLSWV7sOHtwpyedkx0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736575; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H6F4c6ZXZ7/13bNnEfzay2q6tLuwbiq/PA7q9gycG5s=; b=TCiUSHBcj/VarcpNNq168PtrdZMdVyeLQv+158vm06UWYWJauSv/DdV0VQCcu/qgff1znbgw/2kmCeFy6/QgfbJUNtO3HPiDExVKH6VZDtpFUMp1lDarsy18ZjbQICK70oOkHgaDHDgkDm8hEqEcrww0y6BQ3MH92gTMSMoSrW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736575741194.71404621642114; Wed, 22 Jul 2026 09:09:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZVa-0002T4-Ui; Wed, 22 Jul 2026 12:09:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVP-0002Jv-RM for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:17 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZVN-0001t1-4O for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:09:10 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFXvng1176064 for ; Wed, 22 Jul 2026 16:09:08 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjxm10sk1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:09:07 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1d137a68so347851951cf.3 for ; Wed, 22 Jul 2026 09:09:06 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4956b5e04e9sm43116425e9.2.2026.07.22.09.09.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:09:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= H6F4c6ZXZ7/13bNnEfzay2q6tLuwbiq/PA7q9gycG5s=; b=QXNps4d7pC6PXsUK XtX06PwV3nrpLRKG1RSMwBNdca+wIrKtMRgNPsxdwf7BEI8yhI1sjTcXZOUpCcP9 J6lxTa0PY/L3eT06N+IeFCTb5J52Eh71me2EgnEb4uW+GzJTYpSinjRZI3oncPhR CtVWiQtU4gRz+mtlnljT/t/juY1K0wsUx14hj/Jiddl1D9wHgrEKgOAB8HyYtwAP ik9kc5T9LsAUaEmSrLfcoXGcDD90tfQ18UfurGC5J8X4dh88QuZCvviN6frxR1m1 ktEBfF6bZwhhjnR0GbRhB716KMfTU6OxqMotdKCwXQtRDYxshFPfH3jBh5grb46c isXkwg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736545; x=1785341345; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=H6F4c6ZXZ7/13bNnEfzay2q6tLuwbiq/PA7q9gycG5s=; b=hpgppU4Ij+uplrldybL1plWNQyY/fgW6Gx+WacF60IY2cfEk7wCnUlIB+UMhsdaSh2 YAg8rmOO1e3YE9MhGYnhfUCbiICi0N3q5USzu4mkbn5pyy6YIkGgG++0dB5hlQ0V2FYQ r6kz7cWEUlmOAD7RnAkbWed07Aa3ALymoJuf7HLUQkxi0d7YriqZPWswNMzFrVQUYLAF JjyQjSPoZWv1jslGfHOt7mYarYpuj2jh54eG7iF9AI2/SOE6ksFEeO5t4Sn7DHo8PYbM hRA3KQDpJ0Xb0q8dLsjq+338zgZhRt7O+9yU0M03BJdPMYBmq+YS9p3kUywNSYdj5Hut rXhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736545; x=1785341345; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=H6F4c6ZXZ7/13bNnEfzay2q6tLuwbiq/PA7q9gycG5s=; b=J5dN5ENnws3lVuqRjh3V9klVQkybXs7Rcuk5E6798nqz/eL1kVWqnEhlNqyKrobQ1v nP328PSCNZgjRz2uBva+e7sZeNXbqi/6dmwWFybTbUcG0ndEsLBaNkK5V2gZO66XtuZU wraIToWR1qbfcrb7fDH/qf/AVR8HcwZLMVbMsqotZ9TUB69lSUy5MDNNOfo6IN8GjelM f2xOZAhhWkUeKhIG7QYrkch5hyR80CSjj8mDhTV90UKKrrT7krRY5Tjged68PpLGdcm9 hvnTT4VA4GrB7xX7LEaJBa7zSxWHdCPNZS7w5NDaxl97OxZzNhHmGcY3b11sCkbsfNE1 1kkQ== X-Gm-Message-State: AOJu0YxUcGGKZcizjKEXrSSENOhEpyTaIdYonVCcKXpZZl9pJ48hMbvX 1y/GNYYXEgvH/2rPv3Q8h0ukfr1nhkbCcAbxSGJk3qr6V/h265mVSiJ/Hs3BoUhNlW05JexVkEe w47pif9+3PJRGYvQBJkTeSElEnZRSgQ6wQrHFppRZK5KC1CNk+r/ne1C28S94DbCGFQ== X-Gm-Gg: AR+sD11/wRL81zUtckVymVx9gq4WHjCAVHpMF0lty44hKrzpULwvF9rW6k0XSxWzdyx S3xvWvr4gqp/cqISBtk45XC9pgqqXbR/bYkXs3LkjKiHMuBPSDlTwyCcOQpoTs3F3c5sKfy5c/X SRbQR/63xPAoqJ7PEYi4KKkTyRjmekqCYWAIEudCgHcFWa0BNdmWzcoc30Jb40OE2Gn7I+hRJ2w CO2oqwvS6lRYK5vUlPIsHKt/+ZRFLRSlSycesBKoxczW4eDSUTQwWVvTDwlvA4pcz3VyNk3JunD OPS7DzKiMD/ipaqGCmv2pcSy4w9uVTKhhDJH+qyOQGyVRhJVsBo+5zin5zGoUUdPnEhy3peE97g kdTKx96/gdPQr+UOzMMW1dVsCqCP7EDXnUWOCnYNeqPUZ+OOIL+O2qZM= X-Received: by 2002:a05:622a:11c8:b0:51a:8eca:78e3 with SMTP id d75a77b69052e-5213c8e2f60mr228084411cf.5.1784736544593; Wed, 22 Jul 2026 09:09:04 -0700 (PDT) X-Received: by 2002:a05:622a:11c8:b0:51a:8eca:78e3 with SMTP id d75a77b69052e-5213c8e2f60mr228084011cf.5.1784736544092; Wed, 22 Jul 2026 09:09:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 5/7] target/microblaze: Introduce local MemOp variable in LWX/SWX opcodes Date: Wed, 22 Jul 2026 18:08:05 +0200 Message-ID: <20260722160807.24031-6-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfXydaWbvLcxpBD awPIqSZeWBgk8ozbw4n4f7MuEOGmktiao/+gOuWcTeG1Anp1SAvXrrQCkOJnuU0j4PzSVppW7Yh CvnG6LYuK1EDugdfu1igIjOExqGfO/Q= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX6DtSVByMjdqi q51B2/IcOVWhft7PPwW4crGpeRh79DoAZTRxLEKXuNfgmDmDmzucaqKbwXYetO508uWpW1GsS1O AhUf0SwO+iqANXiRgxGEXg/LsbsZu0fnINzIbk6+N/17Fd0T6FXBYdpYbJbalpX5xsixjmZKckT 26hbNb4JlbBHuXTw311z5Fk1Z//mPGXhHnaCqBTocol6lnuM8OoDAeTuPjmBC0zGhgCJasCgz9b Pgh7mIQvYu7XGvykTX5kReQKe2vFyCGboDqfb5P4OrHfaKV49eHeDpRabcKFk+lLDPw8tqXAhrT 8xzvTJJhZPKZzpm5vU9As/ciZkfWgW1ZmfcOKOvJrzH7Lg/9n/LRUhhPa/V3XtrDyH9T0KOaSVU 5y4Ed+PoGBTxyG/XI9inuWwBh/H2wLasy7rbQ33fRdkxPgCjbEuWGwo7HMOLNkmWL5V49ExCLC7 u1hzY1tf08orgfV7XRQ== X-Authority-Analysis: v=2.4 cv=Rsv16imK c=1 sm=1 tr=0 ts=6a60eb23 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=d3npyxWmdYZUjDIn49UA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: sK-H2gWYIJd_Qw5CdVpa_9inrkG1rZzM X-Proofpoint-ORIG-GUID: sK-H2gWYIJd_Qw5CdVpa_9inrkG1rZzM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 phishscore=0 spamscore=0 impostorscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736576674158500 Next patch will pass this MemOp argument to compute_ldst_addr_typea. Add the local variable in a preliminary change to simplify the next change review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index d4826981913..581f4b48c92 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -814,13 +814,13 @@ static bool trans_lwea(DisasContext *dc, arg_typea *a= rg) =20 static bool trans_lwx(DisasContext *dc, arg_typea *arg) { + const MemOp mop =3D mo_endian(dc) | MO_UL; TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); =20 /* lwx does not throw unaligned access errors, so force alignment */ tcg_gen_andi_i32(addr, addr, ~3); =20 - tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, - mo_endian(dc) | MO_UL); + tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, mop); tcg_gen_mov_i32(cpu_res_addr, addr); =20 if (arg->rd) { @@ -935,6 +935,7 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) =20 static bool trans_swx(DisasContext *dc, arg_typea *arg) { + const MemOp mop =3D mo_endian(dc) | MO_UL; TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); TCGLabel *swx_done =3D gen_new_label(); TCGLabel *swx_fail =3D gen_new_label(); @@ -959,7 +960,7 @@ static bool trans_swx(DisasContext *dc, arg_typea *arg) =20 tcg_gen_atomic_cmpxchg_i32(tval, cpu_res_addr, cpu_res_val, reg_for_write(dc, arg->rd), - dc->mem_index, mo_endian(dc) | MO_UL); + dc->mem_index, mop); =20 tcg_gen_brcond_i32(TCG_COND_NE, cpu_res_val, tval, swx_fail); =20 --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736640; cv=none; d=zohomail.com; s=zohoarc; b=VI7gh6YusOuiSz+tGiGsIK9kRxoJiqBXWkq+ZPTQuOA0rVtQy5jWpL3LY2QXZcCEDZ+CO8Qks3UXGkkSyT9e2iAL+tACeXBMZpIzrcAnoKQ3l2M7zGC7rcP4nwgsIKYCCC11JhJxWPQa8yJtdY4iBUzorF9vmX4jjBt3Ck9mZCU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736640; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jr2RO4QJmoSJSGktLdN5YArmlNFQ5swgA/DHl2YNf+o=; b=k4+aNf4aNgAlLXr/aKg53cC2THR7iDAdXz6chb77A94NCld/5JVSHOt5HLtajwfHKIqzby/Tey7Gv9VSIWpDw4FwmJRFNUuIMBQU6D7aufU/jazxhFmQw1KU/E7usxCIBnqO21RTwY8w7PlXs9ABPJ55FJFdgsgdkIKhtA/bDgE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736640808947.2831362772994; Wed, 22 Jul 2026 09:10:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZWa-00045M-0E; Wed, 22 Jul 2026 12:10:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZWS-0003mP-MY for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:10:17 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZWO-0002C2-5w for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:10:14 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFXsuu1146342 for ; Wed, 22 Jul 2026 16:10:10 GMT Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjntn33wy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:10:09 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8e97889ac8aso225357276d6.3 for ; Wed, 22 Jul 2026 09:10:09 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4956a63fb10sm81994505e9.13.2026.07.22.09.09.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= jr2RO4QJmoSJSGktLdN5YArmlNFQ5swgA/DHl2YNf+o=; b=d748H7J1HDhRVx76 thasx/bOzrDVeMNoUQ2iAzKDT3x5EiJRgf1Yifx5RFpyUmG3T3sF+hLzYPEaoUjw Z42lEWfroo1bW90HWRKSjLwWjXgteUiRx15IvuGExkysntCeP/MB6uP/9SNtxntn dUCaQ4zYJvNO/Ue74axeVBZS/B+UeJgqZKukcHNcB5mq4dOW3BK7UMXgXTReuR4W /KVTdUy7rA1I2orvlEoOlPGAcCDB+3u443iq4Hltlg7mxZqBH+ChPUQFlFzYeE+/ NaNoQmJERVIqFrx5zaaahXkWnxGbCoxIVuTmaH7FJLTUPK52BFINgnhjNJ2eW2iN pcvwYw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736563; x=1785341363; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=jr2RO4QJmoSJSGktLdN5YArmlNFQ5swgA/DHl2YNf+o=; b=f6W7M6KQ2+pUzFY+QNcoU7M30RLczwKu5Qz9reCCDiOOxctMU+FUxqTBo43Q5jcjPw 0IvFW9dutAOHpCnH/2Q7MD5sWAfFBiI//67ek54sDKkGuYQW6jXvhabWiREbqB/eYqV+ 7m6Ah56vo7VtRw32wBkFMBsIg/n0TzmQJubq2q2my2jhnqjaTlo2Dq8NdkwU1lQhcoKs 5+UVzhHxdFfNoecUaHS5jBo2iKuIZnQmgoCZY5l9n6BGkJU9UIJanWOtTW3wVo+R2szS g7BSsFZ42Oo56PGrXyzdmsYkECjFsPG44H9r9oaoCJ5TanZVgwZcj+jsSf8VrQvQ6ZYG UACQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736563; x=1785341363; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=jr2RO4QJmoSJSGktLdN5YArmlNFQ5swgA/DHl2YNf+o=; b=dl9qMQG+BdLOWU22AQzrJBN7ssejBEW/ZoSDrAoghLpLWm7Guw34w2cXvDn/py+vfO UTbiMlqMNFE1b6zMewXNIo/g3GA73gKe9pQnZt1ohqroVUKi+3CbYnwIHsrOHxnHalDK lU8thl8OMKWP9pfRsY5lxYmRoKfXzeoiuJRsZhrwL9FaztXw2w48+qGF4jfo2RDRJRjH q4mochoPHsL2ST8dxPOLRxsc7yf23oqFMJwP/MPIn/Iys6iFqLhjdcej49VqEz63YuAt u8fMs2QZKKVrEuysCKXkycEa8rMRRlP5RS52puiGWBpC7S+kH6uSwEdbHjzshX7nygEV 5LYQ== X-Gm-Message-State: AOJu0YwyB4q3XnpaZ/Ecu+SuZjoWrbZpH792OiKY4qcKu++onjCF0fHM hiRmAHzNpOsYf6LAZSw9JtwY8dmJhYiHj1jLlEVqx4Un0ClXYKpwtjZ0Al5FWtfvXuptVP+cant 7Lsi8ioXNGpfAISM+QhY8zxvUXJxlSD+kaTGP8pAxL5YJhHE+qBymWBPv5xX1JhhKGw== X-Gm-Gg: AR+sD13VrFBGfaT45LdQ/H1VvPKkL6QuKX/kpnDfDp7ctVOalwzRn+Gcwq3WtHBrqv8 thq81VitKdRSQ+31jVfQQB0yfpX+7wPQbu3MT0uEngUueY8ZoN2i1oLyszYRTlTe3yvvzxbcfxs hckpHAo7LeQlHKQ/LgPgrC0fXOyR9S8EUgRK3wtWgbsQl+IkLkSyIazj/5Jhdtsg4vl/PrAPakH pDjGGv6EYS4Fe0tSUrl3QjKreM8lPL3S2bmohLFVAR25dk4IZquElai/hUDMW6sNCmMxeHOAHo1 un3N8VEQGynm1+n4djdSmvyk57nLa7VdtZwRMbt1kQM8q6M3VQkFJhUZTA5QfKn/ACwEz78hi9T 3wYAU+7726uuF32NyI/1o8v9vGvBHN1MmFnemNVGanv0tTpM3QAK/IOM= X-Received: by 2002:a05:622a:2613:b0:51c:1132:c800 with SMTP id d75a77b69052e-5213c5f1b5cmr224781841cf.19.1784736563060; Wed, 22 Jul 2026 09:09:23 -0700 (PDT) X-Received: by 2002:a05:622a:2613:b0:51c:1132:c800 with SMTP id d75a77b69052e-5213c5f1b5cmr224771641cf.19.1784736553769; Wed, 22 Jul 2026 09:09:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 6/7] target/microblaze: Factor reverse_ldst_addr() helper out Date: Wed, 22 Jul 2026 18:08:06 +0200 Message-ID: <20260722160807.24031-7-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=AJsSZ1gA c=1 sm=1 tr=0 ts=6a60eb61 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=WwSEdY8ObH1Q66UJNWAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: PGjLg8hitBgiVmRRm_0FAelSm6_U8VsI X-Proofpoint-ORIG-GUID: PGjLg8hitBgiVmRRm_0FAelSm6_U8VsI X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX8qihD+MSLHQr PFKuChvv95yNWUBVR+fy4Qpxhs6SfL/8wYgGlaL8WURsdbL1bVtfIiQgKqsGkPkzdN0mQcV70TR 1CoFdzmosV71FyrHs5+arT1WqroORyE= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX0EtD1EFGLSKp 7lAEImYLPax630/jdWB/Cbz2eQCBzuQAYdehIqL0LmjeBO0JpV41u4sJulLTdCWGbHNro8OdhbY TjDt9LfSmApiQ+uDlpIwE6SAxVUIGpbF15eYejaFqzP3ukOb1fCeLt9wjbnbDlFgjp3uCprEZll 0AMdbgQLtpbzUDGZgCs5xYUMBmPjvD3IsO099JGQWrl7pE72kpYUTEuYjUbarf2YNXbFU3wuMY1 2yByR/VzXyALaHBH9pfL7s/QUeoqpwocWtsKDQm2ZgJSflzAdKZxzAy6t3HjOM9ryATSO7g/bPh 4bTk+zmmbusLYdJYUKiuI0CYp8O8OMDnRc2367zfptsLwXLo5IsaZuQMaba0TDZDdG/Q8Y1Pm2x kv4IFkS6LOat1aP88uAVpChiDeIPqlq8KAEYZy6fPFBq3PbCp34IONhBKtZ6oZm+Kayd8/cuhGv l+FHKf0Mvepa9jEcXlw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736640985158500 Instead of burying the address reversion in the load/store opcode helpers, hoist that to compute_ldst_addr_type*(). Pass the necessary information with a MemOp argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 64 +++++++++++++++++------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 581f4b48c92..8c530ed1191 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -607,7 +607,24 @@ static bool trans_wdic(DisasContext *dc, arg_wdic *a) DO_TYPEA(xor, false, tcg_gen_xor_i32) DO_TYPEBI(xori, false, tcg_gen_xori_i32) =20 -static TCGv_i32 compute_ldst_addr_typea(DisasContext *dc, int ra, int rb) +static TCGv_i32 reverse_ldst_addr(TCGv_i32 addr, MemOp mop) +{ + MemOp mo_size =3D mop & MO_SIZE; + + /* + * When doing reverse accesses we need to byteswap the data + * lanes on the way back into the CPU core. + */ + + if (mo_size < MO_32) { + tcg_gen_xori_i32(addr, addr, 3 - mo_size); + } + + return addr; +} + +static TCGv_i32 compute_ldst_addr_typea(DisasContext *dc, int ra, int rb, + MemOp mop) { TCGv_i32 ret; =20 @@ -622,6 +639,7 @@ static TCGv_i32 compute_ldst_addr_typea(DisasContext *d= c, int ra, int rb) } else { ret =3D tcg_constant_i32(0); } + ret =3D reverse_ldst_addr(ret, mop); =20 if ((ra =3D=3D 1 || rb =3D=3D 1) && dc->cfg->stackprot) { gen_helper_stackprot(tcg_env, ret); @@ -629,7 +647,8 @@ static TCGv_i32 compute_ldst_addr_typea(DisasContext *d= c, int ra, int rb) return ret; } =20 -static TCGv_i32 compute_ldst_addr_typeb(DisasContext *dc, int ra, int imm) +static TCGv_i32 compute_ldst_addr_typeb(DisasContext *dc, int ra, int imm, + MemOp mop) { TCGv_i32 ret; =20 @@ -642,6 +661,7 @@ static TCGv_i32 compute_ldst_addr_typeb(DisasContext *d= c, int ra, int imm) } else { ret =3D tcg_constant_i32(imm); } + ret =3D reverse_ldst_addr(ret, mop); =20 if (ra =3D=3D 1 && dc->cfg->stackprot) { gen_helper_stackprot(tcg_env, ret); @@ -714,24 +734,14 @@ static inline MemOp mo_endian(DisasContext *dc) static bool do_load(DisasContext *dc, int rd, TCGv_i32 addr, MemOp mop, int mem_index) { - MemOp size =3D mop & MO_SIZE; - - /* - * When doing reverse accesses we need to byteswap the data - * lanes on the way back into the CPU core. - */ - if (mop & MO_BSWAP) { - if (size < MO_32) { - tcg_gen_xori_i32(addr, addr, 3 - size); - } - } - /* * For system mode, enforce alignment if the cpu configuration * requires it. For user-mode, the Linux kernel will have fixed up * any unaligned access, so emulate that by *not* setting MO_ALIGN. */ #ifndef CONFIG_USER_ONLY + MemOp size =3D mop & MO_SIZE; + if (size > MO_8 && (dc->tb_flags & MSR_EE) && dc->cfg->unaligned_exceptions) { @@ -746,13 +756,13 @@ static bool do_load(DisasContext *dc, int rd, TCGv_i3= 2 addr, MemOp mop, =20 static bool trans_ld_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) { - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb, mop); return do_load(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 static bool trans_ld_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); + TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm, mop); return do_load(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 @@ -815,7 +825,7 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) static bool trans_lwx(DisasContext *dc, arg_typea *arg) { const MemOp mop =3D mo_endian(dc) | MO_UL; - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb, mop); =20 /* lwx does not throw unaligned access errors, so force alignment */ tcg_gen_andi_i32(addr, addr, ~3); @@ -835,24 +845,14 @@ static bool trans_lwx(DisasContext *dc, arg_typea *ar= g) static bool do_store(DisasContext *dc, int rd, TCGv_i32 addr, MemOp mop, int mem_index) { - MemOp size =3D mop & MO_SIZE; - - /* - * When doing reverse accesses we need to byteswap the data - * lanes on the way back into the CPU core. - */ - if (mop & MO_BSWAP) { - if (size < MO_32) { - tcg_gen_xori_i32(addr, addr, 3 - size); - } - } - /* * For system mode, enforce alignment if the cpu configuration * requires it. For user-mode, the Linux kernel will have fixed up * any unaligned access, so emulate that by *not* setting MO_ALIGN. */ #ifndef CONFIG_USER_ONLY + MemOp size =3D mop & MO_SIZE; + if (size > MO_8 && (dc->tb_flags & MSR_EE) && dc->cfg->unaligned_exceptions) { @@ -867,13 +867,13 @@ static bool do_store(DisasContext *dc, int rd, TCGv_i= 32 addr, MemOp mop, =20 static bool trans_st_typea(DisasContext *dc, arg_typea *arg, const MemOp m= op) { - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb, mop); return do_store(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 static bool trans_st_typeb(DisasContext *dc, arg_typeb *arg, const MemOp m= op) { - TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm); + TCGv_i32 addr =3D compute_ldst_addr_typeb(dc, arg->ra, arg->imm, mop); return do_store(dc, arg->rd, addr, mop | mo_endian(dc), dc->mem_index); } =20 @@ -936,7 +936,7 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) static bool trans_swx(DisasContext *dc, arg_typea *arg) { const MemOp mop =3D mo_endian(dc) | MO_UL; - TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb); + TCGv_i32 addr =3D compute_ldst_addr_typea(dc, arg->ra, arg->rb, mop); TCGLabel *swx_done =3D gen_new_label(); TCGLabel *swx_fail =3D gen_new_label(); TCGv_i32 tval; --=20 2.53.0 From nobody Sat Jul 25 07:59:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784736623; cv=none; d=zohomail.com; s=zohoarc; b=a66rXLq+aUFPme9p8FIGTokk7dIf+r7+PIqMM8U1ICWWqRxahB+XUKMhuRI4IFwmMrs7oi4Qv+GfFoqZypuSowshJqxg+K/gD4IPcF/6yAir/HgPUghFofPGq6FvwkJU1IO/ttVY/bhMXDQuZVLCqCyq08tvmp15gC5cIsVH3Us= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784736623; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3sMR1nC0WJ6g3Wl8rImqyxWn4BZfIUb7CkmDbwhese8=; b=fcoixdUpRyNPBa+wnmPKQXoET00PdPn529jV1+iqntpeEKdti0H4Nntj4Z5yBe9JQT9vDUx8m8KxOUZ3r3knXmtCIsQuh75UU4JXBnHjua68bPknTy71yEFHoysyn3mpEYd5S6Vm1cUnd1AWeo6qgSr2349JMmOLesNCwyLbD/k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784736623701764.5103853611607; Wed, 22 Jul 2026 09:10:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wmZWV-0003sv-9t; Wed, 22 Jul 2026 12:10:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZWS-0003lT-AR for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:10:16 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wmZWO-0002CM-SL for qemu-devel@nongnu.org; Wed, 22 Jul 2026 12:10:14 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66MFY3pu1310319 for ; Wed, 22 Jul 2026 16:10:11 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjt799xuw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 16:10:11 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51a8db414c7so222355251cf.0 for ; Wed, 22 Jul 2026 09:10:09 -0700 (PDT) Received: from localhost.localdomain (92.171.88.92.rev.sfr.net. [92.88.171.92]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a60asm7278089f8f.3.2026.07.22.09.09.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 22 Jul 2026 09:09:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 3sMR1nC0WJ6g3Wl8rImqyxWn4BZfIUb7CkmDbwhese8=; b=OIcTwHvYWd1ruFIA gnQZKpDvL+OE1LWnZUWbhQhOZpa0hZVXXR7mw3tyIKxdq3/Y3J29o9azhldWZDaS XV2yOJGaGGaKxRUGFf551kY4Qtsp9yeyzqQ5itg4FXOVMRBGwYoZYu7ZRtCCMmci X8d4neZXLf6MdsfpfEoKTY4e/YMhYau/Kht7IWajd/9S9t9vDJz1ND3TMLuf2x1M 5JlYEiBrkVMg5pEcsRRLgKGjAkgwxSrdi6RsdKRNpY5NpCM9uFTXWjkDkRyL3qCv T58Bm63nmrHyPDC3NSPBowcDzcwOEzy6vXYXQXhbFWsIIjVEU/gSB9OnZcxGbR+m 1HAibQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784736571; x=1785341371; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=3sMR1nC0WJ6g3Wl8rImqyxWn4BZfIUb7CkmDbwhese8=; b=Jsmr+zGaVo1ufIasOeqsMQAxfQBj4r8hllcku8hTOPpyxUehDZKzSqZbWroqB+6XxN H/ipnxETIOvOf5eHz0XdyVCGvqtK70ml76bL0nhmG/sGwsp1Qw9wekfNzv+KXFlquKa1 E8hIX1tPlUwAH7QU627g4u04bZlcFHIXYXYfs2/xw+pwL8GFgi9vOwiXrC53jpTJX50o 7vhDklgEDDk3jpvTbm7pdrLHMvc8tK/b8QlG08zhrARIxjel61CIEyUoXJNnDKuT2ZOy GGp61EgNx/FZ3tzuQC006foyjtt963E9Q7O5mjV3yU5B9mcKM47hWuZ0pDXre4+ZiRJe x2iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784736571; x=1785341371; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=3sMR1nC0WJ6g3Wl8rImqyxWn4BZfIUb7CkmDbwhese8=; b=mHXzM9KcgkucW/+vXdMQrlVBRl2MjUiiCd36E2CIbHSITXFejYZl7QFuLtprEOscxE k8laWclR2HPQFAsVcmljgcz6lAeSYexrSYS8gfSxifLn3sO+uUtfwDJVqRDqtYqWgA6u 4Bqc2HC1lDH9Hxrg8uqgBRbztzd8obsmxRW7r3Yxbbc5xvR3uwRugtP1IexGj0iJBEC9 LigV3bbNT5S3fomjUNOuR0qnwbeiUDVeBMKTdelLj4Wwr8VXORPnkWFa+ewviQnbDq75 /sWMCwJdvND9HlevtyBUkktt3qPLkZG12hN17X5u8bNnLFbQx/7WEkrHmNSTktPsrsZ+ Pk1Q== X-Gm-Message-State: AOJu0YzmztSk1CaCa6saBzj/VRHquww9+1SBm3Fn37Y5sfIs+tE4DHMa XN6BjunrtfiRtMv2q7CEX/wbIUvuMrSk3h1LHE/5pwW9bv4zhjAbu1szhWSPg6w2pe4fN80FH+Z U3eSKWmYHVDRSSaOGhWMU/IEU+2TSCcHLLfgfzoex1HyNxMSp/UtHs6lmczYpFhjI/Q== X-Gm-Gg: AR+sD13fxO3nFoUT11Nn7GaqV1MJqjaf7w0IyOcrWPTbHA7ws/R+rQ1M6ZrVWJUrXlx 28sxiwt5YdxESAOe0BF2V8l4T7lmRO6Ijr9OjphVR4r4HlAz4R7I8uXyYcPCTjaJtVm4aqyqXpY rhPEct+ea9siD3NcQWeOJKFprBk5LkzHU2NXL6io14IPfsAusyhuTnC+3FgrgXbfViCyN3rtiD2 Y9arEZi+KGeG+1gV9VtdOVpQVRt2GggsThCRD+2hGafsyoIJKqSThZSEkn51Rn3lM88vANmR7Kq t7b5Nw9BtyMBOU71EdV36yu6qMfRpOwmqWTvvuoURU4qzYejNfj3HrVi+3d8fw8nrtqg7Zbjnd0 PjyV5bvPY0/fgs2NarQo6g5gy9lDICqqujhbti2wSZyqAboPjRBVVmsk= X-Received: by 2002:a05:622a:a07:b0:51b:fde4:cd57 with SMTP id d75a77b69052e-5213cec9838mr242945311cf.31.1784736571601; Wed, 22 Jul 2026 09:09:31 -0700 (PDT) X-Received: by 2002:a05:622a:a07:b0:51b:fde4:cd57 with SMTP id d75a77b69052e-5213cec9838mr242944861cf.31.1784736570917; Wed, 22 Jul 2026 09:09:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , "Edgar E. Iglesias" , Luc Michel , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 7/7] target/microblaze/translate: fix reversed load/store translation Date: Wed, 22 Jul 2026 18:08:07 +0200 Message-ID: <20260722160807.24031-8-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260722160807.24031-1-philmd@oss.qualcomm.com> References: <20260722160807.24031-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Sr6gLvO0 c=1 sm=1 tr=0 ts=6a60eb63 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=8SOIyxyylBkeE3ShledptA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=zd2uoN0lAAAA:8 a=EUspDBNiAAAA:8 a=Kki4pL45bOIGBibXXkoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: 1ssMUivjyF3V3E4g7ZxjZqZ7eLDl4sm1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX49hZZDTfLsF6 xRZOGqh3s1ZSAPcvYlOyXObwFy0SnvSzyX3lnCFwpGB6ABzU2sI2kuge0yLdniGqJi91jaCfdvb VE2aK5/8+rCChbAWFJ/Ob8wmLE3KUATTR/kdCs34vjT4lcSBoB54zBflRMs+ml5PmB2NgNZw+FJ ud1JdRM6GG+AB+VLB4addPxb8LBHck/MOy8hoMhKPdzxwvZYsaSfoXmAmvUmP93p/qaIL4QtKmf SlEHvy7vDosySPDgqn1qT1iK3OvZUdi3f5okkc4pwWL3KQj0CMlJOrUEfwo3PTn02XdladlYk8U viePnXrN+vwWqUgxocsMFYw98ooJltff6qph9HkUslCtS4zm4faXNmmgBb1aO2HQCHR3CZQc9rj bp3PgLNrV3xd/HJnpn8FePmnkdXUBTb6Y2lIkGfqRUt7Ge4jC7LPM7CqoSG2FhlnFtwaOiMPzLm Qi8XlIFsf0pOAqIULCg== X-Proofpoint-GUID: 1ssMUivjyF3V3E4g7ZxjZqZ7eLDl4sm1 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDE1OSBTYWx0ZWRfX2wrmht5oT9TI zh7giCLoNFEovmbAi5BSXf50wdltVlH26lPgkjPmRkNGZjOcfghyVDkV740ltqGI5feLZgO5NFQ +nps4dp1rQn+noRQnzGujYcJRJweBk8= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-22_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 clxscore=1015 impostorscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220159 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784736624832158500 From: Luc Michel Since 36a9529e60e0 the TCGv returned by compute_ldst_addr_type{a,b} for the address can be a target register or a constant. However do_{load,store} might modify it in the case of a reversed load/store. Fix this by factoring out the reversed access logic and copying the address in a new TCGv_i32 if it needs to be modified. Fixes: 36a9529e60e0 (target/microblaze: Simplify compute_ldst_addr_type{a,b= }) Signed-off-by: Luc Michel [PMD: Return early for tcg_constant_i32() calls] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 8c530ed1191..1ad96410598 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -617,7 +617,10 @@ static TCGv_i32 reverse_ldst_addr(TCGv_i32 addr, MemOp= mop) */ =20 if (mo_size < MO_32) { - tcg_gen_xori_i32(addr, addr, 3 - mo_size); + TCGv_i32 new_addr =3D tcg_temp_new_i32(); + + tcg_gen_xori_i32(new_addr, addr, 3 - mo_size); + return new_addr; } =20 return addr; @@ -637,7 +640,7 @@ static TCGv_i32 compute_ldst_addr_typea(DisasContext *d= c, int ra, int rb, } else if (rb) { ret =3D cpu_R[rb]; } else { - ret =3D tcg_constant_i32(0); + return tcg_constant_i32(0); } ret =3D reverse_ldst_addr(ret, mop); =20 @@ -659,7 +662,7 @@ static TCGv_i32 compute_ldst_addr_typeb(DisasContext *d= c, int ra, int imm, } else if (ra) { ret =3D cpu_R[ra]; } else { - ret =3D tcg_constant_i32(imm); + return tcg_constant_i32(imm); } ret =3D reverse_ldst_addr(ret, mop); =20 --=20 2.53.0