From nobody Sun May 19 10:38:52 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) client-ip=209.85.221.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1639421779; cv=none; d=zohomail.com; s=zohoarc; b=iare0w+/eOL2DLhFgMhIL3Q+7THAtnWADNwm4P1rZby2KNxqHTqYdijdlweVQK2SUnWb/5gTq4/+ipvKTPzBkuK1a1gLE9yTPRXs0zdQzeHtujx0m+0CXwxH7eEoB5m2qTKlAR7yFYF/BJoy0qalq9aKxX65NVsa0dSc/9Wkfbs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639421779; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qjjw6SMTzOtIMG8knarIZfVDh1j7Z6jLvyP1PkdoHD4=; b=AkF3oKv7ySWt/zX/1XtiAdwUEkXqyzuM42nt5FyWmSP3B/YUFtDQJzAuYp3jHfXuy79cF2V4fFpNF92+JouECSTvad70/Yq4J8JNqJ6lgSy8QkbNvUSRBL63AFJQqqoxmUWpmYSjjcRJF/MqxJ1C2r1pq/oIiVgAmlaQe7DFGek= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.zohomail.com with SMTPS id 1639421779107575.83971766483; Mon, 13 Dec 2021 10:56:19 -0800 (PST) Received: by mail-wr1-f54.google.com with SMTP id v11so28676999wrw.10 for ; Mon, 13 Dec 2021 10:56:18 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (174.red-83-50-185.dynamicip.rima-tde.net. [83.50.185.174]) by smtp.gmail.com with ESMTPSA id e3sm11850472wrp.8.2021.12.13.10.56.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Dec 2021 10:56:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qjjw6SMTzOtIMG8knarIZfVDh1j7Z6jLvyP1PkdoHD4=; b=KVAuJh9x09CIfCIE5oV4VKiStZA6c3+32p1SRfRBTnuV/JGW+u3M0fDPVX5zYkHQ76 lhDKbtGJSz8ZjfL6uPmSDZd9vhSLqvIaBtcSPceyI3sBgrw25j8pJF/LSEwHqs+8iCIY ytYT8k5SswmqciN8CcrHGs6b4ouPYkhuy+T0C2GpS7llIGCB+LMvW6FTUVmYMtLr3O3g nroOXcOudEySSpU0+s+fkABu5Gkj5tXmste2Gfwwu13FKY2uCAJgMJfTkGTqLRfm+oNl D5e7TnlYqIDc8XzzkfpNEOwkcRhYTOov//HSLIWlZfR0r6JASZ9jK7F0d/tDph4O4TE1 rBrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=qjjw6SMTzOtIMG8knarIZfVDh1j7Z6jLvyP1PkdoHD4=; b=1YCmAUsAbxmTJSLYHmCA/RSG1PnRWPKO22wn67Bsm2ai7UekSzajhZjOHbmqJcyhdw rNgy17M4PY4ogzjL8mkynf2UckQOCpaGKRrDgXbhay/t0z/2rjfpRrnAmBH8DsVlZwKy D7jGH/+uw7DKokZzEaKk2qCil/OFZCJJdXSS28UYXGsZiPBPG5GDrew+Z0kIf8+MAHtr p2klmJHXxXa+jnXRwUEoyk99EnQLuKPvX+8gXK8bDfhjLDAZbGCshyVdTXNX2k1+ltir hAxNcxXXqOTkLJhWwqo4hHKkzblINGOHdooIJkZN5kQyT5MgIqMfFxMZqQ2WaAPiASW+ k4UA== X-Gm-Message-State: AOAM531D+e6FbKb8sndTBjsC68d39c5NgR6FUSDngmZzAWkVKp3C+nJ0 CS+dknwMII309ZvlshqkhJc= X-Google-Smtp-Source: ABdhPJySAEkL6WwK43uIr2w1gfGyqXCszCUbjbOVQ7Bg9cAyRsr+AN2Xx0RzzqfULlLo9VBP+pFsCQ== X-Received: by 2002:a5d:6a46:: with SMTP id t6mr346491wrw.141.1639421777350; Mon, 13 Dec 2021 10:56:17 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Helge Deller , Richard Henderson , Sven Schnelle , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 1/2] target/hppa: Minor code movement Date: Mon, 13 Dec 2021 19:56:09 +0100 Message-Id: <20211213185610.1987974-2-f4bug@amsat.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211213185610.1987974-1-f4bug@amsat.org> References: <20211213185610.1987974-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1639421780615100001 Move the 'a->r1 =3D=3D 0' if ladder earlier, simply to ease reviewing the next commit change. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/hppa/translate.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 3b9744deb44..261e4c75c7c 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -3204,14 +3204,14 @@ static bool trans_shrpw_imm(DisasContext *ctx, arg_= shrpw_imm *a) =20 dest =3D dest_gpr(ctx, a->t); t2 =3D load_gpr(ctx, a->r2); - if (a->r1 =3D=3D a->r2) { + if (a->r1 =3D=3D 0) { + tcg_gen_extract_reg(dest, t2, sa, 32 - sa); + } else if (a->r1 =3D=3D a->r2) { TCGv_i32 t32 =3D tcg_temp_new_i32(); tcg_gen_trunc_reg_i32(t32, t2); tcg_gen_rotri_i32(t32, t32, sa); tcg_gen_extu_i32_reg(dest, t32); tcg_temp_free_i32(t32); - } else if (a->r1 =3D=3D 0) { - tcg_gen_extract_reg(dest, t2, sa, 32 - sa); } else { TCGv_reg t0 =3D tcg_temp_new(); tcg_gen_extract_reg(t0, t2, sa, 32 - sa); --=20 2.33.1 From nobody Sun May 19 10:38:52 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) client-ip=209.85.128.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1639421784; cv=none; d=zohomail.com; s=zohoarc; b=np37er/yNo59OIugcZ3jdNz9nq3TBRWVu2q/ycB+/NU2K3QG3unm7froK6TDrGqxxaxnjistyEIQ6UodSKSrmUfUn9vHcK9Bkgf6R3bzojkoY6+ptTAwWx75wxHPjdZ4IzSXYq56WvFk5O8dzkk0Y29f8vx03iUo9bvQQRP5RDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639421784; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mbs0XnxAH9XZ1rqWsX8q/JBDekNQiMIH/00Vs+Bfjx8=; b=M2WS/on4KKAAnStnCtyruL7a72B7vuH/sMSlPg27y6tFcznA1V0ry1L6SE4Mr/4rIcCTGCytxuroWwaWecG+BHep3ZABdlMCcexadN4eRXMvA3+liq31VQ2TgG0/q+yX/Y1smRx5JxYaSQ0CUOjf+CvqQtZ7VOZRJIK9rNjCdto= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.zohomail.com with SMTPS id 163942178484745.66035245760952; Mon, 13 Dec 2021 10:56:24 -0800 (PST) Received: by mail-wm1-f50.google.com with SMTP id n33-20020a05600c502100b0032fb900951eso14699111wmr.4 for ; Mon, 13 Dec 2021 10:56:24 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (174.red-83-50-185.dynamicip.rima-tde.net. [83.50.185.174]) by smtp.gmail.com with ESMTPSA id u13sm9389401wmq.14.2021.12.13.10.56.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Dec 2021 10:56:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mbs0XnxAH9XZ1rqWsX8q/JBDekNQiMIH/00Vs+Bfjx8=; b=JFKS5mQHN8821VaJhUAUg/Dzr0jAK/sNb+RHEnD9SZVivZKJB2+3D8XngGmUWi8kB2 vBi3s0+X2mchW/kWth3ftHP0diuDeT0fmrXHGeqOCZv+KWaqKMQ+g/9Bd8kTFDdqcKOj gqtan/MLrEmCnePaf4E+VBkZCWORnTSzYHjYOuxLaKGWFD72jRqUMEGVVrd6MJN/pswW dJlojhT5uZ8M73ZHZRLK3m3plUaFUxkKWgF1JH8LB6ZanXvLr2K31EEoHCykghYFdNBS OQCS/28LBbjLj3VtiZDoOcRxzlrjgnHpMppyp2zS5QZeJrlimwtSIQuJHxb8I7g5U0Rh WDng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=mbs0XnxAH9XZ1rqWsX8q/JBDekNQiMIH/00Vs+Bfjx8=; b=5tHqAfPf/oBEOeRKepbEcRn/BexBXMcBxkfq6oiEz+98VkaYYj+whzA9vDVSo4plzI sdgdF3lALp0tixbpBeLfr5VA+ebSExPXS6ARSZ3l7fs0KPTDJc1i9Cl0J0781yswxgtc DV+Sdfwm2uYU0Rplt7qC7WLDJvR9H/Pfx1oKavsN5km8opZIhLiNrELTF19jt3CllYA+ kG0wUTrhSmbsa34JRCBfAx4IlmAmZ+sa4Ua0St8xTSaZi9vCAjhLiKHtXhpWWDgNMt8j OBzwdyQyD7bvLjn+VbHskAxj2nkzI/GQI+isOjN9PPHKqXhllfBSi+UXdahFuFRihMTM 2y/w== X-Gm-Message-State: AOAM5335JUzmS5s8bulWEjVP2qBJ39KOij+z43SjzO10E30OTDBFjUH1 t0XxJf3iBoz6DjS5UXVDaAg= X-Google-Smtp-Source: ABdhPJwnzGyngdYa0UAmNr3GfJPhDslH89Ek9Dzb5gFTxrWBj6Fq0SmpmHkP4VwrwzB7/tlM+8a2KQ== X-Received: by 2002:a7b:c155:: with SMTP id z21mr39315256wmi.107.1639421782208; Mon, 13 Dec 2021 10:56:22 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Helge Deller , Richard Henderson , Sven Schnelle Subject: [PATCH v2 2/2] target/hppa: Fix deposit assert from trans_shrpw_imm Date: Mon, 13 Dec 2021 19:56:10 +0100 Message-Id: <20211213185610.1987974-3-f4bug@amsat.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211213185610.1987974-1-f4bug@amsat.org> References: <20211213185610.1987974-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1639421785822100001 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Because sa may be 0, tcg_gen_deposit_reg(dest, t0, cpu_gr[a->r1], 32 - sa, sa); may attempt a zero-width deposit at bit 32, which will assert for TARGET_REGISTER_BITS =3D=3D 32. Use the newer extract2 when possible, which itself includes the rotri special case; otherwise mirror the code from trans_shrpw_sar, using concat and shri. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/635 Signed-off-by: Richard Henderson Message-Id: <20211213174248.29222-1-richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/hppa/translate.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 261e4c75c7c..952027a28e1 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -140,6 +140,7 @@ #define tcg_gen_deposit_z_reg tcg_gen_deposit_z_i64 #define tcg_gen_extract_reg tcg_gen_extract_i64 #define tcg_gen_sextract_reg tcg_gen_sextract_i64 +#define tcg_gen_extract2_reg tcg_gen_extract2_i64 #define tcg_const_reg tcg_const_i64 #define tcg_const_local_reg tcg_const_local_i64 #define tcg_constant_reg tcg_constant_i64 @@ -234,6 +235,7 @@ #define tcg_gen_deposit_z_reg tcg_gen_deposit_z_i32 #define tcg_gen_extract_reg tcg_gen_extract_i32 #define tcg_gen_sextract_reg tcg_gen_sextract_i32 +#define tcg_gen_extract2_reg tcg_gen_extract2_i32 #define tcg_const_reg tcg_const_i32 #define tcg_const_local_reg tcg_const_local_i32 #define tcg_constant_reg tcg_constant_i32 @@ -3206,6 +3208,8 @@ static bool trans_shrpw_imm(DisasContext *ctx, arg_sh= rpw_imm *a) t2 =3D load_gpr(ctx, a->r2); if (a->r1 =3D=3D 0) { tcg_gen_extract_reg(dest, t2, sa, 32 - sa); + } else if (TARGET_REGISTER_BITS =3D=3D 32) { + tcg_gen_extract2_reg(dest, t2, cpu_gr[a->r1], sa); } else if (a->r1 =3D=3D a->r2) { TCGv_i32 t32 =3D tcg_temp_new_i32(); tcg_gen_trunc_reg_i32(t32, t2); @@ -3213,10 +3217,11 @@ static bool trans_shrpw_imm(DisasContext *ctx, arg_= shrpw_imm *a) tcg_gen_extu_i32_reg(dest, t32); tcg_temp_free_i32(t32); } else { - TCGv_reg t0 =3D tcg_temp_new(); - tcg_gen_extract_reg(t0, t2, sa, 32 - sa); - tcg_gen_deposit_reg(dest, t0, cpu_gr[a->r1], 32 - sa, sa); - tcg_temp_free(t0); + TCGv_i64 t64 =3D tcg_temp_new_i64(); + tcg_gen_concat_reg_i64(t64, t2, cpu_gr[a->r1]); + tcg_gen_shri_i64(t64, t64, sa); + tcg_gen_trunc_i64_reg(dest, t64); + tcg_temp_free_i64(t64); } save_gpr(ctx, a->t, dest); =20 --=20 2.33.1