From patchwork Sat Mar 18 08:04:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stafford Horne X-Patchwork-Id: 66553 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CC1233850864 for ; Sat, 18 Mar 2023 08:04:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CC1233850864 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1679126693; bh=mqj3eoizRLYpARgkZdhtFQjWuK9djeyoVu1xTCjA+0Q=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=BMH5vbdyYzqUraGSHyh3mQx2hWUO/OVvzRktabINb5ot9OqLVesGPikLLJpm2ktWl WlbBbnYM2EF+PfIeKb8xeginbFszOLhxmhzv8xEHjI9rbvuQEfs+pKPApgFVQDsRAQ oJ77mAslnv8Zfe+OCXHZMYW81I81Hk9YFwElFuOI= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by sourceware.org (Postfix) with ESMTPS id 0B1473858C50 for ; Sat, 18 Mar 2023 08:04:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0B1473858C50 Received: by mail-wm1-x333.google.com with SMTP id bg16-20020a05600c3c9000b003eb34e21bdfso6327553wmb.0 for ; Sat, 18 Mar 2023 01:04:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679126662; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mqj3eoizRLYpARgkZdhtFQjWuK9djeyoVu1xTCjA+0Q=; b=Pj+DWX3054aUsVi1pYA83VDUvcWtLgNBBc9GAaTgvaujMBZdDtN0tcty7Wb211liaE Zvmc0HdfILoJ50J9EG/5d2HizhoBW07wUOH3K9slQ9sRdobReU+nkRB14mQw8rwyY+om 4FnR90zO5Vw7uBDGsPhNYiWE2lqzwd/4KD2rB5lJkT4AJMTtNHYPl5qBlcj5cpydL36B T2MSKzUA2JrFNzGCYXNwRotMXnvO7uAVvPC3d3UB3zc4CPqNxn3bYykDGr54Qe+aw8aN LMlrQdg5ncbL6poLbtrWhs0w+Ssmafm0G2/kD9bBkq5bS/HcTHOTRr8kO4Ebpo+B4dfy eoQQ== X-Gm-Message-State: AO0yUKWsyGyEoqErB4LH8TtE5UaS3hhr+ZrN9tvg857eQLDPFV/ykcph mvxXHrXyK8K2fMXfoWUlowOWvXtFECk= X-Google-Smtp-Source: AK7set8YW4tU8t2e+XOTRC1iwl/J5fJFYIR8eprKgckpvgMuFdnTFNep7LN1uOq3fz5ft8lQhiAQLw== X-Received: by 2002:a05:600c:4452:b0:3e1:374:8b66 with SMTP id v18-20020a05600c445200b003e103748b66mr26263510wmn.40.1679126662338; Sat, 18 Mar 2023 01:04:22 -0700 (PDT) Received: from localhost (cpc1-brnt4-2-0-cust862.4-2.cable.virginm.net. [86.9.131.95]) by smtp.gmail.com with ESMTPSA id az40-20020a05600c602800b003e2096da239sm10245677wmb.7.2023.03.18.01.04.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Mar 2023 01:04:21 -0700 (PDT) To: GCC patches Cc: Linux OpenRISC , Stafford Horne Subject: [PATCH] or1k: Do not clear existing FPU exceptions before updating Date: Sat, 18 Mar 2023 17:04:05 +0900 Message-Id: <20230318080405.2799610-1-shorne@gmail.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Stafford Horne via Gcc-patches From: Stafford Horne Reply-To: Stafford Horne Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" We should always carry the exceptions forward. This bug was found when working on testing glibc math tests, many tests were failing with Overflow and Underflow flags not set. This was traced to here. libgcc/ChangeLog: * config/or1k/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove statement clearing existing exceptions. --- libgcc/config/or1k/sfp-machine.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libgcc/config/or1k/sfp-machine.h b/libgcc/config/or1k/sfp-machine.h index 162c6bc5326..c804270fb3c 100644 --- a/libgcc/config/or1k/sfp-machine.h +++ b/libgcc/config/or1k/sfp-machine.h @@ -73,7 +73,6 @@ do { \ do { \ if (__builtin_expect (_fex, 0)) \ { \ - _fpcsr &= ~FP_EX_ALL; \ _fpcsr |= _fex; \ __asm__ volatile ("l.mtspr r0,%0,20" : : "r" (_fpcsr)); \ } \