Message ID | 20250511203546.139788-5-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show
Delivered-To: patch@linaro.org Received: by 2002:adf:fd8a:0:b0:3a1:f579:ae88 with SMTP id d10csp1334175wrr; Sun, 11 May 2025 13:37:18 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVy3IlSnvv1SAdg7GSFMMo7xSuEzZa2zvVVAg8FtwlzeEDEd6KMIK6Nflollrx0lqTu5yDnOA==@linaro.org X-Google-Smtp-Source: AGHT+IGaU9ezUlBq9Fix0czD73cbICe2qdyH9N5FX/7wQgbgroZQUZDHlyXXV/GYD6xwF2bKIqkj X-Received: by 2002:ad4:5ccd:0:b0:6d8:846b:cd8d with SMTP id 6a1803df08f44-6f6e48020cbmr152881626d6.30.1746995838470; Sun, 11 May 2025 13:37:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746995838; cv=none; d=google.com; s=arc-20240605; b=MBCvWUi7b5WcBSPfmxZuitJAKDTu1sZvw/3ku19MjZMe8zTKD80ySFF2R5keRuU2DH bCD6yapfRWeaou0/kPboxBYscCWVvigI0wZDbUPlte/6C+xdbW/xcd5tRWHtlSgeQuLS 4D9dTSKqXyI6nf0DvHfYVRf3DRLbej88VNMmdDxny+Ncm/iBL6PdKawQwCvagA95wxfC w74IV6mO1dFEoKYM92U9PKhoNFYfOeH+hQ2ZrIWrVe16JvE82UiQDK6fzA7TV8KunnlQ 3XwkTTCDTGWzb8rvm3174ysCRnadMt5q/tfm84oO2ZAP8WrQQIxQhHHM5T4IBH5mHo8U TRew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8nCjOAsJJrs0cOllpEn8wbCHdD6i2qsocFmc3YVZlU4=; fh=ZKeelGKICHQ9l/9d+e+bGKuo/S/FkjHED8U2Ob+lIbw=; b=UbjlnhSbe0KquGLUY6be/HndXUI/3ucEhQ1EHxOdBlXqpsIwpwdM4xuogeUpqhpWuO 4JAKsLMcXer7UdeljxPhfjMdkeqzLxdok0GvYOlujtpbUE3JkeEEfTXlc9yStS5Jbtak Bh6VoE7W7oNYvzJAvTU9n1rm8eVwlTliq1+zxXQ2P7MEFq0AOE3/+OzoSZoFQuLBMeyK d3WRYqcoi9ANFR+txnuKkobq5qZ7bCioxCHTQ6DiqIkFFIFEl05/bJQfwbNCpM7GuJUJ sUnef99bpVQkiMgUL/Y4TYHdOoCkxkQoBvDsDgVL8q3+Dpwkkr0LkC5OngnJ/aHhEI+f wXiQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S1+RGDxQ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: <qemu-devel-bounces+patch=linaro.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f6e3a428edsi75164726d6.256.2025.05.11.13.37.18 for <patch@linaro.org> (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 11 May 2025 13:37:18 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S1+RGDxQ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1uEDOt-0002SX-Qk; Sun, 11 May 2025 16:35:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>) id 1uEDOs-0002RY-7p for qemu-devel@nongnu.org; Sun, 11 May 2025 16:35:54 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>) id 1uEDOq-0006KF-Ln for qemu-devel@nongnu.org; Sun, 11 May 2025 16:35:53 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-22fb33898bbso45012975ad.3 for <qemu-devel@nongnu.org>; Sun, 11 May 2025 13:35:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746995751; x=1747600551; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8nCjOAsJJrs0cOllpEn8wbCHdD6i2qsocFmc3YVZlU4=; b=S1+RGDxQRFTbUMdkpinR6gmZGI9TLtukBKrPO6qY6/zMD//Xzzp0PjuYm7GvsN4t04 Gf36QPdv2s+yWZKRw5x3AftvQ/N7yaqp16LW32ok/qr35KKtVil+Q7Au3HoRmH/RlVap LlhCek7uQmYvPv9lP0KbRc8ruwx+h7vyxpZDEZUjEXf0QR3RfBSX42eb76aKlEWyUcGj oiaNYAqwPsfH0R+lOHwX70dGZNbgBPVhJNlIt5DfjfEQSVAaeqELcfnExKB3EDTyKZqT s/WFiCA9q79pvjx8PdEfbLVuuGK9KeuX0lePbH5RVH9kZ5+AwfOsbdkbLDCf58OF2n5F zQTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746995751; x=1747600551; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8nCjOAsJJrs0cOllpEn8wbCHdD6i2qsocFmc3YVZlU4=; b=iX0GJmaiYEA4QhiFcGZTFJo2zjaY40wj86quiD4ZUR5l3v/4LO4a6aQRwVzYBbKHD+ s9FyCg3PKXceCBnfFoUC0GdT1f7PSiqffdZGfgi1wHW7Xu6MpASVtO1ZLBW0XGs6cXDj PiZKdLb0P5oue60Gbffhk1m/kMrsBu1wD5lKQiA+167l2CixEFiCYdyHynNDrJexv69s ESTKLz6aR/ezj1owJTP7G0Z0pHU1skPjBAlRi+2cLH0ybyA8D9v/tbFEbZbblzA/sYMB AwW3iCpRb1h158y1KsXfxJAP3M+VhhchCVK4rhzQn39TZm5RG5xtAPS6A8p+Oh9NZExy p96A== X-Gm-Message-State: AOJu0Yz0T4PBIpA32KUqQQdHdzakZoABQD3L3PSeB5iSzUdCJelSdizC 3NDhpLgkXbKbNx4qv6Xuhl9UzKTULhpfBu47Iu0zBci6eWBJUcRCKdUF/RPE18w+rYOr7/0CAze w X-Gm-Gg: ASbGncsteTzpagv5MmQjZdhKnSmXw2W4QbJKv0UeZl7+tjJS2Mk4tpVcsCYya3IkFO/ 4jLMH4hzHmh2Y4XcK5i5sBxW1Q8IZnNjrDEmIvHmhHzSwfuvIV37kqT5MgrQ2Iy0w4wA/3k0p41 M+115TU0JQT6pdMNAXJYHK/RT7GTcZuq05ax+DmndIBaWHdqmVqP7EHC2HO9wTJO6JPb4oCuHNc WuVmwHhtaGiAvP4A2tLX92XgH4YrfmL0tTEj4ciuL23QgrpiT2xYV47fp4hdsYJ1ZvUBOWqagEE 2AK8WDNABPiNTVnfa8j32UR4O8H+d8GvM1TFLaH0Iryf3n4VCvPmMfR28JLZH6Ee+PmPJiuut0I 3+aNuLTfWxg== X-Received: by 2002:a17:902:dac6:b0:223:f639:69df with SMTP id d9443c01a7336-22fc91a56c7mr171776595ad.41.1746995751006; Sun, 11 May 2025 13:35:51 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc7544d86sm49955095ad.47.2025.05.11.13.35.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 May 2025 13:35:50 -0700 (PDT) From: Richard Henderson <richard.henderson@linaro.org> To: qemu-devel@nongnu.org Cc: laurent@vivier.eu, schwab@linux-m68k.org, =?utf-8?q?Philippe_Mathieu-Dau?= =?utf-8?q?d=C3=A9?= <philmd@linaro.org> Subject: [PATCH v6 04/24] target/m68k: Update FPSR.EXC Date: Sun, 11 May 2025 13:35:26 -0700 Message-ID: <20250511203546.139788-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250511203546.139788-1-richard.henderson@linaro.org> References: <20250511203546.139788-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, 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-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=subscribe> Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org |
Series |
target/m68k: fpu improvements
|
expand
|
diff --git a/target/m68k/fpu_helper.c b/target/m68k/fpu_helper.c index 195281f118..deae94b0ee 100644 --- a/target/m68k/fpu_helper.c +++ b/target/m68k/fpu_helper.c @@ -168,26 +168,28 @@ static void update_fpsr(CPUM68KState *env, int cc) uint32_t fpsr = env->fpsr; int flags = get_float_exception_flags(&env->fp_status); - fpsr &= ~FPSR_CC_MASK; + fpsr &= ~(FPSR_CC_MASK | FPSR_EXC_MASK); fpsr |= cc; if (flags) { set_float_exception_flags(0, &env->fp_status); - if (flags & float_flag_invalid) { - fpsr |= FPSR_AEXP_IOP; + if (flags & float_flag_invalid_snan) { + fpsr |= FPSR_EXC_SNAN | FPSR_AEXP_IOP; + } else if (flags & float_flag_invalid) { + fpsr |= FPSR_EXC_OPERR | FPSR_AEXP_IOP; } if (flags & float_flag_overflow) { - fpsr |= FPSR_AEXP_OVFL; + fpsr |= FPSR_EXC_OVFL | FPSR_AEXP_OVFL; } if (flags & (float_flag_underflow | float_flag_output_denormal_flushed)) { - fpsr |= FPSR_AEXP_UNFL; + fpsr |= FPSR_EXC_UNFL | FPSR_AEXP_UNFL; } if (flags & float_flag_divbyzero) { - fpsr |= FPSR_AEXP_DZ; + fpsr |= FPSR_EXC_DZ | FPSR_AEXP_DZ; } if (flags & float_flag_inexact) { - fpsr |= FPSR_AEXC_INEX; + fpsr |= FPSR_EXC_INEX2 | FPSR_AEXC_INEX; } } env->fpsr = fpsr;