From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19BB7C388F9 for ; Thu, 19 Nov 2020 20:44:33 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E1F002225B for ; Thu, 19 Nov 2020 20:44:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E1F002225B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bugs.launchpad.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55506 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfqn8-0000hG-CW for qemu-devel@archiver.kernel.org; Thu, 19 Nov 2020 15:44:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfqa4-0000fe-OW for qemu-devel@nongnu.org; Thu, 19 Nov 2020 15:31:04 -0500 Received: from indium.canonical.com ([91.189.90.7]:45958) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kfqa1-0007nz-Ij for qemu-devel@nongnu.org; Thu, 19 Nov 2020 15:31:00 -0500 Received: from loganberry.canonical.com ([91.189.90.37]) by indium.canonical.com with esmtp (Exim 4.86_2 #2 (Debian)) id 1kfqZz-0008PT-6h for ; Thu, 19 Nov 2020 20:30:55 +0000 Received: from loganberry.canonical.com (localhost [127.0.0.1]) by loganberry.canonical.com (Postfix) with ESMTP id 317942E8140 for ; Thu, 19 Nov 2020 20:30:55 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Thu, 19 Nov 2020 20:21:38 -0000 From: Alistair Francis <1885350@bugs.launchpad.net> To: qemu-devel@nongnu.org X-Launchpad-Notification-Type: bug X-Launchpad-Bug: product=qemu; status=New; importance=Undecided; assignee=alistair@alistair23.me; X-Launchpad-Bug-Information-Type: Public X-Launchpad-Bug-Private: no X-Launchpad-Bug-Security-Vulnerability: no X-Launchpad-Bug-Commenters: alistair2323 rpvrverve453-4tr5t34t5 X-Launchpad-Bug-Reporter: Mina Magdy (rpvrverve453-4tr5t34t5) X-Launchpad-Bug-Modifier: Alistair Francis (alistair2323) References: <159323684589.25927.6403829131374464357.malonedeb@gac.canonical.com> Message-Id: <160581729900.15953.3503432262074861154.malone@chaenomeles.canonical.com> Subject: [Bug 1885350] Re: RISCV dynamic rounding mode is not behaving correctly X-Launchpad-Message-Rationale: Subscriber (QEMU) @qemu-devel-ml X-Launchpad-Message-For: qemu-devel-ml Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="c35ff22711d15549e2303ae18ae521fd91f6bf00"; Instance="production" X-Launchpad-Hash: 47914bf55e23d4496cdee9230d27d7ae169e581a Received-SPF: none client-ip=91.189.90.7; envelope-from=bounces@canonical.com; helo=indium.canonical.com X-Spam_score_int: -65 X-Spam_score: -6.6 X-Spam_bar: ------ X-Spam_report: (-6.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Bug 1885350 <1885350@bugs.launchpad.net> Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" As commented on the patch submission, this should already be handled: https://www.mail-archive.com/qemu-devel@nongnu.org/msg718331.html Can you attach the test case that is failing? -- = You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1885350 Title: RISCV dynamic rounding mode is not behaving correctly Status in QEMU: New Bug description: Hello, I=E2=80=99ve gone through the RISC-V code in latest QEMU release (qemu-5.0.0-rc2) and when checking the Floating point encodings I found the rounding mode is only updated if the opcode field =E2=80=9Crm= =E2=80=9D is changed =E2=80=9Cctx->frm =3D=3D rm=E2=80=9D. But according to RISC-V Vol= ume I: Unprivileged ISA, there=E2=80=99s a dynamic mode when rm=3D7 where the ro= unding mode is set with frm value. So for the same rm value (=3D7) and when changing frm value seeking different rounding modes, and according to the below code, the rounding mode won=E2=80=99t be updated. Please correct me if I got this implementation wrong. static void gen_set_rm(DisasContext *ctx, int rm) { TCGv_i32 t0; if (ctx->frm =3D=3D rm) { return; } ctx->frm =3D rm; t0 =3D tcg_const_i32(rm); gen_helper_set_rounding_mode(cpu_env, t0); tcg_temp_free_i32(t0); } = My testcase: I set statically the rm field in the instruction to 7 and before this exe= cution I changed the value of frm field in fcsr register. For the 1st time = it worked (according to the code above, the rm is updated so the round mode= will also be updated). But when changing fcsr register an re-execute the i= nstruction, there's no difference and the rounding mode is the same like th= e previous frm value. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1885350/+subscriptions