From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526072; cv=none; d=zohomail.com; s=zohoarc; b=PNkFYnjwmnoDLy42o1oK8JFed7vovP4IS0TDMzoMsFO8rjsWer3aBAeArc87Q8DPhTVf2BCAeY65MKgflb2N+sYqrEo20wO0DvzL1Fg3gvdyVs58YnfX0O+57J9zqf/n8b8pWu9UsInhk6UYAw0P/RzNwQaYEEazIZVW9w+Z1J8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526072; 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=w0T9nP3ZSanwQugvPJzYFxAP3P6umOfUKD8PBONPApY=; b=jvczJ1XJ6zfnc50z9OZVP9fJ4xnxYhtDQhHyF+G1i83Urrs15Gm9XRHUYFI9noxCCmSuTf603Z0O/3OFeRdkYi+BvLIlmmXRA0iEf7g7NVtl++dMZcllJZIXq9sgHK+QIUkerzcCLlvS3Z0MOCCR86vrXb99iSLoZG142uG6AhM= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526072245769.1161887968608; Fri, 4 Sep 2026 05:47:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJK-0006Aj-8K; Fri, 04 Sep 2026 08:46:26 -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 1x2TJ7-000677-JX for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:15 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ4-0006nB-S4 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:13 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-49b8eeb3ff2so8927985e9.2 for ; Fri, 04 Sep 2026 05:46:09 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce47b9817sm177187135e9.1.2026.09.04.05.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:05 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 85C965F9CF; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525969; x=1789130769; 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=w0T9nP3ZSanwQugvPJzYFxAP3P6umOfUKD8PBONPApY=; b=zhzkUJxZ+fZkk5s6iQ/aD3H/2mZwBl4JMhTv41yJ9HxFtTnhA1BQL8riY3N57BnaOM a+QfNckA8XEcY/2WVAmyiRs1Y9Mz9qIpiV40BAZfh3rv/XZaC8MxwtpR6SB8bVOeg0Io 5GNQ00BQjOx4AUjTxt3SGMlJE/v4FZfot3k+iBm+cW31q6H6sH01AXuPOHjXVz+5/hFt PdOZmkSYtDX8oL9oG6T8R+TBtlJzZGFuqqyq9I5315MNWt42UMtVrptzzCDY2tMOMs3v jbT/CsRY2varjqU729fK8tQlQhPXEd1bnbkCsNcwAEGA4fTqEYlZZRHtpkpz4EVedgah CTbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525969; x=1789130769; 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=w0T9nP3ZSanwQugvPJzYFxAP3P6umOfUKD8PBONPApY=; b=Hb50A7c4WhfcLRxonREpbXcu9DqZGYVdpyBx/XsD8sdrRDjAr6PXmePV4O1loSPDDP yoPO1Kn5Aii2K/iBGsOKZkAUVFThsam9H5JaPFnfH/xgoNKAqvPi/vVDbjIeWcEYWIVH 5EtHpWmFYCqLPBS0RYW9FCcWLECxAEicLCBYcG6s+Q7vkSKeJbA2R6C9pdW/t2OVpkug W6W6pl+peeS8VkcHj7+/mMmiMhhM/4OoOG00krSF7DOMCSezWXqg8OkcXNsImo0pnUnc GIx7RmGTGTWDVWCG5es4hRTpI4ULk8D0fACSHVJcptJepWrvilgGeeoM1nkKDXraTt1u If4w== X-Gm-Message-State: AFuF++nDcKvpKBVVFFMStou6K3IKkbs//Lqq3fSk0d5uIKrmNKlGcDSn c0ukzYfkS3F1ZxHCSPtAVUSco6/FNsHTR4laxHGP9YRzlN8lN1Me/BF5qggW/S0mwDk= X-Gm-Gg: AYBFou3IbQzs6Hopgr+VtfOK1vqEqbrUSkXdX7aWqN6bI5f489r7+/z6OHxbozJYREz kY4wpA3C/djqREPPhONCL6Rf/R8RWcmE503oHRwdlmwzP82/RjKXSQw5r1EIuinGcOMFRj/iMTt IZ1viq5QkAlsZKIRWiAQ0gA8pCIg4IA2Xz7ie4nOxqmpizxOyYuyuMUGIV1Jbxgny36kj2g/V5r +dmdHZTSRhEQhgD0R1WUU1ZA3RtjzFL5+19MKD2ITDxlGU95+Wt8KXeKSRmxOtu4dH3jdh3WPA8 heWKKbz4C464Veowj1BohIHBqRylrHWV8RtHDtY6ugOtVeCPQPPrOstEXz7jYCA7jDz6nrYTDLp i4pnyg9nd3EHU0Kvs9ivCrL58FhXio7ndDgu8vprMZ2S24eX6AmckY98mbzxdEmCzm/RmKLwu8O gzHNSW0THjkpEQOM2ZFf0OoY1JhHkb/l7DGNWraXpKaT3mpbNEcSWA1ep2Th2I X-Received: by 2002:a05:600c:8b8c:b0:49c:e3ad:41d3 with SMTP id 5b1f17b1804b1-49cf7f4aea6mr55336995e9.0.1788525968802; Fri, 04 Sep 2026 05:46:08 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 001/105] tests/tcg/multiarch/system/memory.c: remove unused variable Date: Fri, 4 Sep 2026 13:44:15 +0100 Message-ID: <20260904124604.2207440-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526074373158500 From: Pierrick Bouvier Caught this since by compiling this file with -Wall, -Werror. ../tests/tcg/aarch64/system/../../multiarch/system/memory.c: In function = =E2=80=98init_test_data_s8=E2=80=99: ../tests/tcg/aarch64/system/../../multiarch/system/memory.c:97:18: error: u= nused variable =E2=80=98bottom=E2=80=99 [-Werror=3Dunused-variable] 97 | uint8_t top, bottom, *ptr =3D &test_data[0]; | ^~~~~~ ../tests/tcg/aarch64/system/../../multiarch/system/memory.c:97:13: error: u= nused variable =E2=80=98top=E2=80=99 [-Werror=3Dunused-variable] 97 | uint8_t top, bottom, *ptr =3D &test_data[0]; | ^~~ ../tests/tcg/aarch64/system/../../multiarch/system/memory.c: In function = =E2=80=98read_test_data_s8=E2=80=99: ../tests/tcg/aarch64/system/../../multiarch/system/memory.c:384:14: error: = unused variable =E2=80=98ok=E2=80=99 [-Werror=3Dunused-variable] 384 | bool ok; | Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-2-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/system/memory.c b/tests/tcg/multiarch/syst= em/memory.c index 7508f6b916d..adc7ac60c1f 100644 --- a/tests/tcg/multiarch/system/memory.c +++ b/tests/tcg/multiarch/system/memory.c @@ -94,7 +94,7 @@ static inline uint8_t get_byte(int index, bool neg) =20 static void init_test_data_s8(bool neg_first) { - uint8_t top, bottom, *ptr =3D &test_data[0]; + uint8_t *ptr =3D &test_data[0]; int i; =20 ml_printf("Filling test area with s8 pairs (%s):", @@ -381,7 +381,6 @@ static bool read_test_data_s8(int offset, bool neg_firs= t) =20 for (i =3D 0; i < max; i++) { int16_t first, second; - bool ok; first =3D *ptr++; second =3D *ptr++; =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526044; cv=none; d=zohomail.com; s=zohoarc; b=AAUhxZ/H6crCc2Rpd6sOMn5/+qOU7iP6ZDnxVhmt+Fv91JCTNSeQS6aLniPQUmJDyJofRNjT0SSVrja7zETgp90Zp/FE+WGMVG2qX2nKOkn3cevXU1L8fAunHYFP4PJfRLQdE8SH5c17BVYLXJq8bOOOhUCsvlkedBgYiGsYw7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526044; 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=jXn9DJwqTpAKUyrG+DQesDqCOm3NZekdhJQD5j6wRLw=; b=daMKKQarRM9EEvP6DkN7CaQLXy7p3p5gk0r9KPhmgGKowWYSjPtL935QUTvnzZRsETk6nVeOfGgNCEG1fS462+MPB4Wzk0yacTt5RBTy8b+ak98bs2D5lsPiq6bpMtTnniveqYA+HYZT/JVdv0H8y+6krU++R1n6XYuzO6qzBWQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526044083267.3448762235838; Fri, 4 Sep 2026 05:47:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJJ-00069K-KN; Fri, 04 Sep 2026 08:46: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 1x2TJ7-000678-Lz for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:15 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ4-0006mk-SH for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:12 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-49b965570d7so10846025e9.0 for ; Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf771de2fsm69746845e9.8.2026.09.04.05.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:05 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9ADFE5F9DA; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525967; x=1789130767; 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=jXn9DJwqTpAKUyrG+DQesDqCOm3NZekdhJQD5j6wRLw=; b=CreVU+r2TxkYJlq6qRlWEwjp6hjQ/wQ5Rqe8Eo0WT1ds+LcDOfCyvex8DCaUMYR9u0 wn3Bbl/2x8wWmNS+NlLLwpPgdR1ADS+VJyBiyFi1PHvsKepU9qy9nq5ZUC1eRQMsKqHK g0YuRYLTHWUplZ3eP7aLcKtAy4QYBE0msk/0LbFKku+El4qQQYVCHuitJtmEE8wYLp/0 oX/PipqtxlEsF+cXRXlAf8LFwgPKZq2/DiXPUr/Ha70BrW1dUpm59DidMUkFUQJ2Vesk 1Kg/iM4fBX8UGa6oMcAo54xBXcOS31PZdyp7rMqBYonzFc7XZvQQYxrWD4UWPCrLvj1z t0OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525967; x=1789130767; 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=jXn9DJwqTpAKUyrG+DQesDqCOm3NZekdhJQD5j6wRLw=; b=a44FDK7DXvyHZW8QpFEdE0KnP2ZeJGL41F86P4aVL4VpZhG+aElMve7Dkasv0F5YOW ClESJmMPmJJd1MS9fS5LV7tlF27K9GbNUf/E5KnBtekZZmxVffR3UHB0JqP2i1wHrYcL yMq07j1DoEVeYOYPuvpz4e/Lykc2sC0BiveNRxPQZLilN2B9z185p6bXmCClHI/UwExW EZwu6w18SLapPTzXSkdiX4jNpU2B8jX8LJ/TQhj31tx2X+5HjQUbMMxZVm8KmxMLV8sG KBNklzE+4WINqDfvnTwHxhAtHu1ryfTnctvKaMLLCeY3UBsE8/C8HW5OzQqbCJuw7nbd 3qyg== X-Gm-Message-State: AFuF++lSKqbbPUnS+ZbKYkMth1gQe4sXGCk0ATyV70Fi8uJf+m2GXVxG 9DmP8c6L0C/7SuYKlNG8991Kw7HKSsPiysD5W3WpsP4TJFfigZVDwWKmLYWjy+khzzc= X-Gm-Gg: AYBFou3cmWQy/sC5baLavKrlCC/FyDlYGyO1YieX4Ahqg26oRQBSgE5JQHclTGRtLSY Ypr/noarCwbqsp2CLBvmoPovUkCKs9iqXp9ImzgXeTmCcvagGCANn+Ssm/F3hvnDLYzqo7rUYv4 dwwt+ebHuBwre9AZD3tUvBDkM5y2Gb2iXBrGokPL/1biq7UFo8KYf6C4+TlYLhInG/x5pjCQwoL N6YK/6siYsfYpVwZENBWNAXKmxMESmL5Zdd7kybYFxgcelTZ5LhIswQpR5xE+Bytzk3pzwo5yST sfwA1z+PYNhQ2eTmfbPGoFjMl83npYk5Z+51XOjxDzTLzf+sOEJOg9H3Y/Hy4ItbpRVnANFDJ+B jz+8KKn/1UZyEBHTCgek1ddazI96Ezh+YxdYM/yH4jmhPHhJAghieEwldpSg8Qpm3bbK0RLieCW jc6FlleCqpxpx8nZtVcSpPUN93dWcYHfWmHqUZmS81CheW4kVOF0gdUUbtyLML X-Received: by 2002:a05:600c:34c9:b0:49c:f729:d757 with SMTP id 5b1f17b1804b1-49cf824f757mr65173725e9.11.1788525966866; Fri, 04 Sep 2026 05:46:06 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Alexandre Iooss Subject: [PULL 002/105] tests/tcg/multiarch/plugin/check-plugin-output.sh: take test output as input Date: Fri, 4 Sep 2026 13:44:16 +0100 Message-ID: <20260904124604.2207440-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::335; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x335.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526047464154100 From: Pierrick Bouvier Instead of executing test, just read it's output from a file. This allows to standardize how to call check plugins scripts. Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-3-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Make= file.target index ab4bf9c5d53..9bcbbb11286 100644 --- a/tests/tcg/multiarch/Makefile.target +++ b/tests/tcg/multiarch/Makefile.target @@ -202,8 +202,7 @@ run-plugin-test-plugin-mem-access-with-libmem.so: \ PLUGIN_ARGS=3D$(COMMA)print-accesses=3Dtrue run-plugin-test-plugin-mem-access-with-libmem.so: \ CHECK_PLUGIN_OUTPUT_COMMAND=3D \ - $(SRC_PATH)/tests/tcg/multiarch/plugin/check-plugin-output.sh \ - $(QEMU) $< + $(SRC_PATH)/tests/tcg/multiarch/plugin/check-plugin-output.sh $@.out run-plugin-test-plugin-syscall-filter-with-libsyscall.so: run-plugin-test-plugin-set-pc-with-libsetpc.so: =20 diff --git a/tests/tcg/multiarch/plugin/check-plugin-output.sh b/tests/tcg/= multiarch/plugin/check-plugin-output.sh index 80607f04b5d..338c9ced23e 100755 --- a/tests/tcg/multiarch/plugin/check-plugin-output.sh +++ b/tests/tcg/multiarch/plugin/check-plugin-output.sh @@ -1,8 +1,7 @@ #!/usr/bin/env bash =20 -# This script runs a given executable using qemu, and compare its standard -# output with an expected plugin output. -# Each line of output is searched (as a regexp) in the expected plugin out= put. +# This script checks that plugin_output contains line from test_output. +# Each line of output is searched (as a regexp) in plugin_output. =20 set -euo pipefail =20 @@ -19,18 +18,11 @@ check() grep "$pattern" "$file" > /dev/null || die "\"$pattern\" not found in = $file" } =20 -[ $# -eq 3 ] || die "usage: qemu_bin exe plugin_out_file" +[ $# -eq 2 ] || die "usage: test_output plugin_out" =20 -qemu_bin=3D$1; shift -exe=3D$1;shift -plugin_out=3D$1; shift +test_output=3D$1;shift +plugin_output=3D$1;shift =20 -expected() -{ - $qemu_bin $exe || - die "running $exe failed" -} - -expected | while read line; do - check "$plugin_out" "$line" +cat $test_output | while read line; do + check "$plugin_output" "$line" done --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526064; cv=none; d=zohomail.com; s=zohoarc; b=Z9/h57mpxAlrfweCCBs6SEvHyFxAMjqYYpE2vPSFiBlfLYcYssc9piKAciy7ksBrroL90t81RMVffC8rfunUzkqaeuuWRHtej/4z4cN3NKQMGe5pdiSw7xf19+0feQiUGnlI2BL6hjrLLoqCAhjmr/SNXqwqqYfIK6Z83P690jY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526064; 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=IUEaeTGNoZY11hlRxJYUly0+6nx1hoAKKSVuE4qdgRA=; b=m2QIS/AHNuec8dKzRtjgUNilc6lTqJ2dKR4wcP77iLd3wK+YJvyXXdHjrEaFD2eB8KpAwgg+b2uFLxdGjAJcXlgS11lfBLrJlxhWyVTav7rR8vw6ijuK8LL4Y9Izim68EtV9YP6p8TZgLrycj9W6d+vtU+AZpFKwoZfYAY59/xQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526064044963.6872643042161; Fri, 4 Sep 2026 05:47:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJK-0006Ah-88; Fri, 04 Sep 2026 08:46:26 -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 1x2TJ9-00067M-Ml for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ4-0006me-Td for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:13 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-495437bb891so7244615e9.1 for ; Fri, 04 Sep 2026 05:46:09 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858e239862sm997002f8f.9.2026.09.04.05.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:05 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B0D4F5FBD6; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525967; x=1789130767; 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=IUEaeTGNoZY11hlRxJYUly0+6nx1hoAKKSVuE4qdgRA=; b=W1YmmbH4Es7jYCcUwrjSHdietdTior98ZubU+AqMwa+D9E4O1zy3B6SpOi5PG39htn R7VpU3TDSaGtpU7gAiI17pE+XSJlvMVa5Q2whl80Z48MMiB/itw9CWXd8JVqEOeS5b1w BeBViPKvxgpT451P6l56bOJa037iog6SL6dKSJ6ajAirVIdKBSk3R3ur2z76QAGscoW8 /s4W+JoRRxy3Ymu4Fyt+VAFn9cbjBcS1kCuP2d4QbNdcpQvRfUrNpqQa0JxYnJRGTpI2 xWDXf2lkPc5bbB0xrK77Y3Vc/79IgIElWe6Y54gC2Gajr1uR4ckCJveP3dug0USs9R4X 5dZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525967; x=1789130767; 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=IUEaeTGNoZY11hlRxJYUly0+6nx1hoAKKSVuE4qdgRA=; b=FBt8PBA1huBDg2tJ1n0CL25obPSu8eFr+eUzac78EBCPcE38G//xZo3vbhRNYR7gCE HcN/vpBmkzHW8mh5ZRuvZxUQy6NvIFXrEUA63S3hdDPstE0EBq0AL/jtpb0Low87s1O3 rsuUqgNMpVzD/UI4CHdbsOB9tN34zJQul1m8sZGYQckz04Emhk+CqxI0JeS/7qGM0ilU 9pbxfpVcAGawHV9Xu96iYikkI0nFV094v2ULaj9V6sk/Z+xVIBr+q/7ZRL1XHoWCIOM0 ss93cRQ1t697yXk40XgxgWfIxPbMg0Iq5G47cE1uDYS2bYwQA5KpVANqRMnR/nR1o+tl KBqA== X-Gm-Message-State: AFuF++k/wxPIqCdFSM4TNvbg0FN2cFYzGJNS/wmxAyPi+3O3aAaFWJSf kXY0v3RIyTYTl4jsBH8VDowqPmgVe0VDSKXfKmquKenHJoRC/eLpiWBlP0Fjac5Kud4= X-Gm-Gg: AYBFou3SoHqUYmovAnFV5YkcDVYPZS0aAD7iQ2Sqvzi+Y3td09uCjmT+LbWphCKfjGR Oi1Al05tYm349Lj8uNW/bOJDsI1zBr/yi9McrJPfAmfXz+rESbtY+qGp6khWOnqQ1kqS8k0sRYr 0NL2ft394JpJmx8O+HWID2i1juSd7RDenQi2sg7cQu/GTW44Xul8anX3QKFEVug/lZgxuAftHMa ML3AMJ6aqk6bFacUj3ueu7QRovdHg5dPHBwitO6IA1HCeV3Vystt2ruNu4/bM45oLPzx6NVzynW KsNmpElkuhOhroq3Vj05xNLnn5rlUkypTTAx3QlrR6qLsIQ6Cabq7eq+x+C9Hc2Yr7F055TmOV4 p3Gheq1DGX+gGMiKAWAV2rUKi6SH3jL3rLfA7fuHg1PPcnZA6lo6CvCbGSop9CSu75lfUB49Ut9 GT5q4CECno0alE+DPBqX6wTuZmSuSJUM4iyDyopwvB0n9L4EXkuzo8PaBZP3m+ X-Received: by 2002:a05:600d:17:b0:49c:f2cf:ef8 with SMTP id 5b1f17b1804b1-49cf2cf1126mr100214265e9.0.1788525966372; Fri, 04 Sep 2026 05:46:06 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 003/105] tests/tcg/multiarch/plugin: rename check-plugin-output to regex-compare Date: Fri, 4 Sep 2026 13:44:17 +0100 Message-ID: <20260904124604.2207440-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::335; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x335.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526066327158500 From: Pierrick Bouvier We'll reuse this name later in the series, so change existing script. Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-4-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Make= file.target index 9bcbbb11286..35050acedc9 100644 --- a/tests/tcg/multiarch/Makefile.target +++ b/tests/tcg/multiarch/Makefile.target @@ -202,7 +202,7 @@ run-plugin-test-plugin-mem-access-with-libmem.so: \ PLUGIN_ARGS=3D$(COMMA)print-accesses=3Dtrue run-plugin-test-plugin-mem-access-with-libmem.so: \ CHECK_PLUGIN_OUTPUT_COMMAND=3D \ - $(SRC_PATH)/tests/tcg/multiarch/plugin/check-plugin-output.sh $@.out + $(SRC_PATH)/tests/tcg/multiarch/plugin/regex-compare.sh $@.out run-plugin-test-plugin-syscall-filter-with-libsyscall.so: run-plugin-test-plugin-set-pc-with-libsetpc.so: =20 diff --git a/tests/tcg/multiarch/plugin/check-plugin-output.sh b/tests/tcg/= multiarch/plugin/regex-compare.sh similarity index 100% rename from tests/tcg/multiarch/plugin/check-plugin-output.sh rename to tests/tcg/multiarch/plugin/regex-compare.sh --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526100; cv=none; d=zohomail.com; s=zohoarc; b=Ynad+KmDRKV58Qwuvjm8Id1dEFKIr7nxRHppXY8qld9BCmMy9v8f60rT3snaIgb4zgTfyrhDbyoTR48PQ5qv/Pt3auFfQcpsTabmxFzp4oVZk0xl6eaIii0e3+uLEHB52SloocvOZp8yI6P0IykhSBPwJPEj1kg1+FDi/baQiFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526100; 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=dt4brfYe1Ld1KcNl+DvbJ4Zd86uiFSmHTQrc5YcISFQ=; b=R0llwnWHuu3Df6VUA8/QrVxPFjqXiyzw+v8Jgp56HjjFhApE9o+03vlRwpHW0jjjwIgEFvpmZ96pOrMZkKoxkF7jzu6Lw1t4mY58sz1UY9oDU2TbUxqfw+UjRF/wLClE7xLoC4uWD40eGwrvIoWdtyrOq+5LzykG/KcpvMuWz2I= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526100584744.8158879620431; Fri, 4 Sep 2026 05:48:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJO-0006CR-Vt; Fri, 04 Sep 2026 08:46:31 -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 1x2TJ9-00067N-Ot for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ4-0006n2-TL for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:13 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-484362f5c4aso1155202f8f.3 for ; Fri, 04 Sep 2026 05:46:09 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883959f0sm6565213f8f.10.2026.09.04.05.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:05 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C51165FFE5; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525968; x=1789130768; 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=dt4brfYe1Ld1KcNl+DvbJ4Zd86uiFSmHTQrc5YcISFQ=; b=ZjKI0Fxza4+1pR2Rs6SrbyZNE9eeeO6FJ4dYPDAsq9kisCPDCht8vsPN9QohCVkBXR p+zhS+CrHz2Z0ET+UFK3XUx+5AGgDTbIr+eAcZC6oy19ET+1WvtQVmcMvcaspe6EPKbZ aYOuLv2qFmvhJ0uizIVu50hspQPnj5q1bJtqqRTjv7JF8GXmTUHb8doFSl5JJXgAtIP8 s9NkYXa5tyh/JR+CkyZ+8zuIuwK7Cjvp+2Rl+wicP9IkDoOTy23Ezkei6WzEP8bduUPy n2vMJbGOul9BsM3YH2zceLDbSgfbd7nIbiPO+8txMnEONEMUpDmG5TJ27rqW2oqZYG4l ZNIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525968; x=1789130768; 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=dt4brfYe1Ld1KcNl+DvbJ4Zd86uiFSmHTQrc5YcISFQ=; b=clxyMXomJ1f5X8vEw8P9M2Tos1xUq9ukyvcYyaggfLWr9X9BvBa1Mru/yD700LIrvS a4WO1uK+YpsMa3VT0GxP+vqkyETqdbuTdhhrxi225z0Ix59Yqtmw+GPk9U6OZRHucO8Z 595IMfRvSDeDgrDpuswf/KmkZj9OfQd/9+MJNfphzB4s1Qd+vsBmm3OP+tR01MU06bCv IoBswwM/t23qJl/+2JHNQDt0+oqNE2CBW/6SFihTqZSqRnPZfWvL+fA2kmpEJJwo1EXV QkA3JRDpULph9qn5jKM+ov1VpGdyXgL2d7QC6KMkzEghW/MEHebsJ9Vjeownjt5A7mxR w9CA== X-Gm-Message-State: AFuF++ki0BHCjJ7XcgTdEgL4c5lH/4RUlGD3NZSnHWbWsZzjVgDEIq2x x98G83uaU3rWG8LKuVg3tanKryWJr3+q2ZJcCAKJ87kWRczewlYs8ub4w1/FDmgWXHg= X-Gm-Gg: AYBFou2oLYEOPacjY2H8quKox5RO/bLQDH2pYjz3FjBG3xoocbWs7qoykZjfHILA4xI 7cwWL41NYarI62WHzmZqpyTkqFttfg0oJARPMxj/Sz1Gytu7MUGj9sZaR6A3nS8WmbIJdHDKw8T b492rQeLtefwOSbGt4vv8fDDQGmZf/nDCYoUK93o4MAKmj+WZO4WbUejEsJkVqwWmTMzr+c4DVd lPTAh+nR9cAwLTzn5hqKD3CAllVdlpOgJPIn3Ly0/vAejCg+lC0afEjE88AFwo4RkQm6reKYPsS Y/bpZXo/ZfL3I7BUrRP7Bm2W5caqtwxm9PwsdSLxQC08ae1PjSheBzynaJlzVzf7QnT4sgwYMjp JImoOg8ru/vdzJ1GAEn+1z22GpLgPVN8LSn0BAOXLeRVmS2ReGIQ4CKLkAQawiBgvnehY4Fx/q/ BdUDb8fIAnml2G33I4eK7odYg+fRwKbetQiP3d4RMZKmwLGSWkX0ORSHhHBnWe X-Received: by 2002:a05:6000:70b:b0:485:8be1:378d with SMTP id ffacd0b85a97d-4858be14b94mr6904142f8f.12.1788525968274; Fri, 04 Sep 2026 05:46:08 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 004/105] meson: bump minimal version to 1.6.0 Date: Fri, 4 Sep 2026 13:44:18 +0100 Message-ID: <20260904124604.2207440-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::432; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x432.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526102447158500 From: Pierrick Bouvier Without it, we'll get the following warning: WARNING: Project specifies a minimum meson_version '>=3D1.5.0' but uses fea= tures which were added in newer versions: * 1.6.0: {'test with external_program in args'} Which we require because of how we build iteratively our test command line. Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-5-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/meson.build b/meson.build index 5c9de307b08..0a64bcfc6e9 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('qemu', ['c'], meson_version: '>=3D1.5.0', +project('qemu', ['c'], meson_version: '>=3D1.6.0', default_options: ['warning_level=3D1', 'c_std=3Dgnu11', 'cpp_std= =3Dgnu++23', 'b_colorout=3Dauto', 'b_staticpic=3Dfalse', 'stdsplit=3Dfalse', 'opti= mization=3D2', 'b_pie=3Dtrue'] + =20 diff --git a/pythondeps.toml b/pythondeps.toml index f0f3af915a1..e4c10d4a9f7 100644 --- a/pythondeps.toml +++ b/pythondeps.toml @@ -19,7 +19,7 @@ =20 [meson] # The install key should match the version in python/wheels/ -meson =3D { accepted =3D ">=3D1.5.0", installed =3D "1.12.0", canary =3D "= meson" } +meson =3D { accepted =3D ">=3D1.6.0", installed =3D "1.12.0", canary =3D "= meson" } pycotap =3D { accepted =3D ">=3D1.1.0", installed =3D "1.3.1" } =20 [meson-rust] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526163; cv=none; d=zohomail.com; s=zohoarc; b=B6wYH+9W7i1+WJYasfeQjIbsoXMqN5N8zwt9DtNY6PbgOPnZzIW+EtunaBw30lud2xrmc+oAP4IgST9wW0gr0Rfkzok0N7yZ98GeJqwOP2IdduFu5ARXKVCSZcyk7gVrc1fe0qk0wmQVhETeZOM385qSnDz2pEMoktzScbTBp7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526163; 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=Xf02Z7MjN/uTSye2Ksb/ujP8/tPJPYv/wSoKUIQa3fo=; b=TT3Xx3k6KV/BULmYhiaGXioSZDYli1s6NEVzdXmZWxl5ECAYWCEyfFieceEJZQxM2app4ZCKO/sPAdAFmVk2rQlyygTST2LQMM015VNKrb+Kbi7H5ZZZHchTftkI4+5iqwV5OgVegFgiwt40Vh3jyx68Ww5b4JGbaOioQbzX8As= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526163898861.0115926599183; Fri, 4 Sep 2026 05:49:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJM-0006Bp-R5; Fri, 04 Sep 2026 08:46:28 -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 1x2TJ9-00067P-Rl for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ5-0006nN-96 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:15 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-49b8e527d63so11151755e9.2 for ; Fri, 04 Sep 2026 05:46:10 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce58da3acsm398591165e9.0.2026.09.04.05.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id DB6D06006B; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525970; x=1789130770; 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=Xf02Z7MjN/uTSye2Ksb/ujP8/tPJPYv/wSoKUIQa3fo=; b=O8yxfowavQg04lkQZRxJotrX3DpnsF+w9MA9x/l2D7twtKC2/bmZPsMkUBmJVvxZnA iDewfUyb45QA5vIi9kLugMdVvvZlsxyEnj+Qk0ga5b66ru4ixNnc+YBMVVttdIFj6WjG oUP5yuAyvS2WtDZfS39Z6xuI/jkco0zBUPrWZ5hY8V7E9pb3KKnV84KwhknTnd3Nzdm8 W4gEYZGr7enYNuCb5gegHr6L5viixtNGmR8TUMwXcwS0sP19L4GIhO0KqvVreSmybBsd Pix6maRQ52fi3Nk2kn8lDbnjItJaHD6RWG4XphlchLLFmPyAU2bXF3iOutn+EpedJu78 StNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525970; x=1789130770; 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=Xf02Z7MjN/uTSye2Ksb/ujP8/tPJPYv/wSoKUIQa3fo=; b=eutQ1FPbrRetX+imX/L5IeyqRSFQXZj8QcEvpStiIUu+kgQwMyjFyeRd7Ox+NZcdft Y1f7C2oNZXWeEygwqXLw3NbchfZxfKuJi/1hoT3E/7Re6kYSfDkr6w0U9kWzG+R4wTf0 cJ9YAkOB26tH+wOC/dJ26c+5kHPhdaT80auysummU0vf9Jhdwv0wUMkndczSMyYSWJXG t0g1r2qkMiXHjnj9QJ7+n29rii4e+/TqvyX0nsIMfdYiL741leyuKs3hUVD1NeGrEt16 gLpWBl51MJVrbOwkED4gT5J9IDkzH9rBkVzroXWK8jwrG8P1ngOD6XvNBzD8SaEXclIR 3SdQ== X-Gm-Message-State: AFuF++nLa05Qb+WQlrrQlmElLFgelgVRNGYTkFKr3AuHx2j14IMxM38I vY36laY8dF0dgiTCpmnld8nNAbXgeOTXj+1f1KA/XjrGf+9NtcvL2/NnQy27EvxNqGk= X-Gm-Gg: AYBFou3k5xWfHn8t9incPZp4qdsPt+o4tY8cXyr6DmP/ovgYiSEWJC01GIGIftEqyl5 3hlE8GpOwCMmobo7xh2+7FSE0vq+/hBQPJsbIrYBsWwZo4LVu10s45dRIyjlpJcneI7ppoVUOZT Js2pIzUI6rtaWB3/n5St+VldKhs34TtR1BJ1tdGwGwkI4RbOtXu2YD3kJSTPK1fnhrExc9qdutM 90cS9ooWc5sKWbc4soP9xjRLiZvJIpjkWQ4Fj3D280IvndCv0hjsN98yhMDjFZUJDEjLWjno2Nh aPMZmeHC1a2lm7fLQ7R6mF8SiUn1fS1GBToMFCttrHb5XRgXITK8c8hwJz6NX5HLDp1hlfVkGSo WSlnTnTsCHdlMlT5uWi/u8uvLloiYJHhqg4TVwI0aLBLy1Al3/N1/jDRA69g72jEoENq+xgI6n+ 1ZZop/EdMJkBzCpzknFvtjJp0JocESs43DnGhNdGboLE6bIX8AVE5jmoIsQFKC5mmwCeRaLTBjW A== X-Received: by 2002:a05:600c:34c9:b0:49c:f729:d757 with SMTP id 5b1f17b1804b1-49cf824f757mr65176235e9.11.1788525969593; Fri, 04 Sep 2026 05:46:09 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 005/105] tests/tcg: introduce meson.build Date: Fri, 4 Sep 2026 13:44:19 +0100 Message-ID: <20260904124604.2207440-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526166126158500 From: Pierrick Bouvier Every target declare its tests, and add them in global tcg_tests dictionary, indexed by target name. See comment for full description. We make sure that if a user repeats a test several time it won't result in duplicated executables or tests. In next commits, we'll introduce what's needed to deal with that. A test is compiled from a single source file (and later, a single set of compile flags). We make sure dependencies are correctly handled by generating a depfile. Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-6-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/meson.build b/tests/meson.build index 9ba04bbedd3..5877d2f60b1 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -74,7 +74,7 @@ subdir('decode') =20 if 'CONFIG_TCG' in config_all_accel subdir('fp') - subdir('tcg/plugins') + subdir('tcg') endif =20 subdir('audio') diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build new file mode 100644 index 00000000000..5758c7cc0b7 --- /dev/null +++ b/tests/tcg/meson.build @@ -0,0 +1,96 @@ +env =3D find_program('env') + +tcg_tests =3D {} +# tcg_tests is a dictionary with following structure: +# +# { +# 'name_of_target': { +# 'cc': cross_compiler, +# 'folder': 'folder_for_test_src_files', +# 'qemu': emulators['qemu-...'], +# 'tests': [ +# { +# 'src_file': { +# } +# }, +# ... +# ] +# } +# } +# +# Every test executable, is built only once. +# Tests for a given src use the same executable by default, and their defi= nition +# is guaranteed to be unique also. +# Default name is derived from src. + +# plugins come first, as we need to build the list +subdir('plugins') + +# Finally, we can create all test executables and test targets +foreach target, plan: tcg_tests + # Detect duplicated executables/tests, and report an error to force user= to + # choose how to deal with it. + built_tests =3D {} + added_tests =3D {} + + # return a clear error if user misspell a target entry + foreach key, _ : plan + allowed =3D ['cc', 'folder', 'qemu', 'tests'] + if key not in allowed + error('unknown tcg test plan entry \'' + key + '\' for target ' + ta= rget + + ' (possible: [' + ', '.join(allowed) + '])') + endif + endforeach + + cc =3D plan['cc'] + folder =3D plan['folder'] + qemu =3D plan['qemu'] + tests =3D plan['tests'] + + foreach t : tests + foreach src, setup: t + # meson '/' operator drops left operand if right is an absolute path + src =3D folder / src + file =3D files(src) + exe_name =3D fs.stem(src) + + exe_name =3D target + '-' + exe_name + test_name =3D exe_name + + if test_name in added_tests + error('test ' + test_name + ' was already added: ' + + 'specify a different \'test_name\'') + endif + + # build executable if needed + if exe_name not in built_tests + exe =3D custom_target(exe_name, + input: file, + command: [cc, '@INPUT@', + '-o', '@OUTPUT@', '-static', + '-MMD', '-MF', '@DEPFILE@', + '-Wall', '-Werror', + '-O0', '-g', '-fno-strict-aliasing', + ], + depfile: exe_name + '.d', + output: exe_name + '.test', + build_by_default: false) + built_tests +=3D {exe_name: exe} + endif + + depends =3D [] + + exe =3D built_tests[exe_name] + cmd =3D [qemu, exe] + + # some tests expect QEMU env var to be set + cmd =3D ['QEMU=3D' + qemu.full_path(), cmd] + + test(test_name, env, args: cmd, + depends: depends, + timeout: 120, + suite: ['tcg', 'tcg-' + target]) + added_tests +=3D {test_name: true} + endforeach + endforeach +endforeach --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526075; cv=none; d=zohomail.com; s=zohoarc; b=QLwjpMjXdT+amnXDIFov0yqlii88+rmIqvNqFi0w4e02p0bL9ImxhU1a16YrIDhtCd3RWxB1d2uzMTuMBJq8N1RlSTlWo8VE4f8tkdLCTawFFa3c6uVsUXk8hHurQUFXB9WjVkTmMf4IILOacuTADMUTVRJBOrQBvWQ4Wgz9cDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526075; 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=UNOH0UaIRqgspGP6aFoW2WW/YfZYC1hXCBrlkYsVaJs=; b=clr2HUw0unzZS6vuM5JWpzT9sJdFPWwh5kJ1IWPpw06MBtEKYKjJufMH7fONnhRkBSYo3RlYJ2wzWMQDXNe6oo/uRpCeIR63OT6hL6JL1oxbU+KyPurt4HmyOuv5lbx36tE/gxI2bbStWLR0ToNITRuMRe70w/k/KA3veAH1aZA= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526075309109.34788285362197; Fri, 4 Sep 2026 05:47:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJL-0006B6-4W; Fri, 04 Sep 2026 08:46:27 -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 1x2TJ9-00067O-Qe for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ6-0006nn-5O for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:15 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-49b0eab380eso8391875e9.0 for ; Fri, 04 Sep 2026 05:46:11 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883c6ba4sm6883291f8f.25.2026.09.04.05.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EEA7B601D6; Fri, 04 Sep 2026 13:46:04 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525971; x=1789130771; 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=UNOH0UaIRqgspGP6aFoW2WW/YfZYC1hXCBrlkYsVaJs=; b=lhzVYb2g9jCTngkrCJpatYDev7Y6y1uk+FEZgOMmNW3ZGqFjKnl+oZc/5QjX+uTawT Ld6QeYf1nUx46OBObAW9aV9HTZIQ57EtDOyA6DMMmsD0tB3h3Najs60LVsNAQ2m0F73i D7Nb9gqtyhZxlr1pjvfEN+LDpRnbIB5nQlkr/C4yCQQyLUlIrNM1J4fjBRjrm44MQjlH SjcW6Kq+mCtGkH/BuUk5EAQXcOyoe3cqNldF6/zD398ElqbkSJASGml3/IPcswcIacpJ k29c0AYvvd6StRWhtTbRLaYdVUOJ4t2WCJtVTGyzGipD2gcAzPsn/UQV3dto4Ex3fXm8 M5Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525971; x=1789130771; 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=UNOH0UaIRqgspGP6aFoW2WW/YfZYC1hXCBrlkYsVaJs=; b=jWW+qKsa0w3uPzBXxAt9XMob5GmYD4KS7csKDQIk3nRVpWRSatJFrrbAOjjM62TeyV /QGh35Vqh4yeP5XjQqy8bcQSvUMcjb3lQfMbJd3rjVXo7D54S7T4leMjYVzFLf5sUbAO 4iU4C5UHzEE6ZLq8/NiOWjngv+2T6NqBrCu00oEjKC6eHxm81OnEM5dlab2MyUjuHTKZ GdaVvojfUypXQS5FWPAfeOE4VT1lRrp/FAZdWsUfQbHbPK//LnPYMockCgtoRkXKvXKL E+6BBG/cJsa9CbLucCB5sgmhJeW7v6RD6wnMoFDJtnH0x6Vs7MNrTu9IRoKVaudGxkyK h9nw== X-Gm-Message-State: AFuF++lvdCVGBdMmBtUftx/Nd0koI42f+udn4cXQRhvRoDoFj00ZYVJk k8h9eitI5yNKNRsY8V4HzkSSHBN5b2TzZjL/Ytkt3EPa5ZwyCs60ioefuzkVKIXBl7o= X-Gm-Gg: AYBFou1FV8E3kihJNZ7ZRaW2K450KfS+7+ZqNLTqo/3d4yBW9EtFMSLUMlSSh7mWbBt c2oBbiJC5YOR5aFLJbEnddLeL2BRw/IrmeZgKIFo9fDihI+QJwl+irlv6xDdOZKw/NSTtod042Q uTHFxUd7Id+96F2xjS191ydRGguZFHvkZ5IRCW3bICveytjN/GB+z0EfuT+bUv3jOblqRPe9WRB 83NPRo1wMTsRnFKS+T4Q4wn6+4ly4WK9jslaKCujPxrGipZHwyZq4jVeIIZ2OhIlcQafqiZdxok mFlzxd+ahaFD9pHpqvLSiMNgdaW19sZB33OxA/lz/vECBc0aJW/uTK/zfkGQkR7A5e8rinQ0dld rIl283kfWYCYUxrtRgcfRVuPquQMd7ubZYJvZQMAjEBYEnyAotZ1jqkRRxFftP2WCK1v/JGCyiS 8DDt9uDg9Kx3uo0zS+WCmcu6Ua55rRCeZReCkkmK1E1+/5BTypNj9BLo68485y X-Received: by 2002:a05:600c:138a:b0:49c:f13d:ffeb with SMTP id 5b1f17b1804b1-49cf13e0642mr117722265e9.15.1788525970504; Fri, 04 Sep 2026 05:46:10 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 006/105] tests/tcg/meson.build: introduce exe_name Date: Fri, 4 Sep 2026 13:44:20 +0100 Message-ID: <20260904124604.2207440-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32c; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32c.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526076507158500 From: Pierrick Bouvier We add possibility to duplicate a test executable for a given source file. This is needed when different cflags need to be used (like vectorized vs non-vectorized for instance, like sve tests in aarch64). Reviewed-by: Richard Henderson Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-7-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 5758c7cc0b7..697b826a382 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -11,6 +11,7 @@ tcg_tests =3D {} # 'tests': [ # { # 'src_file': { +# 'exe_name': ['provide an alternative binary name'], # } # }, # ... @@ -18,10 +19,10 @@ tcg_tests =3D {} # } # } # -# Every test executable, is built only once. +# Every test executable, identified by 'exe_name' is built only once. # Tests for a given src use the same executable by default, and their defi= nition # is guaranteed to be unique also. -# Default name is derived from src. +# Default name is derived from src if 'exe_name' is omitted. =20 # plugins come first, as we need to build the list subdir('plugins') @@ -49,10 +50,22 @@ foreach target, plan: tcg_tests =20 foreach t : tests foreach src, setup: t + # return a clear error if user misspell a setup entry + foreach key, _ : setup + allowed =3D ['exe_name'] + if key not in allowed + error('unknown tcg setup entry \'' + key + '\' for test ' + src + + ' (possible: [' + ', '.join(allowed) + '])') + endif + endforeach + # meson '/' operator drops left operand if right is an absolute path src =3D folder / src file =3D files(src) exe_name =3D fs.stem(src) + if 'exe_name' in setup + exe_name =3D setup['exe_name'] + endif =20 exe_name =3D target + '-' + exe_name test_name =3D exe_name --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526132; cv=none; d=zohomail.com; s=zohoarc; b=Z70MNypL8vHJqArVo862TiDgxq/RM1DQKj9wvoSxK8rsSQDSXEEL7ryo3+3sbRZr/Sc5P/cRKye0alym/TLFDMZhcaC8VetXa3jOq/kEYauE5mVe/j8nOfFB2u18+7h5ioAbZkJ264PlrzomZ/YhlbLcWmKzA/f7Vljiw7ItMJw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526132; 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=KY0Q2xm8DPInuYXHS9vmUOmfWFRXKvavX05e4v+n548=; b=h7xukGANQOF9G4TPGFYVlZcUd9PATHLUAHUVrGyECfrBEjEwIqNm7MHqV4ZdzwiltdIEFWUt2W0IvDy9HrfMxzimcqPG0QAY8hBV2BEGq02qghYXF+OGxqOExuAe4Mgm+pyp7POJK9lwCrPp4Deokky4rqqRiBovkMTB1nXo1qE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526132518955.7848049692176; Fri, 4 Sep 2026 05:48:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJN-0006C1-J2; Fri, 04 Sep 2026 08:46:29 -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 1x2TJB-00067c-Ug for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ9-0006ot-8z for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:17 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-49556f97a9dso8325745e9.1 for ; Fri, 04 Sep 2026 05:46:14 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm2433746f8f.3.2026.09.04.05.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 12DAB61351; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525973; x=1789130773; 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=KY0Q2xm8DPInuYXHS9vmUOmfWFRXKvavX05e4v+n548=; b=TP2xZxmnXRpItcj0UyPdQWXCRPARvn8bc4YlH+qdkldmgh8GprIwaeMH2FD5Sd8X2W 8enQ2Zh2Jc5+qekRyI7Gnx3hvw1iyHDwTZ6O1mtVgdDCN1RDxJQ4xq05iwG5sSgSwKrr 65eAUqRO2Odhdiynw/DJi2YRN+d3NXPjmfBoWILWww0EI0t1cgp1FAv6eusBn1eSxLo1 BGhiT1GIahfdCKS4Q4DzaU20g0wKUIyqHjin4PCx5TDvNLDEdNI703m9fG66UXVO4XDE phD3Bvaf9tmzhH04JVUPbCDc63Eokp+TXtQ+G4ANtOAesGWdNOC0daNReVQubiwPHV7O lX2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525973; x=1789130773; 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=KY0Q2xm8DPInuYXHS9vmUOmfWFRXKvavX05e4v+n548=; b=eYwQiF0lseasHJFZC/8qPE5rAEo66EDWiD/qOn1U+DlD/TUl34mcD7bwmmr8RkySdP vWbBh2b/6f3C++4RJ85bJAwNN0IZySyLNcPL/CzW5n7GEMaK0pPe2bsUk+r/Git4BjbP cvV9zCovJ9FS9GHPRind/Fht7kMjC0vW93uJXZr2re/fzyj7ujr0eoZmb+ieVUl6bZ9q l4rynMh46UPwrGke6FAVxKNMdeUR63ebhIc2GAvPOEKjakDx12jH2pkmCCKdCjqcMmZ6 A2FoDlAyen/Dy4sdAdKqP+cFTlP9C4nKG/egc6sKJ95LKgD7t387aOxfHZNk1IK4iG4B ohyw== X-Gm-Message-State: AFuF++lVublgRdv1jpS1YrpU9J1gX5Y5Zkq/6zFFCIWvxf9kog5f8Sxa hgBlz7G3yh/+enddzoCMFW3WgAUp/j/1QR9i1gbhqCNxHUAwc1xZVf2VH1ENDLPYCm9FCelN2sd DHJ+Y05k= X-Gm-Gg: AYBFou3gcKemEHpgT4C8kzJjuO9zDnJvUiavaxCQ3TAdl8Ha49csC53Vjn7+4n1W/PA cyQiBaqmOhgHmPzKRCLFxGXeiMjclG/FEU3N+gP1xFHzbm7uf8uE7upKGdc7/G05szfStJpJoDw BVWfDwbe9RINYoVyPf+zONyI4LUY6fVx+NyR+wBWM0BV7RbnPu4Y5JEfxxTn+P6VE069wKXt/uQ UVZzKUK2bavJCMkISZRlW905Nok81X/UUDj5Z++PRMxUaGoTFbyEhRTx1IOuizLs1BfRGAKeuyM VpwrJwLzRJ0dC3HUbUh4COX91ik6ktAtoKLtM52jrb+PIQIN4S1u5PZ68YMxMqUb0OUeN1HNZNo CmHtFrulC8UvD89E6Gt5L9u2fjdE/iKe0irJNmBz+Sx1iThw8emcHVRuSB6mN6QU3nyFyV/KRud bkuzvPacH7JWerBvn5sfG2MgA1CjtGID3HiflaXDLxULH4OivhixAZNiT07g7wfxK6s7qwsnE= X-Received: by 2002:a05:600c:190b:b0:49c:fa21:e743 with SMTP id 5b1f17b1804b1-49cfa21e92amr38781305e9.25.1788525973436; Fri, 04 Sep 2026 05:46:13 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 007/105] tests/tcg/meson.build: introduce test_name Date: Fri, 4 Sep 2026 13:44:21 +0100 Message-ID: <20260904124604.2207440-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526134656158500 From: Pierrick Bouvier We add possibility to duplicate a test for a given src. This allows to declare several tests that still share the same executable, thus saving space and compile time. A side note to mention that meson perfectly supports declaring several tests with the same name. However, we prevent that to force dev to clarify what is the intent of each individual test. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-8-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 697b826a382..ae7ec998f63 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -12,6 +12,7 @@ tcg_tests =3D {} # { # 'src_file': { # 'exe_name': ['provide an alternative binary name'], +# 'test_name': ['provide an alternative test name'], # } # }, # ... @@ -21,8 +22,9 @@ tcg_tests =3D {} # # Every test executable, identified by 'exe_name' is built only once. # Tests for a given src use the same executable by default, and their defi= nition -# is guaranteed to be unique also. -# Default name is derived from src if 'exe_name' is omitted. +# is guaranteed to be unique also. Several tests for the same executable c= an +# declared using 'test_name'. +# Default name is derived from src if 'exe_name' and 'test_name' are omitt= ed. =20 # plugins come first, as we need to build the list subdir('plugins') @@ -52,7 +54,7 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name'] + allowed =3D ['exe_name', 'test_name'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -67,8 +69,13 @@ foreach target, plan: tcg_tests exe_name =3D setup['exe_name'] endif =20 - exe_name =3D target + '-' + exe_name test_name =3D exe_name + if 'test_name' in setup + test_name =3D setup['test_name'] + endif + + exe_name =3D target + '-' + exe_name + test_name =3D target + '-' + test_name =20 if test_name in added_tests error('test ' + test_name + ' was already added: ' + --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526080; cv=none; d=zohomail.com; s=zohoarc; b=AZXkKoA+njV3R1Uxos80dJ0L5qZv/mOC5QeXbTGnSbil9EiNtH5IXyl+5UmrIXpo7qnxbmzP8fLVC/O5gLT9vvTeryE63BcOd4IJSvgKKan7T2FsM2BHBTJxec2nIP5A6RvbWJa5VNDAm25xJP87Zj2MywRI6rPqtac39y0ONxA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526080; 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=uvZ1jTXR0wR7UEV2V2bz8d2L3SPLjIhoXhqkU7B3Bog=; b=ju1cI/XlzBFwUOP8dLIKg1A2GRYBrLPWDPL4Lm759bvIkTyjmhhmv9oG47NKoxORAmE4rgc0BmGWO7QtGMvOan7fsz42MhOUQc2Ict/TX+YztqoPcsjCssFHFhkHUw4ftIC5ZuqFoX8ymlekrPZJaP3gnbUcPArNntbs7F+Pp/A= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526080299409.34532890064986; Fri, 4 Sep 2026 05:48:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJK-0006Ai-8W; Fri, 04 Sep 2026 08:46:26 -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 1x2TJB-00067Z-7e for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ9-0006ok-8R for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:16 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49a97714f5dso8047555e9.0 for ; Fri, 04 Sep 2026 05:46:14 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfd3f815bsm21881695e9.4.2026.09.04.05.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 26CA161377; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525973; x=1789130773; 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=uvZ1jTXR0wR7UEV2V2bz8d2L3SPLjIhoXhqkU7B3Bog=; b=MWIQSuXQF8k/3dFwG4EN80h8EQdU/ojRz5AVvMOfH6dY87Z8l+qtY+3kxw7Zs2uZPP Ue/pCH0/JqtGulJ4BnwO5/Wt6JC0hFY44YeLjUsig/vhbzkzcw6r5yzsQirnGG7B6OUq IJzS1qaRZOKlM96SofUVcxpD15zx4oQ/JC+p0NayItpAmLLHyJyMukITPc4BV6qWmBwA ywUAPYPxXes5ifm41alwSrkgNqw6tuh+O53tyqmR7wWU/GQS/6mnIA/paY29x4BygH2N INe9KRlJ5BkVZVXWuvjPY511KdjN9xU86yys2eFfKYEqwavhTawALNtoS0zAXyOwt4ub pplw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525973; x=1789130773; 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=uvZ1jTXR0wR7UEV2V2bz8d2L3SPLjIhoXhqkU7B3Bog=; b=fVvHtzOIGmSk0iQWXvfo6TgoFuKXN90JUtsbQV+oiE3KTR/PoMNNTSNReUZHwGXlOW fHF/hiGl21Xx0ix9OR8QIDZqj2+K1Ze16MSoyTcPuhTTUtr62MNpnEE4qdkz8AEpdldJ u8RaX5IM75PHzjK61wFPaBODV7d1fBpJXaIVHKJf73hufAdtGEGfHM7xVd5zbwI45OaR KsGhC39K+b0vh6Ypg7ZSOwmRKiMO7nb3bkAH8fZK7+s1vvEBcXSWGSvEFoUwyLbkL3T7 qklyF823K7zFPYRg1s4CG0XXkKvDZu3eZOs5iV3vTc3peSAKsJV0SCgNvOkvywBxOLHf IQrA== X-Gm-Message-State: AFuF++lBtxqI//HvYPxXuCoq3as86fqUQB1pJ72Lr3bAaB2wxriDX6zy 8QtT7QybnBF5H1d/zE9e0iDpDHMWm+Pjn48CH/MlX/oWCjVzzOVaOmCqBBvrtnExwkM= X-Gm-Gg: AYBFou06k8r8+R3PqBFT0QIkPcoQ1xwA7ALizOthG0UAhAMMCMrzfdYIw91A33BcCPE vXti1RF8X0L7YPIAqKxYhhouxD36KHeMezHPdsW8dEsWWwJNDe4c+Z2cFUGFRBD/XZP4oRUFJuy lZECSO/+H2sYyWhQhIfHEKps5YUda8JWgCkbJlFb+MYyN4gkIjJTJ5L31GZuBX5NK1ZKFcMY15q n9mlpKeP1gihCk+Ktp1NwP4KxG1xC6eaoKvypIjXuXiE6MzFy74QZphCQKMZmoOmKzRWYx2rO0+ L0OK72XV3wwN7y/hw3muMZVZ+mqIX3IEH4qvyijUWEO4w2lxnacBljpwJK74jGOxUqFbig0OGQD 8Z3SXhei0Cub+mOAefReni0ru8WD+d5K8OgbzS0npsMHMzKUZ/Hl3tPEvAF7x4wNs68n1YPrCs0 df1lcARhWygBn7Um5ulF/X1tmPJAEGR21m/+7ifZRB89QuWWGeRATJaefcum+R X-Received: by 2002:a05:600c:3b0e:b0:49c:eb04:1c49 with SMTP id 5b1f17b1804b1-49cf8254d53mr53446845e9.13.1788525972882; Fri, 04 Sep 2026 05:46:12 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 008/105] tests/tcg/meson.build: introduce cflags Date: Fri, 4 Sep 2026 13:44:22 +0100 Message-ID: <20260904124604.2207440-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526081737154100 From: Pierrick Bouvier We add possibility to declare cflags for a given test. Since we want to preserve the uniqueness of test binaries, we prevent repeating those cflags later, for an existing binary. This ensures one executable =3D=3D one set of cflags, and if dev needs duplication, they can use a custom 'exe_name' to override this. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-9-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index ae7ec998f63..e8d8cfbcf88 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -13,6 +13,7 @@ tcg_tests =3D {} # 'src_file': { # 'exe_name': ['provide an alternative binary name'], # 'test_name': ['provide an alternative test name'], +# 'cflags': ['additional cflags to compile test', ...], # } # }, # ... @@ -20,7 +21,8 @@ tcg_tests =3D {} # } # } # -# Every test executable, identified by 'exe_name' is built only once. +# Every test executable, identified by 'exe_name' is built only once, and = we +# ensure cflags are specified only once, on first declaration. # Tests for a given src use the same executable by default, and their defi= nition # is guaranteed to be unique also. Several tests for the same executable c= an # declared using 'test_name'. @@ -54,7 +56,7 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'test_name'] + allowed =3D ['exe_name', 'cflags', 'test_name'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -82,6 +84,15 @@ foreach target, plan: tcg_tests 'specify a different \'test_name\'') endif =20 + cflags =3D [] + if 'cflags' in setup + if exe_name in built_tests + error('test ' + exe_name + ' was already built with cflags: ' + + 'remove cflags or set \'exe_name\' (if cflags are differen= t)') + endif + cflags =3D setup['cflags'] + endif + # build executable if needed if exe_name not in built_tests exe =3D custom_target(exe_name, @@ -91,7 +102,7 @@ foreach target, plan: tcg_tests '-MMD', '-MF', '@DEPFILE@', '-Wall', '-Werror', '-O0', '-g', '-fno-strict-aliasing', - ], + cflags], depfile: exe_name + '.d', output: exe_name + '.test', build_by_default: false) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526156; cv=none; d=zohomail.com; s=zohoarc; b=nv3WmHOWawGMwB5VUB+Z1bzctitT7kdKDDyxHzqHjufxTJAiH/8U79SPWBrsLeAc1kIfNNpi+GcVenndenQj8ZJfaROHOr0ejVW5Dz9PRk9z5hE1DW2X/T9q7XZvDTo2ExRrOtuXB28kbkW+vK3YuaLACdokjA7IcteykeH49Bg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526156; 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=teGPBp6mPJUJs4TaZpHXhGv+0Qt5+TzsS+elK7wlTxQ=; b=KYen3ZU3vZUoMqeeQRy3WNoRmbXVrz0athaJw55BzsAbF50cxNIyWXJ56OQWr5HC9HuVTwlru5jYlRelkS8M7Vz+zKtarSQRlS7OqUgG/Shf7E21joutI8UIyFRmKRQ6OVe0QxGp4HfSAGTTk6fuqTzJZjBfVHxx5lJ1VBdsC3g= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526156619673.1028181372541; Fri, 4 Sep 2026 05:49:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJN-0006C6-Ru; Fri, 04 Sep 2026 08:46:29 -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 1x2TJA-00067X-Gz for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJ7-0006nx-AO for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:16 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-49b8f86c6deso6330725e9.0 for ; Fri, 04 Sep 2026 05:46:12 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858ab73c2bsm4689604f8f.22.2026.09.04.05.46.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3E19861378; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525971; x=1789130771; 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=teGPBp6mPJUJs4TaZpHXhGv+0Qt5+TzsS+elK7wlTxQ=; b=YT0bOGN1q1Gu25bmhqpx8mwFj7Vmv9glQFJNtxuFFsKtbIvloMXPgLzMZ12Zt1fW+w nP0ID5utPVQjYfrp39XlpVftpfnBU8QHYI5lsbFJbg+IPmrFhZaWeJHpQIGrSaeWO2Tf 1cpRhrN0JyMPgdq7P6/UvI1X4p+CsA0UOZA1CjsXcxRbElps+9/SvFzGzEXuVH21qEmY 8IQ7/vc9Lrm3aAT/t6s4ZAHZPHycHw1GBYQTxzcwWdhaQTFvkXV4j4hcBtVWjC7b8TIl Gf5sQxeIsRPgayZ9SrzBJah7xGsnRTkuTobs00dHQCyMIAWRwqxWOIB5ENgdD0kEZfVJ uYkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525971; x=1789130771; 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=teGPBp6mPJUJs4TaZpHXhGv+0Qt5+TzsS+elK7wlTxQ=; b=ZnY35xXH/cxm8Q4yg+FWp1TNnplYep+TkcblfPdnJmkbVJZ8YB0GnrIheZCNcI3KQD vNXyp06tyyd+foj/Ikw/Y9NofxbiYFKAkj8BDr2mkuEGqOvGyEoCE1XokphqXhdJP18s VyBEdwuko+yR2+aNurVngkIBN5ivpUds329D92VKp05DxH6gYXzzsj2Z6th5QYlbKGYu uacW89fE4adtjfZHUUxOJen54o0nBCoFAxB9joCMudVFDz+pvJovFLqQwYE1kcPLsU9+ 7S4mR85LfeS4WjpC47RTgU6Ykck3o3U3Vkykk+1XI7QWVma1tmtpZMw8B32aWgFbxWsQ XMIQ== X-Gm-Message-State: AFuF++l0PgFfixiUCQPorNSpEbSUy5ApfEt8qswr0vMt2T3GxnJoe6YM 60Kl+cuJoD82/Vway6pWCCKdDDFAHGZsT7XxdBuqa1H0bq34WJybAA5wGEr2fmgrj3k= X-Gm-Gg: AYBFou3jBPQkMeiT27sNXroDX6+IuJONeK0wrfiyacIixQpJOe6ratdPngL8Fh2HOGo qTQAVuT4l+1aJDjMDRayiuQ6b2bI6QAJom4cAno0cbGjlp9uiga8Geckcdi6UDEiS24AIxdAPss CUWrVMai0yGwHaWMCyMt0vIDlAlFxO7IWWrQx/BTefEYOaMj+WSCBkeGW+2wA2tQkXtn5C3RH6+ BiYCf28CW613RCW0f5DQ7pyva1pFlVDVf/+lcq/58h8C+jn7VPnnjxe2AqEyBdzZmvZVZ4CcCD1 N5L9Ia46Erv5HpXn7LpoyT1LKIztCS3EwIayTtFGxcc/IHa1H6Igbs8NIUjsux2yYAEePo8+6Op A0ngjqDJnfR1c/Oc8BiZ02xCQIohOLQ5EdD1qKN+bNRb44aeNaSM4UIeLn5KhSspKDf0FmljcRb swPdvoD9TL20H7GYqylAvUdp+k1cCP8JJw5kl2HaXROAO/huREtZZuvRKja+OZ X-Received: by 2002:a05:600c:a01:b0:499:7219:122f with SMTP id 5b1f17b1804b1-49cf8222d53mr57595415e9.4.1788525971291; Fri, 04 Sep 2026 05:46:11 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 009/105] tests/tcg/meson.build: introduce qemu_args Date: Fri, 4 Sep 2026 13:44:23 +0100 Message-ID: <20260904124604.2207440-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526158144154100 From: Pierrick Bouvier We add possibility to use custom arguments when calling qemu for a test. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-10-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index e8d8cfbcf88..a7699b7f62d 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -14,6 +14,7 @@ tcg_tests =3D {} # 'exe_name': ['provide an alternative binary name'], # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], +# 'qemu_args': ['qemu command line flags', ...], # } # }, # ... @@ -56,7 +57,7 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'cflags', 'test_name'] + allowed =3D ['exe_name', 'cflags', 'qemu_args', 'test_name'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -110,9 +111,13 @@ foreach target, plan: tcg_tests endif =20 depends =3D [] + qemu_args =3D [] + if 'qemu_args' in setup + qemu_args =3D setup['qemu_args'] + endif =20 exe =3D built_tests[exe_name] - cmd =3D [qemu, exe] + cmd =3D [qemu, qemu_args, exe] =20 # some tests expect QEMU env var to be set cmd =3D ['QEMU=3D' + qemu.full_path(), cmd] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526236; cv=none; d=zohomail.com; s=zohoarc; b=clNrFqrzbnSha1n+df6BMwLI0IJWpCN/zSuoEI3wH8iY4x33xW0ddfkaIn7hMkakELbyBaSoKhcnRTob1d/sZVUd2ZPFqFsswa9EHSzsSp9bqaSkfFr0JeIdB/BPyV9b+ldJGk5FPxMQ7+Put8p8VSc/V9gOPp3MYyehyqM1RQM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526236; 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=Ur+ntwxX3eXj7Zio7Z0Blbehu4cxmDZiiM7xTvB3xTU=; b=VcnfDwU61youAnSoeiB2Z3FdCtKxpE86R7SFD0KNF1AQICn6EG7iwdIDYK+nhD+Z7m7Myc1iMBw2Vqxwt6LmhbFFiWyz4UZmhGQlGKuQuaddYStedSzxNPdV7Ub5xJA+HcyGmr398K4xgu/NpF94xxLQkApxmdbdqQP344FcS9Q= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852623680018.440655194482247; Fri, 4 Sep 2026 05:50:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJQ-0006DF-7Z; Fri, 04 Sep 2026 08:46:32 -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 1x2TJE-00067l-FM for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJA-0006pC-5i for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:18 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-495590dde14so13332625e9.0 for ; Fri, 04 Sep 2026 05:46:15 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7736132sm66126895e9.12.2026.09.04.05.46.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 562AE613A9; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525974; x=1789130774; 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=Ur+ntwxX3eXj7Zio7Z0Blbehu4cxmDZiiM7xTvB3xTU=; b=RxoIPPFIpuo33h6edNTvC4vyhUr4EdGs1dRYQm7upL6fvK2VwhyWI8v9NdnxLXdMWq DqD2Iu7yUecbe2KG7+HLBCHtWth73T0UXUFyS0QVXswGCB1i0qIYwZWigEoD0d11AO5R AQye3kGasxAwl8Np2i52qevUnvyAo1u1jNrB5BE+yQ9d74mjBWqCLabbfi6waePZQ/wr zwrj/yjaEz85iMoiwHCNGhl7HRKLV4LBTEaTm2Y/nmsda2yAI5Bobvaib0VAg4QVhG2H ooyjaZLfhnYVa1HVvUegJDNdy2aYS+iX/PxWV0/O0xfYABB5OoV4w/VKi7bjrH0wnm9f ABuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525974; x=1789130774; 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=Ur+ntwxX3eXj7Zio7Z0Blbehu4cxmDZiiM7xTvB3xTU=; b=IsE9b5VMzqG7ClZjodZiuQg9pH/k5b8hTBeJlhUfTi6mycxr45TbtjyJ2/IC5IwOpy 0JcVkeVTZFwzjDv9Ls7FZfHAczPXDDLPTk751YQnUB0cGeHsmie3nL5IOmkjNw2+ZUJw vavnqFiIRdIcpMl1/H2Sk5F2QxxfTXmv9FUTddvvCmrP4rsgCSiBrPoSwOEBydir012D p5DB72konjSL/E/jUeS/NCQBErDeQIQHjkfUsowrA0dho7aqaciEATfPnP5KMeBWR0hZ FL1J3Q4B8cct/fa23vDqyP4Uk2SNYSczbg08zd4Y4px5oqYT7GthJaZTJZKYa//dm8Sr 7eLQ== X-Gm-Message-State: AFuF++k9XjVvbQFo3NAQdMNivn+08z0ghuamp5ioDtLYouWcF9vmy1+R aRCsxEs1fLqzT6qeTofSrMY7jLtuMHuwQKinEWMly9g8k1lfE2R8GIhgKUEszbniCL0= X-Gm-Gg: AYBFou07hhwGAGeocGNzIj+aKZxVwCGcXDydKrOS44gNs/zRZfElHC9jQh7ruQA/yu9 e0mARpOPqEHj5iBE+05W6C5E7voA/KCwlPY64Cp6+Dzx5tezkJi514rZeQkaLbNp+g6ATqYH8kF dyH8jkopfxWYTDzkhSEDF9K0CmTYog2we3/wVAN433NPYa3Gs6OBd5N7ZiSIyWnWMuUE/MItuw5 hOgSfjceY4syAdMj/kzlHxOSx5/JN5CrnxjOxdzBOLhdnOPsM/F4Tg2gK2yIQreHTQ+SJFQeX6u Uld0019rmd7sGnIfWBQN08SMMrGwL914CnYZ9UBdJku9W0tH5QlZfriQqZz6uJyieTZWmnhhzHl 9KPopkXSFX9DcG0R32teD3CQsRIhiFRCeOkiyU273pCxSvlCgAQmvG/dbGJcyOv2My+0REAwZPe FQ9D084oa6kuC7bigQzoIBPTt2XL5Qj0t60q4qbKce1TulnbkYXqnTCp1+g3Uv X-Received: by 2002:a05:600c:3496:b0:499:b65d:1250 with SMTP id 5b1f17b1804b1-49cf7fe62admr94138225e9.2.1788525972143; Fri, 04 Sep 2026 05:46:12 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 010/105] tests/tcg/meson.build: introduce env_var Date: Fri, 4 Sep 2026 13:44:24 +0100 Message-ID: <20260904124604.2207440-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526238433158500 From: Pierrick Bouvier We add possibility to set an environment variable when running a test. An example of a test requiring this is tests/tcg/multiarch/linux/linux-sigrtminmax.c. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-11-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index a7699b7f62d..fbee86e6b4b 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -15,6 +15,7 @@ tcg_tests =3D {} # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], # 'qemu_args': ['qemu command line flags', ...], +# 'env_var': ['VAR=3Dvalue', ...], # } # }, # ... @@ -57,7 +58,7 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'cflags', 'qemu_args', 'test_name'] + allowed =3D ['exe_name', 'env_var', 'cflags', 'qemu_args', 'test_n= ame'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -122,6 +123,10 @@ foreach target, plan: tcg_tests # some tests expect QEMU env var to be set cmd =3D ['QEMU=3D' + qemu.full_path(), cmd] =20 + if 'env_var' in setup + cmd =3D [setup['env_var'], cmd] + endif + test(test_name, env, args: cmd, depends: depends, timeout: 120, --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526100; cv=none; d=zohomail.com; s=zohoarc; b=eapt5OxZVejiujMrkq7/QHN8rAWsh7zbkw150ej3LmcD3rOu6fDvmFlEkTb1R/J/iWAykWwQejkmMeXdP4B4YtRllHLneZBtCJk/gJtaCR24WZmmE4W7HiOss7V/Y/ZGwzr1IGFzobz8qrMKpCINUUcGVI8hURWEjECtx+hyYdE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526100; 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=Bc/0OXJZ9G0Iq44/4dsbLI+wb7zd3BSOeEUd6MJIas4=; b=e+pCrWL1OfBcvF5+Uk8i/iLf5YzrhIdT5A5gMUOTQKRAK1lP60ZeY51VGz648b1s2yd7ySGLd7/gcF5EfAsP/NAJO872VvZmmc85ASZZb+Wsr5mvuYNP1aOWoQO6fpt5fqm0G/eAYMUsHuuNN3180Sf6s6UjXMRFhuvWB8wlt1Y= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526100589133.0458417645508; Fri, 4 Sep 2026 05:48:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJL-0006B5-3M; Fri, 04 Sep 2026 08:46:27 -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 1x2TJE-00067m-GA for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJA-0006p8-02 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:17 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so10110955e9.1 for ; Fri, 04 Sep 2026 05:46:15 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7739b7asm64194205e9.13.2026.09.04.05.46.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6F3A8613B5; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525974; x=1789130774; 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=Bc/0OXJZ9G0Iq44/4dsbLI+wb7zd3BSOeEUd6MJIas4=; b=VZxRkidjNAc98iDI6x3cm4MGHiBe7c3IgPtKL8E/7LeoNUA0h+Wz3LNy0jC5hX9i+9 O3wHNFZojIvn8bcKH1IZLvP3/75rdx5Hn7NJW5J5ZOcsS81RXQc4Ch1+a/6YS7K5F/4M wIFG8Q5NTJcNme1N7jpBH9QYrt0Kk/l7ih0iOChNCKkOSbryNcmTzJ5xF4oN46aHHVQi AI2j8Z3v1AKRkhI9BVUd2b8Hnj5U1o94gEii7ubLFWg3zKe81lqsFfDJRIkrw8p+cZpm gHpKoYzXASy5q9ZGETiXr51qz7icQS0obHruOww0xdqSGO90zybj4YbL8k2RrRIsLBPe gW8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525974; x=1789130774; 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=Bc/0OXJZ9G0Iq44/4dsbLI+wb7zd3BSOeEUd6MJIas4=; b=GZ2C3RqTrZFWZOJiTzxc54DUhA2AAWKqCzG5tg/wtBX3x/cwGSE/KdJF830I2pifVq gFYDR3235fRxEZLtuqI5zbt6vMMwIicpwCzkVWqYBUofmVafdp6e4iAQtW7THE7QINkW 9+8176pukeuNxymZR9EHfAiQK2/rX62eNVEuqR9cOa7Cp2XHe+V4Bt696UfKcxwJH9nq BUdsQ62YvtrruaecbYc0ltqrRe8K8nRXe8dvQbRotqC24VNTQ6cNSRwROoAxRh5c/64P fWyEHBmclyY7/qazugowykk87fQwt98V08raC15C0SowLq4rOvQMd6KMVrWk84352uGG /Vtg== X-Gm-Message-State: AFuF++lCpX2nF/8Ch57yrRCpoOLf4ppcmsz10N/FdQPgv0z0mfPOCdSs RtWpAcPpTcT4Z87gou5VDbGSWVdah6MuM7tAg43ORIX+5M76rKo1aY1qWw1qq6ZFIol9ciETk0U QhbKUG/c= X-Gm-Gg: AYBFou0B3A84k7f6az+xVKjQ9UczsFEFPR/whDYt/riI1BEzo2oGCMJwBH1Lo6uGeOi wTtCgcpwI2yzhDDJp4nQgvk2gjXiSlUp2VxpYJoMpEBoiz6j2smEJRf+mNkx5/l63k1iXaIy5Ol b1CXeVLxbFO+Dbsede3wiZVv8O8dxJlMkdRcqqx+QQruqhCKymtDS2/2djt2aPtNWTLRp/ofUsz W9Jeu8K6/uBx8+YvgyK22dIjXYDZAR0g3Q4VE86K1AQjih7lSLD/KH+ou+7Ofk7NkUeMrEP+fJv wIOEH25c9WFCStmdP5vreAimK6mfCBS5fF27X71z7akmk7EL191rgqwSA4g/sJLgNkp4r2LP5JX IBZ9VHluEn4jryAGZX3EogU8m1v9NSJ4Bb2JXN1x2UsIx0vQkH4kNih4b+NBi15ATviLBt5WK1v 1AyPopE405S1so8wLtbMy22+DUCPTsg1b0d0F8YSFEh22pwfyoDa2aBwhW6j3+13eOswkFnME= X-Received: by 2002:a05:600c:3e1a:b0:49c:fc6c:bdff with SMTP id 5b1f17b1804b1-49cfc6cc078mr33297225e9.22.1788525974195; Fri, 04 Sep 2026 05:46:14 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Alexandre Iooss Subject: [PULL 011/105] tests/tcg/plugins: build list of test_plugins Date: Fri, 4 Sep 2026 13:44:25 +0100 Message-ID: <20260904124604.2207440-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526104340154100 From: Pierrick Bouvier We previously had list of test_plugins sources, but not the target themselves. Create this list, so tests can then reference a plugin by its name from there. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-12-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index fbee86e6b4b..9940bae80a4 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -31,6 +31,7 @@ tcg_tests =3D {} # Default name is derived from src if 'exe_name' and 'test_name' are omitt= ed. =20 # plugins come first, as we need to build the list +test_plugins =3D {} subdir('plugins') =20 # Finally, we can create all test executables and test targets diff --git a/tests/tcg/plugins/meson.build b/tests/tcg/plugins/meson.build index d7f8f0ae0ad..2abc317d1e7 100644 --- a/tests/tcg/plugins/meson.build +++ b/tests/tcg/plugins/meson.build @@ -1,4 +1,4 @@ -test_plugins =3D [ +test_plugins_src =3D [ 'bb.c', 'discons.c', 'empty.c', @@ -14,9 +14,12 @@ test_plugins =3D [ =20 t =3D [] if get_option('plugins') - foreach i : test_plugins - t +=3D shared_module(fs.stem(i), files(i), - dependencies: plugins_deps) + foreach i : test_plugins_src + name =3D fs.stem(i) + plugin =3D shared_module(name, files(i), + dependencies: plugins_deps) + t +=3D plugin + test_plugins +=3D {name: plugin} endforeach endif if t.length() > 0 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526115; cv=none; d=zohomail.com; s=zohoarc; b=LkSm+DYhZL+DEEKeJUY8oQdLZzH+DU4pjz/GgMKRpOz+Co0nWdRFajA3pbgfZRQTsqd/FJuXxNSR+H4WIHm0+Qwe+F9Wz9M/6Rsrd9hffBZZuhWtUwY6zmrRQ7R+vOmgWoyZ7qR0hOvSbyvL+34noGcU9mVSMg+i092oYkOhpJs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526115; 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=JJRRLQKjYH6ftKXJglo+Wz+lGfOq+Ff93uY+8fVGf2U=; b=fvKxLnRKNycWUjyVIWgfgR028RwqWSC2nmRXcuGnC67Bi18dQ++3+WVsCQvpqcfqUxnrdWEQ61gVUGilxbN5fr3JVpke3toN3FCVNQqLBA6G/H4gg+/P9REriPseLI8RfTWT5l00VeJOzpYUaXk2L0TxBLG1yY6XMGvBjN1/6B4= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526098042170.06759481141535; Fri, 4 Sep 2026 05:48:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJO-0006CN-CC; Fri, 04 Sep 2026 08:46:30 -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 1x2TJH-000692-92 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJD-0006qP-F2 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:22 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-49b0eab380eso8392965e9.0 for ; Fri, 04 Sep 2026 05:46:17 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee6158e9sm151816925e9.12.2026.09.04.05.46.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 835E3613CA; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525976; x=1789130776; 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=JJRRLQKjYH6ftKXJglo+Wz+lGfOq+Ff93uY+8fVGf2U=; b=inJaY/yywpyfVZmnYx8R8GyxqQ3CVvpwOwdA12PEcpSZiffwnkDIAzRV9FfOdJzbZw uIsTRqkHplvBWKEEoWfHk+hSOcOH3k6WxTX5UN8wxAIRCr859bzkabIhiVLlGJM2BvwP UOLc74VZ+omKca917uBL8TL9LECQ+dDC/vj3NawucOzcUeQICiyXkkraAlb2OTvHrOsV 7SSABjfT1V1o/Saq7Ds/F7u6vc0mWRa2Oet3eEI9Z4oH7qy8CcNrtPOUHNNeNl2pMjHa 5EHfnIy53ijiVfDnPPRjnim+BI5zG8HilY/cNPHEpB2rD9Ti86RF2mBXNlDCQdztgzlH W+FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525976; x=1789130776; 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=JJRRLQKjYH6ftKXJglo+Wz+lGfOq+Ff93uY+8fVGf2U=; b=T4ZOX+1AW4k4zdAEKwl6JXJDEKZtguVzztIg7xHcRDAV72sBC35GcK4C/zh3m2dohr /D8t4rls9P+KEaubCuHm9KOoaFxo4i5Lw8+X8fW9d6YGaet6gqbm5W/VAp+1kvY2sayF TO83/AxaFLvY3Z3jY8vO2ymG7T63FsAXZGxnxYmtCdcZVPwH6tSEArSL4ommyRW02nPB FXCJiKkndOdGDzwEPHtIjMvtRILru6VIH8cHNhI007r97vELTdkUgjVCQA/41qlPuyda a0cN1PFq5dd7eQGt5hADNgufaxNZ4if3JZx6RBHjQqwynEEiJq5iO2+So2IjtxTvKMTf LL7Q== X-Gm-Message-State: AFuF++mX4gpMwBFyqfwNASj7JDWKUoWX6PO2EZlAkYLwj6V1ZGcgxfKi ibyiXX93AwbD6/SWooimwhmVYL59aNFCcAgyQBDw55aQbv8TGl/hGSwnbw2VMRle80E= X-Gm-Gg: AYBFou2e48U9Eom1SIs5fzemGeTT4hqrm1Wymm2mj0Eion8Esskni+1kMyBaiaKhiLC C++AmD1T+veiG3hLUL5DQyeJJJa/kwswg8t0AqtsSx6e/LZQdVY90UN6QYCme5TYUQPvBvON1KQ qwJ8Cafdj7ItDlH6OsF4wZncQ1dYh0hgqC1T5ehe30JIEuwZXLkSJaXjIDqp7E7wXhuQyOOerCV 2w5ClS4jtWZiHAeFols3BFmcNSJSGpLVsOVuRbOpUlMuIwob8yn+lkBQhQ9beK3H1lDpslm09Vc 1SZx3hxCbZY99j2ppoEiaxYo9mAm0NaBAneAR4FIrg7ibZgm5ufY1PkCMfuWsw4mau9Uh0EQwAr /UyTPJJ4bttTMzqNfgRnjToLIDntmhDno+sipJRQKeTlfbvjtXTM7slc5xomDmHknntfEj0bwaJ /uyIsNyWXAs8Upi8EEaJzoAgNu0dTFJj6OgDtcIHwAFjvTzsgnUG1HoowKAehhfgck4HJpOrOIJ Q== X-Received: by 2002:a05:600c:5247:b0:49c:ee3b:723d with SMTP id 5b1f17b1804b1-49cf81f69ddmr44820335e9.0.1788525976080; Fri, 04 Sep 2026 05:46:16 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 012/105] tests/tcg/meson.build: introduce plugin_test Date: Fri, 4 Sep 2026 13:44:26 +0100 Message-ID: <20260904124604.2207440-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526128622154100 From: Pierrick Bouvier We add possibility to declare a test that is based on a plugin. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-13-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 9940bae80a4..7b51750b016 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -16,6 +16,10 @@ tcg_tests =3D {} # 'cflags': ['additional cflags to compile test', ...], # 'qemu_args': ['qemu command line flags', ...], # 'env_var': ['VAR=3Dvalue', ...], +# 'plugin_test': { +# 'plugin': 'plugin_name', +# 'args': ['plugin_args', ...], +# }, # } # }, # ... @@ -59,13 +63,29 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'env_var', 'cflags', 'qemu_args', 'test_n= ame'] + allowed =3D ['exe_name', 'env_var', 'cflags', 'plugin_test', + 'qemu_args', 'test_name'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') endif endforeach =20 + # return a clear error if user misspell a plugin entry + if 'plugin_test' in setup + foreach key, _ : setup['plugin_test'] + allowed =3D ['args', 'plugin'] + if key not in allowed + error('unknown tcg plugin entry \'' + key + '\' for test ' + s= rc + + ' (possible: [' + ', '.join(allowed) + '])') + endif + endforeach + endif + + if 'plugin_test' in setup and not get_option('plugins') + continue + endif + # meson '/' operator drops left operand if right is an absolute path src =3D folder / src file =3D files(src) @@ -78,6 +98,12 @@ foreach target, plan: tcg_tests if 'test_name' in setup test_name =3D setup['test_name'] endif + if 'plugin_test' in setup + plugin =3D test_plugins[setup['plugin_test']['plugin']] + # remove 'lib' prefix + plugin_name =3D fs.stem(plugin).substring(3) + test_name =3D 'plugin-' + plugin_name + '-with-' + test_name + endif =20 exe_name =3D target + '-' + exe_name test_name =3D target + '-' + test_name @@ -118,6 +144,21 @@ foreach target, plan: tcg_tests qemu_args =3D setup['qemu_args'] endif =20 + if 'plugin_test' in setup + plugin_setup =3D setup['plugin_test'] + plugin =3D test_plugins[plugin_setup['plugin']] + plugin_args =3D [] + if 'args' in plugin_setup + # add empty arg to generate an additional comma + plugin_args =3D ['', plugin_setup['args']] + endif + plugin_args =3D ','.join(plugin_args) + + # since we turn plugin into a string, add dependency explicitly + depends +=3D plugin + qemu_args =3D ['-plugin', plugin.full_path() + plugin_args, qemu_a= rgs] + endif + exe =3D built_tests[exe_name] cmd =3D [qemu, qemu_args, exe] =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526153; cv=none; d=zohomail.com; s=zohoarc; b=Iic3sn8vZ0sa1/Rqkc08xdDuTzAtsIk8i9kR2dZrhVwRZRwXBHPtc6tsiop7Yc4F2yi57auYK/LKg8MI0GRLty8rqkjXkDf+YQq4zD8dO2IIXyZcysl7RuOSF44GKNijE7A5HxFIh4oWdqUbqWRKHIatCJ6TcvBI6Mmxp8qlQVs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526153; 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=5pzU9NQq9i0J3atcrg5nBD4Rsxyi2P0O+j51qexP5Po=; b=ijVVIPruYt9ArnEDj1qSaT2HavGW7+G9G4kE/l64s2WSjtYRBTkKr3zHd4VGZk7G1vyPNRtSaaEIU1FeqDO4wM0YOQYlo123+qQ5az/3Jz8CkNNGyJRCM36wuRYRyrUIJobjRVd0WPHLXTQWjcs7sBDVXCvbKl7T2ntRvOCZDlE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526152936667.879077248284; Fri, 4 Sep 2026 05:49:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJQ-0006Dl-Rz; Fri, 04 Sep 2026 08:46:32 -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 1x2TJI-00069M-2x for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJE-0006qu-Td for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-48441a2ba1bso611750f8f.1 for ; Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48588392b3esm7261771f8f.12.2026.09.04.05.46.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9C50D613D8; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525978; x=1789130778; 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=5pzU9NQq9i0J3atcrg5nBD4Rsxyi2P0O+j51qexP5Po=; b=IFei5jnzY1arbvF2+F8mXw27I/Zz2PP08p3l8F56c9MFBn2ApAy2DaMxPKzV19NLih HHhd7aiMFRKt4DeDXbjgpWUMR+z/GloX4wDl4PhOhKyk2ab2jQn/lbratnGpNXoC8WJ4 W8CoaPy+Dd/KawBiFS7hAgIec46CwNsyDKDmNOM7il2fjjSRnAEASnPXywz3bSz6qw+R d7N+97f8LHAO2zG1TfKKJ8mSbOMvK9tSrsKNewsoIxnrB89iRN68qrm+HTXRrEBOWZNT +aR1IpKEEyqQ38o4eFp0BwAua0xsOuyiT1UAdu1dlC/z+//SE0HNbmRprfS1CEnsR29r UqWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525978; x=1789130778; 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=5pzU9NQq9i0J3atcrg5nBD4Rsxyi2P0O+j51qexP5Po=; b=DRyQwEAkquaUyEbV4WO46/sVSFTft9qe4KLrW/RTVEqkc8Uw7Gtyzh2UZqU4roeVAN HxHj72cED9fq7l/hghqEMklebNXvRdOS1Uc8eSaxgWnnLTDdYHuHk7Vfemz+bsHSwy/M vUUs8/W651Ahe+OYFl57zyUAURPjiwx9Edc7x2+NR6ELxPDZ2MlujfzlreXURD2f891B K8IXfBFghPBLZ6H2d7CEc0+8F6pGEJiP9+AaBLJ3I0wrfafufR3vLux2G48BBElko4WB kZ40MWW9sUrFRYTnQGWPgmNgyc+pzGTQEuvw1/qM6IUnj2qP6J2AE9pLZidn2xOxENKq XM6A== X-Gm-Message-State: AFuF++mbLgNQPCdUIlGb4YWNweUd8wsF7umuLpBwKOZRu0srLuDQKYrd lJeJfSuadLfMRAJDPLP9QG+8hbkRSOE+VVblpXm+vfSeOAPJYbAGba0RkR5IRPdUnI4= X-Gm-Gg: AYBFou1ariiRVn2OpxHx2+lkvLHQjCFjhMd27txMc7wi446OeukTnMsoAFosI/42cQ+ TaYC84eEgjV6R809MdsvQSlJ9xGaasCzq6xDQ0ljyN7iwauKgVmtVxmKyeS5G4abncO+W7AdmJm O0hMYsXWBjiroLAYsbTOv7yFr4228rNshJfJViS3Y7GnTHtc3mitxpqtnx94sgIc3a/VYhVuAk1 OCRy96+CC05XuO2+xaJ1MxWuDhPfBxN6dJd6fgicequFjtaA+gsD474O7mffFR07ADsdo02IPgo V/8MphHfWq9Kkv5LCmpnZnFATciTrZyg8dAmJwyZ4XIItrY1ybrh7tMq99XBDfv8bOxjPTD+Ej2 c0k+BlMyxwR2/Px4yUKsANjFUwJaXwc25CNpWTUpAJS82MZAGfe9ppWHEeIqjlKoUCjcC5uAbFG PeWmxfdJZzMdebHzQmv1uU7s6gfmT5BjUfinkuM7vjiDyVvxejudDIsfeeWqeizHXqjnKHklg= X-Received: by 2002:a05:6000:4304:b0:482:e22f:a2b2 with SMTP id ffacd0b85a97d-485872dbea1mr7388528f8f.20.1788525977664; Fri, 04 Sep 2026 05:46:17 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 013/105] tests/tcg/meson.build: test gdb support and introduce gdb_arch Date: Fri, 4 Sep 2026 13:44:27 +0100 Message-ID: <20260904124604.2207440-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526155985158500 From: Pierrick Bouvier A given target can now declare which gdb architecture it requires. Also, we add the code to check gdb capabilities, and version. Tests can use gdb_version.version_compare('>=3DX.Y') to test this. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-14-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 7b51750b016..3714fe4dc0d 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -1,5 +1,11 @@ env =3D find_program('env') =20 +gdb_progs =3D ['gdb-multiarch', 'gdb'] +if config_host.has_key('GDB') + gdb_progs =3D [config_host['GDB'], gdb_progs] +endif +gdb =3D find_program(gdb_progs, required: false) + tcg_tests =3D {} # tcg_tests is a dictionary with following structure: # @@ -7,6 +13,7 @@ tcg_tests =3D {} # 'name_of_target': { # 'cc': cross_compiler, # 'folder': 'folder_for_test_src_files', +# 'gdb_arch': 'gdb architecture requirement', # 'qemu': emulators['qemu-...'], # 'tests': [ # { @@ -34,6 +41,18 @@ tcg_tests =3D {} # declared using 'test_name'. # Default name is derived from src if 'exe_name' and 'test_name' are omitt= ed. =20 +gdb_arch_supported =3D {} +gdb_version =3D '0' +if gdb.found() + gdb_version =3D gdb.version() + gdb_arch =3D run_command(python, files('../../scripts/probe-gdb-support.= py'), + gdb, + check: true) + foreach arch: gdb_arch.stdout().split() + gdb_arch_supported +=3D {arch: true} + endforeach +endif + # plugins come first, as we need to build the list test_plugins =3D {} subdir('plugins') @@ -47,7 +66,7 @@ foreach target, plan: tcg_tests =20 # return a clear error if user misspell a target entry foreach key, _ : plan - allowed =3D ['cc', 'folder', 'qemu', 'tests'] + allowed =3D ['cc', 'folder', 'gdb_arch', 'qemu', 'tests'] if key not in allowed error('unknown tcg test plan entry \'' + key + '\' for target ' + ta= rget + ' (possible: [' + ', '.join(allowed) + '])') @@ -56,6 +75,7 @@ foreach target, plan: tcg_tests =20 cc =3D plan['cc'] folder =3D plan['folder'] + gdb_arch =3D plan['gdb_arch'] qemu =3D plan['qemu'] tests =3D plan['tests'] =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526150; cv=none; d=zohomail.com; s=zohoarc; b=RWtvWrpgHELJv2CqQjPKlFYh4EzzhmD1e/v6yJlQn8Nh3Wro6PqsR5ev74qYYjbUegobUlH7o8NaCuUKKHUn6QYDEsW77TEQCiHtYtR+MYocUKCMN79b2RdsDFpiQDS0eg4EZU+DtGfhrxi5m/GWKJbWaWP7tNXikfPPB/z47Bk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526150; 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=2dX89X8BAFwj4lkrdRQoFyvJ/0+HE5JadftlOOhDSFw=; b=oLpQxFR+SwMEKhRQsaKvaaU9xUXej2utDskdLdSXtGs9qVCAwVw107ScPAxh9gR0CPyevXbtcuI3j7jhrXNbiMMw4yUmBLqmL2SjhWHPkHGwxmQiAHYZw6mK1rWfZw0tGsyi6KmWSjhHygCExj5o/oCXVm7dJ3aB3/E7Z1qNShg= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526150540519.0782937116728; Fri, 4 Sep 2026 05:49:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJM-0006Br-VW; Fri, 04 Sep 2026 08:46:28 -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 1x2TJF-000680-6w for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJB-0006qJ-Ev for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:20 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so10166015e9.1 for ; Fri, 04 Sep 2026 05:46:16 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7740d44sm145467625e9.15.2026.09.04.05.46.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B1AFF613E0; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525976; x=1789130776; 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=2dX89X8BAFwj4lkrdRQoFyvJ/0+HE5JadftlOOhDSFw=; b=Tqa1e4CqjM078wG9sD7QW6CvbNnqKftq1udDudSKvzJLLMrX+g5wH+nAzjD8WFErzw o88i/ahihLSd7qkZlEo6W74jHwwQAZ8NhrfkzJ8pRebLgeFwFkpRyoNb8IAUva463hxh nUomT9I06ABxfgrsXtdkcj8aZfHZPdlgeswy7nN75MtDWv6q4kK0y3VohUQivcgCqdJU PIOaV5p1k+4y4LquAfqtsAa15w4UYhpm/BALMaerYGEA7adViBaZMBP98rCsPca78ncj I4/+yIAAWbmAXI5H4hmqqIUWG/GiminRapNCzgXTW6VR5rUXQfq3QxJ2UZoR7JbmqNZm LfLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525976; x=1789130776; 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=2dX89X8BAFwj4lkrdRQoFyvJ/0+HE5JadftlOOhDSFw=; b=VQkVZDJFsy3bo+x6T7oy7GIPvIlc/mgmDltDThcXhf3oZzOlWNWP0dckUqi4Hl0q6R jb1xUA+6Uf7fPJUhwZJZusdDzIvnjOKhTb8F7LgF8Z0mZ6mHsnsTGCzPAsH8UyBViN0F 0HE9QWyaWMAbLvZXaLoFBN4i+PLqByyE4r2g13pUL25ZyRoCAdtAVngqcXkI7s9gpk5f 6Lv9TcxUgaqfOKAjj5+s5GmbuJy/EHGZnDozUfeapq7sgLg7qJy7BtFl/6/mwLuxSI1N Qqc/bJgGY1y7A7ADCyAPu2+24LIJ9tnI33HuMoWDnbsBIw2HQaqLDDADILJOZhxr7AaA IMbA== X-Gm-Message-State: AFuF++n7PdnnEALte4LKUSNUYmi5GiUMYzH6w8Uxe4flTMjo4uEk/5AL T6clAbMRuyDTDtYJgH3OinHkctX7jifiCi8ZHUAS/Ay3Aomkd15sfNqag6uVycv/VOA= X-Gm-Gg: AYBFou0+BGMznj86gUE1gkaMY5ro54HEQI12rlvxsym21IF5Q5EDYAt6/l/IckS3pzW Cq8qfhj9DWI4uc7SHif76SMoOznp6Mp+jFpZ9H2WfzRPcfWlujDjfdYh4s2XbnlLjHUge2Cdjq9 avdEcOseX6FCdimCQFgFxukffdhC6QSftH0+2+9XSkWGlk8Lpx4KfmTNI0n4hIAky6se333QQcY PlaUl8VGqnS+Hy6q1NWyt4mF4U29MIrNJuiQq9xmAJ/sMRW8w3NeBsMBXOB9Ya0b7KOcajPLU6x 6kr2qayli+PI12bykR8j+xNvA3wC4mvbu9Kao9n3eZnnogEVorUJmDOUQTto6HKM9mG9eJwAchx XrwVfdkHZ8pyuaBvWqV6jofFQ4hB+oWMqiPwzjjK3khVLrBP7yBu96sqkM2fJmaI6Yh9o/CZB5J wlpVt/uyBOyV52uiEhSpycCu9VYF6W2lZeo4oVDFJXp1WxUUktov53TvvWGtFi X-Received: by 2002:a05:600c:4585:b0:49c:fc6c:be16 with SMTP id 5b1f17b1804b1-49cfea09f08mr16961685e9.28.1788525975434; Fri, 04 Sep 2026 05:46:15 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 014/105] tests/tcg/meson.build: introduce gdb_test Date: Fri, 4 Sep 2026 13:44:28 +0100 Message-ID: <20260904124604.2207440-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526152807158500 From: Pierrick Bouvier We can now declare a test requiring gdb interaction, based on tests/guest-debug/run-test.py. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-15-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 3714fe4dc0d..76375615d0b 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -5,6 +5,7 @@ if config_host.has_key('GDB') gdb_progs =3D [config_host['GDB'], gdb_progs] endif gdb =3D find_program(gdb_progs, required: false) +prog_gdb_test =3D find_program('../guest-debug/run-test.py') =20 tcg_tests =3D {} # tcg_tests is a dictionary with following structure: @@ -22,6 +23,7 @@ tcg_tests =3D {} # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], # 'qemu_args': ['qemu command line flags', ...], +# 'gdb_test': ['gdb test args'], # 'env_var': ['VAR=3Dvalue', ...], # 'plugin_test': { # 'plugin': 'plugin_name', @@ -83,7 +85,7 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'env_var', 'cflags', 'plugin_test', + allowed =3D ['exe_name', 'env_var', 'cflags', 'gdb_test', 'plugin_= test', 'qemu_args', 'test_name'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + @@ -102,6 +104,10 @@ foreach target, plan: tcg_tests endforeach endif =20 + if 'gdb_test' in setup and gdb_arch not in gdb_arch_supported + continue + endif + if 'plugin_test' in setup and not get_option('plugins') continue endif @@ -118,7 +124,9 @@ foreach target, plan: tcg_tests if 'test_name' in setup test_name =3D setup['test_name'] endif - if 'plugin_test' in setup + if 'gdb_test' in setup + test_name =3D 'gdb-' + test_name + elif 'plugin_test' in setup plugin =3D test_plugins[setup['plugin_test']['plugin']] # remove 'lib' prefix plugin_name =3D fs.stem(plugin).substring(3) @@ -182,6 +190,16 @@ foreach target, plan: tcg_tests exe =3D built_tests[exe_name] cmd =3D [qemu, qemu_args, exe] =20 + if 'gdb_test' in setup + cmd =3D [prog_gdb_test, + '--gdb', gdb, + '--qemu', qemu, + '--qargs', ' '.join(qemu_args), + '--bin', exe, + setup['gdb_test'], + ] + endif + # some tests expect QEMU env var to be set cmd =3D ['QEMU=3D' + qemu.full_path(), cmd] =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528321; cv=none; d=zohomail.com; s=zohoarc; b=mBIlxGU6yjwFVS4nS1j0UsHiTE4AXcDByRLgDQde1ChHJ5zkDus7soOH+Uj8WkHBA/4wLUJNqSRYhtcwTIsNnE8BepiGJmy6qkhbPO0PvysuDd9pbbUN8MXK5HElPjK3H0aa5+/Gw4X8QAIxucSMACLcmyc5t7k2chnDcpgF2l0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528321; 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=giXT6UKBbI5tEb2F5Y8EDvRatVVj6wPPavdz4S0ypzo=; b=QwF+vtPSrPrGnlpRs9KNNZKVDwJJx8IOfeyQiMvgChGYFR5uTL/tfsv+SomEoZap3WKgKIcmLA5FR8hX5XZEOXc4xGC4INXHlzmRj4JsxAeEAtT6EBUf6h0TfMJPhjYmj7WeFjbYtECrSb+hRhtaGLXmxX9UwlFpDXT+vL4b3oU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528320934780.596692306628; Fri, 4 Sep 2026 06:25:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtK-0005XM-HZ; Fri, 04 Sep 2026 09:23:38 -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 1x2TtH-0005VA-Ij for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:35 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtF-0008J4-MY for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:35 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-49b8e527d63so11558445e9.2 for ; Fri, 04 Sep 2026 06:23:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfbe5b252sm41506515e9.3.2026.09.04.06.23.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id CB80461499; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528212; x=1789133012; 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=giXT6UKBbI5tEb2F5Y8EDvRatVVj6wPPavdz4S0ypzo=; b=TLpqm1hl+njjRUIjystIyGWXhvuj05nDWDgnPz6WevwqSQE8lfdTHah3meIF78A46B +t0Y40jsj7JAMMwx5KsBot5DXyKzsQamg8PRETUTgC51mGGU3zp9yGWDJUJrV3hlZp5k LFgpS386mzE1knZ36DJtBYdbTJypMomCxvEEUfW1Tc9QtvlHUVPYwTVM5F6LTfVTC3mv FqV9rR5/PrvV5fWsZ2eys8LuYaTuplaU1uGUzEx0/GZXmTVP2mjcgpR9PT+zEj00VwEr QGu4loRpCG1BY2Zn3eM+NAEZGTJt2sR+yDMTJazkardgIpbDYlU5SnBKenOTkHoHWoLN DApA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528212; x=1789133012; 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=giXT6UKBbI5tEb2F5Y8EDvRatVVj6wPPavdz4S0ypzo=; b=lnt7bUu8PVBNu11wJTvuqi1IApoaMTfAyHMM7dEdQlFE36ifLI3kQ3c8YMg/8IWsUX 7Yo13x5XmwGYYUP7qZ8Uw+hcRiAjRvdqwX4tdOCcS1WIm/oR+Co7XUSHWw11D870OuKx dtkIOfgY1o3aMfny0an6GGri4apXLB0uxezutIfx/smvp3KeE7whPZmDIOcAzaoJpY+x A/UnItsv0CPdX8upfn83rcNbuWZi/IIfxtBHRlAamRj3Dm2Vj1q85AXeXiNATix1QfBh Tkxea3kCjFIcLeMxO1y+W339lzEPWYz2upO6CJ+0jGuzCh2r8TMs+tRFG6NjF5DeMZ0m fUAw== X-Gm-Message-State: AFuF++kHr6SqlYQ7V0HKpMx+7oW0hXFNdDgtat2peTdRiJFd32u8vJzx EmzbLTqmSY4KptHDJkLiUjV0tVb4I/3Ec3/PbDujuA9tcZnBJIj1OOSucgS5mSZEsEM= X-Gm-Gg: AYBFou0EN6tHTptRir2jUSeD0TXQv/e/hnF8KZx+sULuK0DD+oTQGrQonS42PKC05qj LF7zyhRvepf3ThIEclgNZO/2rIfrO61lq949jQovQzYSsaZdpse/bocYyFOYWP0JV2D9L/nQi6P LGGrhyNoOrTdG0mlzpsjpQuhF/BHtJaV2gxtHi/ssH01SRbC69fvDwKIvxAHzOPDqjksUZd2yS6 AUDje4B3RtrnrZLPq8hD8dQUaSXI3etwBD7G95z5cLRsdCoNHQAGeI1TrsWpn5rpRTzJhBlRr22 vfGNZnrvtNh/oSjDAmy7IyjGeMHGb9o6EDEC3HsGv43hJgJMtNSKx23aA2cz5l9+dLZHJzwfK9c ZU+2U3OmN7ien8wV8BZ/PUXTQaRK/c3fUM59/Hz77gUddHlH1baAXa+Jw2sCD1d4oReAiq9HaYH Jhwy/fhoOVDW1OtSTQK6c/XKZWj9XaF5LTCvHXP7XwkzxQA8oFi/2JZjjQn5fA X-Received: by 2002:a05:600c:4f4c:b0:49c:fc6e:8cb8 with SMTP id 5b1f17b1804b1-49cfc6e8facmr37017115e9.28.1788528212156; Fri, 04 Sep 2026 06:23:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 015/105] tests/tcg/meson.build: introduce wrapper Date: Fri, 4 Sep 2026 13:44:29 +0100 Message-ID: <20260904124604.2207440-16-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528321855158500 From: Pierrick Bouvier We add possibility to wrap a test command through a given script. This can be used to provide any kind of ad-hoc check for specific tests. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-16-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 76375615d0b..0311b2432e4 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -25,6 +25,7 @@ tcg_tests =3D {} # 'qemu_args': ['qemu command line flags', ...], # 'gdb_test': ['gdb test args'], # 'env_var': ['VAR=3Dvalue', ...], +# 'wrapper': [program_to_launch_test, 'args'...], # 'plugin_test': { # 'plugin': 'plugin_name', # 'args': ['plugin_args', ...], @@ -86,7 +87,7 @@ foreach target, plan: tcg_tests # return a clear error if user misspell a setup entry foreach key, _ : setup allowed =3D ['exe_name', 'env_var', 'cflags', 'gdb_test', 'plugin_= test', - 'qemu_args', 'test_name'] + 'qemu_args', 'test_name', 'wrapper'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -200,6 +201,10 @@ foreach target, plan: tcg_tests ] endif =20 + if 'wrapper' in setup + cmd =3D [setup['wrapper'], cmd] + endif + # some tests expect QEMU env var to be set cmd =3D ['QEMU=3D' + qemu.full_path(), cmd] =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526045; cv=none; d=zohomail.com; s=zohoarc; b=c1HaF7eH0hXdzXaiMck0Hs3vtSl3U20e5Z5fPsHgkG/h/L3KxlfO5xmCDxRNw+v3VWU+Z9zprg+78a6ZpjJccWi1Z6EbLowh2zAhEkLj7jDG7dW/TgSxUh+HVzn0kcysDujeFaUu5SuuNIbKGqgrn0k1qd4+1M78K3L4UskOoBA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526045; 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=c+FJ/oOz1qV0GzxFUtglp+TOIxJt2Id0fG/QCO+m7Lw=; b=H+KEpnxAjJsH1CQI2HiMv7Md9oep0P+y4CicYSqRz9ZaOw2HNTXfIZEQfpqLpYJ9m9amFBr29xo0G0r6tFLU0Dj98OsEZHaJesyXHIKET2BRyws7haPigi5e0CBFlyUWtl63R3birKa5wCgDvmQO2yX+aqK1m5SbAjiom0qcGDs= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526045408157.3646225837532; Fri, 4 Sep 2026 05:47:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJR-0006Dr-KR; Fri, 04 Sep 2026 08:46:33 -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 1x2TJJ-0006AO-If for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJH-0006tL-0U for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-499ae1c6471so8072505e9.3 for ; Fri, 04 Sep 2026 05:46:22 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883959f0sm6565662f8f.10.2026.09.04.05.46.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E4D5361511; Fri, 04 Sep 2026 13:46:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525982; x=1789130782; 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=c+FJ/oOz1qV0GzxFUtglp+TOIxJt2Id0fG/QCO+m7Lw=; b=x8KDxio0+1rS0IIF4FSLn8TvNMc7I+EkNigkG5N5xTwDqaNdtx3PN3awWqZy2hMgA2 p+TVtPjSGSFUFEHm/HqK3EQyLw+JYaKNTl06Wew+ACMN2VkOCSfPCjBsYkRY68YlEaV/ zEZQXpOGG/XfIguVatDrKf028JjNJuofvC18xqsbwMemsU3D0fQ7Tv3/LShzo+wR7Lp3 K38rI85ur2eFiY8ux81npLNs16PXNC8HUp/nnY7djOYYL+6AAmNE0NDNBPgTqBkg6J/6 3RPnJWNRjUg8s2PnbPN9eKM95ELWuM28LUjnp0DSMeh3igVT2zlwsI46GzNvBbYZREdm morw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525982; x=1789130782; 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=c+FJ/oOz1qV0GzxFUtglp+TOIxJt2Id0fG/QCO+m7Lw=; b=fVACiG31E/6hBZu1FKeYSjVC9UMsJllC1vEXr4XXYEq0zpVuhkCDkjcHS1Cx27h159 tXXGpeSluXip7JT/ay24dj7v1D9QLp2fJbuxPHCP40un0Yg6qyrzs/DtFhq2lI1sx+nF 2s42J7d8DWlo2C2z66r+/wmZyTsIkR8vWbfX3zNW5pxRItuH/eXLGYqPMHP2ZxsYHfWn fVKRQzMz+e7XdF/9uRRTND0g529Z7LzJg9GaodYBk0tFRwpSoE8Y3fcRdZ3TkZj7S7Il WmXslhX09lOm3qCoyrt8LC4myV81x9DxspiDxrXuXkT3ceq1P/2SPNvACW5W7yj6AnAv 13qA== X-Gm-Message-State: AFuF++kLwki64Ra9IxVimqP+WBMCjmUuDWywTSEMPMGCH/vIRQdqVcN4 M7cum1NiTwvoQaeRmfi1TRY4S9K8TJyGWWnY0n5AZUZsds7W2KVZr10JCtZFtLM54GU= X-Gm-Gg: AYBFou2gg5OUNJ5LFVjRc9DzPHlVYzDNR69iLT7PGK5SFOuNamlt9adjvs++7YWVtgQ GS8a1rwvqk4OESKnKtA1txdZP99iWHJev8Tk1QCQz3vFuWYL3kAtWSbYVHE0C1s3gcLyl0NAxzw 1kr13Z898kOztgB7ZV08M6q2BfrwPIQEGVIpcSrIAWbSirDz7RkVOXNpIDefbgaTpjx6Tvi/NYO YWwAs+8tuG8V8R62KUvaAWNWEkCgbqIvkj5v3mU0XOjaTeeBRS1KyBeZB6OwMDZLJVkg0+XgDFU u0NBu1PFCm8YXGZkeNclzzixBC58gTNkBxqli6ZmqtjESk2JSF2kS+VPB/KdYfA37Iu7T4FGohZ Z/nCIEKvCLpMN/2Id6xBjb6B6JBfRxyulMfNRP/31xTYBjaajPrMFKISs1jpBGcxOoAinzxPFs9 q67a21TKrIze0LD/pp6UAtzWTc2tJissHK69TVVjuZeueLsmSN77jyPx/yrVer X-Received: by 2002:a05:600c:3496:b0:499:b65d:1250 with SMTP id 5b1f17b1804b1-49cf7fe62admr94148325e9.2.1788525976561; Fri, 04 Sep 2026 05:46:16 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 016/105] tests/tcg/meson.build: introduce expected_output Date: Fri, 4 Sep 2026 13:44:30 +0100 Message-ID: <20260904124604.2207440-17-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526046509158500 From: Pierrick Bouvier A test can declare it expects a specific output on stdout. In this case, we compare it to a reference file. We implement this instead of relying on a wrapper because we need the flexibility to resolve name of reference file per target. For instance, multiarch float tests expect different ref files for each target, which is something we can't express with a test wrapper. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-17-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 0311b2432e4..f5fd9bee7bc 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -6,6 +6,7 @@ if config_host.has_key('GDB') endif gdb =3D find_program(gdb_progs, required: false) prog_gdb_test =3D find_program('../guest-debug/run-test.py') +prog_run_and_diff =3D find_program('./scripts/run_and_diff.sh') =20 tcg_tests =3D {} # tcg_tests is a dictionary with following structure: @@ -23,6 +24,7 @@ tcg_tests =3D {} # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], # 'qemu_args': ['qemu command line flags', ...], +# 'expected_output': 'file_to_compare_output', # 'gdb_test': ['gdb test args'], # 'env_var': ['VAR=3Dvalue', ...], # 'wrapper': [program_to_launch_test, 'args'...], @@ -86,8 +88,9 @@ foreach target, plan: tcg_tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'env_var', 'cflags', 'gdb_test', 'plugin_= test', - 'qemu_args', 'test_name', 'wrapper'] + allowed =3D ['exe_name', 'env_var', 'expected_output', 'cflags', + 'gdb_test', 'plugin_test', 'qemu_args', 'test_name', + 'wrapper'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -201,6 +204,11 @@ foreach target, plan: tcg_tests ] endif =20 + if 'expected_output' in setup + expected =3D files(folder / setup['expected_output']) + cmd =3D [prog_run_and_diff, expected, cmd] + endif + if 'wrapper' in setup cmd =3D [setup['wrapper'], cmd] endif diff --git a/tests/tcg/scripts/run_and_diff.sh b/tests/tcg/scripts/run_and_= diff.sh new file mode 100755 index 00000000000..3e51cdc9663 --- /dev/null +++ b/tests/tcg/scripts/run_and_diff.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-2.0-or-later + +set -euo pipefail + +if [ $# -lt 2 ]; then + echo "run_and_diff: expected_output_file cmd [args]..." 1>&2 + exit 1 +fi +expected=3D"$1";shift +output=3D$(mktemp) +trap "rm -rf $output" EXIT +set -x +"$@" |& tee $output +diff $output $expected --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526519; cv=none; d=zohomail.com; s=zohoarc; b=PW9yCvBJTSlU6ah/xvxaos7LcatB6/t/Xa/M4zDpxk7BgfJVTesCw43T1ALd/BvIU9N16GcH71GVQD2pMBI5AKjoKAluEcEzzOUMDBrmc1NlgdfeDvCpcuQyfvCLHi+bwoh7duvtWZS1vUJcS0zC5uM2rb0t0oMlFxi99cnDerM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526519; 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=C0tPrXZuMf2C7gQPLjpGhrFHCwZjtghhiSmlOj5fpFY=; b=I51EpwmuDNsTeD0sZGIc/3MCcyvbjHHpu4U1HqU32L7KBo5v5HJVF/Quuf0zE/97E/oeLZVo9MRiFiA8lTXMk8QVhsO6NVYvrM0ltKHNFVpSwWHFKwN81im7Dm+e7rR6d+VSnYtOUSgIb9E0/1IpuYV2RYDM8DRqmQnBkr8Aq9Q= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526519149660.3403076741513; Fri, 4 Sep 2026 05:55:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQK-0001gL-4f; Fri, 04 Sep 2026 08:53:40 -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 1x2TQI-0001fV-MY for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:38 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQE-0000hL-TL for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:38 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-482f2ee53e7so609699f8f.1 for ; Fri, 04 Sep 2026 05:53:34 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf770fcf5sm66392155e9.6.2026.09.04.05.53.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0901061579; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526413; x=1789131213; 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=C0tPrXZuMf2C7gQPLjpGhrFHCwZjtghhiSmlOj5fpFY=; b=X/7HNqWI0on1p9c0jOo6ZqKqqwA9GSUWL/tTgA2RGtPvP89zywh8oI6V8aYwhjTkiR MkPklK1W8g3jePJBvDuX2gPJPfzjeypsQYUhRfg+MKniYOFal/tfSCHbcfFyH2kZV8pk vPns0fRkpYx7vIf/tCP79avAM1o4XzMGSC542QmV7srlYFbwwqAOov9TxRO+PbZGZeEX rkJ+d5KkEG34LZ7Cffje0vXGTrywyFawn7fSW2HRILYAh4syAsMXVm+lLTCWrpZT92K1 jsXrxXmXcLQx6jft0/F+LEQcsxVygyaCZGOwdJ6aVCRVX2wk95cbeMdzNReXot2BTZhA i/vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526413; x=1789131213; 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=C0tPrXZuMf2C7gQPLjpGhrFHCwZjtghhiSmlOj5fpFY=; b=VVLWRkEclBVZfNS6yvi6vK+v6bSxk4/sjrbVhluD4sB6O4O48HK+StGXCJVZ2VR+zf vVKjcToUPXXEIjlQ1IPOzyYfCFOVo6aRCUtinmuUppD+FPIrwrh60Co9lD6w+rIc0/BI sZET8YOvSCWm15vbQjHzjqMm13Qw0hCDgl2XQ3uLZ/ckZ0/47zh7qFaaxdwZBkzhMUA5 kS0DVaim3QLvC/IqnHB067VTBtI3nksPryT6cfIjLCP+wzmJpTL8OSfBDcA2vJJPQwpo fyVd4+QVcYiOJAH2rvPr/zr/FIaS/HRctd5p0PUXiKV88VrjV73aLOy0xbDgFrRn25rF lxRA== X-Gm-Message-State: AFuF++mxe7olmHKpJtHrqQtH7LaDN62lF6Bvi8PHqLnG//GNO5DQB3YN K6DtzPgdlTfgfu0/Nt304XwqUSmYH5QyupiBcyFroS3ollHFURuFS9cT1GWE5I6ihoE= X-Gm-Gg: AYBFou3MptUXlKFlcXNwAckUjgvTiJT4nKFx4YUrQ1jEIdCW1f3/avnktQyTH6it51g gYdqCXIQM3a9olHtkfocDtWMxfTKf7Vy2sQVzAhvlAcLkxgqBB0faP+uW4MuHLSDcDlZ0X2ffyz V0na821HtPqTCQnNiaYJUaiVZujxRCe1/iJ0ncXtXgbc8RHwBESEC81nOnqGT0qTXfo5lymn3Qm 3cBYPHgR4nOdARPE0x5RjiIJxFbHRzXLLJI5SEOPXVAGazX9ppAn9aYLfBwS7BUWuZt7liruLGe 4MQ9CvswSBl/n4fKg2A6kRS6wRJD1HlNsQ/A7sYby7kKJOMXjIPC+uPLPBNIKDeJD8aEPIYYUvJ 3vrhT5visc1Rof7gJKRWKyPzxsBGFNTq5zZuFOTWa02FB59KrHbwesUu0P54uItf8PKnKmrMhIB 54bGmSICOXrh7a5LhF/aY7T8XJPzxGyK6IjYLKpc6k/qgKLL5/q2RMG5Jck/mQ X-Received: by 2002:a05:600c:6098:b0:49c:fc6c:be05 with SMTP id 5b1f17b1804b1-49cfc6cbfdbmr33702785e9.28.1788526413363; Fri, 04 Sep 2026 05:53:33 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 017/105] tests/tcg/meson.build: add wrapper run_and_check_forbidden_output Date: Fri, 4 Sep 2026 13:44:31 +0100 Message-ID: <20260904124604.2207440-18-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526519659158500 From: Pierrick Bouvier One of our test requires to make sure output does not contain a specific string. An example is system multiarch test run-gdbstub-untimely-packet. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-18-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index f5fd9bee7bc..c718555d257 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -7,6 +7,9 @@ endif gdb =3D find_program(gdb_progs, required: false) prog_gdb_test =3D find_program('../guest-debug/run-test.py') prog_run_and_diff =3D find_program('./scripts/run_and_diff.sh') +prog_run_and_check_forbidden_output =3D find_program( + './scripts/run_and_check_forbidden_output.sh' +) =20 tcg_tests =3D {} # tcg_tests is a dictionary with following structure: diff --git a/tests/tcg/scripts/run_and_check_forbidden_output.sh b/tests/tc= g/scripts/run_and_check_forbidden_output.sh new file mode 100755 index 00000000000..4486ca8ef83 --- /dev/null +++ b/tests/tcg/scripts/run_and_check_forbidden_output.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-2.0-or-later + +set -euo pipefail + +if [ $# -lt 2 ]; then + echo "run_and_check_forbidden_output: 'forbidden string' cmd [args]...= " 1>&2 + exit 1 +fi +forbidden=3D"$1";shift +output=3D$("$@" 2>&1) +set -x +if ! echo "$output" | grep -Fi "$forbidden" +then + echo "output does not contain forbidden string: $forbidden" + exit 0 +fi +echo "found forbidden string: $forbidden" 1>&2 +exit 1 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526146; cv=none; d=zohomail.com; s=zohoarc; b=Kb6g2hjyeOgunv2BxM2oXeTF7/EVTOOC7SpGQ+mmOF4TDNCORqq5ZOxDejnOmCkAZ7sT8R95I1UcdI8r20IdvXh/6dah44T2O8/7+8oRAs0kWgcQkAwzDT4rsw6nsgJoNUmi1R3Rf/5Cuq5lmrIvlaQ3B9mtVxFUW0BYw7NiO4s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526146; 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=r+WY3scpMyBQywsEfZ38rZGwyTfrr1r4ukZ33K30QHM=; b=K3QF7hXrBqU0bis+O7JoM2MN2+AkgWDA9JeJMq4tI/YGDHTkd9VghFsCRnU2r3zFKEOUszhyy0swh0IpYqVAYSoQV+jmKQmIF00y+qzObiIaBV0RFuqMnqpsJ4SCULAYjy2mlR332qVdnt6yQOPsrF08goEVWGRVuwwTbPJk714= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526146039797.6511457017206; Fri, 4 Sep 2026 05:49:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJQ-0006DC-7M; Fri, 04 Sep 2026 08:46:32 -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 1x2TJI-00069L-18 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJE-0006rs-Ts for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-495590dde14so13333785e9.0 for ; Fri, 04 Sep 2026 05:46:20 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm2434073f8f.3.2026.09.04.05.46.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 202AF615C9; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525979; x=1789130779; 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=r+WY3scpMyBQywsEfZ38rZGwyTfrr1r4ukZ33K30QHM=; b=syTqM9ROP97Qh7jlgX2Ny6JTv7Bl/ItK3V3QtdwRJMvOeMBr/z2/AteGBOT3i6BnZu SNYSNpzBdsxklKQbzKsTtV3HzXZsdpxawOZjZtkGxckRKfoV0Rc+4dhV76f5Q7r6e6Ol J5HFRGmRZXUR17Tx1VaPI0zgg7v6B+xu+wk/uXvJ2moIPRX0Yg0RVsOVG6WZF8tISN9b f3pDAaixN1/PIF0ihzxe+jrVUlfHz9dJPe4HJGkSyzDzNC40dntVNkW04OkP5Wv7NNsH 1a6+gqPdgm9Qovf62TYv3ulovMb7LbqJZl1Qb/gCbTXjUMBlWlO98RSS/Ya7UE5vlwBI PGuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525979; x=1789130779; 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=r+WY3scpMyBQywsEfZ38rZGwyTfrr1r4ukZ33K30QHM=; b=OuFcxb5jyhKaIva2Y0na9PEHOcgzdBeZ0BDTWcfRMcIxAIi+KuP6Ys0Q/fg6ZuxKaw XzthI91QcW7FFlTcTBEcSr5CUWyh9yIeiPp5feA512nEQivmXfR6SR6llqlPd5vh33qy yewuE3XZuK5HZTMWSapT5WKjnbyTSztazjdDVAv46Rk2zmjTvylJd8lo0uahIVh8vFuO GHhriZ9fe5xO13fC/HF4/H0RxbS+DsXTPJu4KB3n/FqAmQk7UkCknBDbdiu+Wo/oXGM+ +EzIuH3DK0KcDCw/njyy2ThFzhcWVN2V1VWxwd2EGHadYRew23arLvDTB7FNHvDSKwtn 2Mpw== X-Gm-Message-State: AFuF++llV65OlHP78n8mS/DrnWcw9YH/+OaQ9+hgBMcMcatxe2TxR1tF gOyrfdL18wXauiaOiYyVt53zxhDLSe/cgEKA8g0akT14IL9eBTHyvpXa1KtqMPjzHs4MfyYJ+Ed aZ7+/tcU= X-Gm-Gg: AYBFou1o2QA1a8ytp2CdKhLa0vGrHB6wD4nvA4Fq/RaFBjmUOb5GXIeRbJx4sRLmSqN pvuiUMpkSV99tXnFfiuqQo/teA9KLMtHqx/K5BiaOuOMpQLnZYr/GjIc6BhRSshxwmNhs7wrz9q i8hQVJ5V4H+ksljQdf0GtuSJWYkC8bL2d8gGid9Th1fvDcxpvF7rfwus0tgJ97NTRWj9Yj9+RJp gx2Px8tDyP8q0ecaJ/ki232hI27IZ8W3AdcLnnIfiZNChIFFvsShvxaz37a9CzMaw78VBT4wSCb FV8onw2xgJGHA77k1bZppiazcokRdrYUIKJ8YQaiBzG4QuB4QU+wcLms5pctveYv8c9+Q6ULYCN G1GXFz8tDl61hgYy+AAhI6nz14KYlJmlJjVLgQTBcYafg5LVlgQVypS9NM2wjsqLKjNVb/URlyh SqiV9GXSZ5FK4NQLbldX74BGCK0RhFAVboLUC1k5f9ndDfMuAXKAG6fXJOYNG7 X-Received: by 2002:a05:600c:1d01:b0:499:cd34:f7c with SMTP id 5b1f17b1804b1-49cf81e6f87mr86994025e9.5.1788525978627; Fri, 04 Sep 2026 05:46:18 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 018/105] tests/tcg/meson.build: add wrapper run_with_input Date: Fri, 4 Sep 2026 13:44:32 +0100 Message-ID: <20260904124604.2207440-19-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526148724158500 From: Pierrick Bouvier Semihosting console tests require console interaction, and were flagged as manual because of this. This wrapper automates interaction, by sending a specific string on stdin. Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-19-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index c718555d257..f2c5d77bfe0 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -7,6 +7,7 @@ endif gdb =3D find_program(gdb_progs, required: false) prog_gdb_test =3D find_program('../guest-debug/run-test.py') prog_run_and_diff =3D find_program('./scripts/run_and_diff.sh') +prog_run_with_input =3D find_program('./scripts/run_with_input.sh') prog_run_and_check_forbidden_output =3D find_program( './scripts/run_and_check_forbidden_output.sh' ) diff --git a/tests/tcg/scripts/run_with_input.sh b/tests/tcg/scripts/run_wi= th_input.sh new file mode 100755 index 00000000000..3d280547c3a --- /dev/null +++ b/tests/tcg/scripts/run_with_input.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-2.0-or-later + +set -euo pipefail + +if [ $# -lt 2 ]; then + echo "run_with_input: input_string cmd [args]..." 1>&2 + exit 1 +fi +input=3D"$1";shift +set -x +echo "$input" | "$@" --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526513; cv=none; d=zohomail.com; s=zohoarc; b=PPEQ13AE+On6T/FQ8JtgZNAashSAxfXS8B9ATtHoqlxocf9YT+CIEI08ZjSjzSSXgOoTT8Zo9ah0i4gCrmMXLqV1TkIYV1ELbN0Wg4FzNCuRLNNgt2EoLRNbEyoAHM4ng1JnivjQ9gUuc0cp4duwKkNI+vL32hEzmfkVyPUa+fI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526513; 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=Enfk34+BKXGXOBtsT5q8qTvUMCUcJJpAI3wkn48gKjY=; b=dbFZJPDw/hAgtfQRxL7aJEoJFBIRwfHM+i3ePKkXXtiM8Zc67pP/30tFAM75rJOAWRorccpjk6njEqfNJt8uGg4y/bkOBQG6Aiu9/RupjrhmKge4zLcYLw6Td60JJoPdacrUh646WFgFcQP168tCzLU8sP/EzkKyDNRP5GmKERQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526513867671.3258520267595; Fri, 4 Sep 2026 05:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQO-0001j6-04; Fri, 04 Sep 2026 08:53:44 -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 1x2TQM-0001iM-Qz for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:42 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQK-0000jL-4B for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:42 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-48586861639so678901f8f.0 for ; Fri, 04 Sep 2026 05:53:39 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883c5bc5sm6437586f8f.24.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3691E615D4; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526419; x=1789131219; 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=Enfk34+BKXGXOBtsT5q8qTvUMCUcJJpAI3wkn48gKjY=; b=HN4GOlTzlCnTwjoSqpi/UbcXmu6uPCkEr2mG9Gq+C5gQfqUywOirmd0iA2V5rBTZ2i KYHzKNKIgfc12DwYRTd8mwvR/DVAw3+rnaeF6f42Usm0BNeRnJJ05IYxromvke4ieGP+ nw+M859pBgf8H8bXDouuh9Dc2V/kz+G3DQmUjWw8LJLkED+fD20pQSsocrt1JCWvYu0q I8U+NcNEXfJrUlNNHMv0o+0d1ScK+l/bwFohbrAd4X26QdnvMnjkI89E9oB/FojsQHrm 3IXW5KCrIXOvThARQYXvp2+b5D+9/Lp5FU/UtjRnXHsv3ksu7E7l9gOl2SJGCOUxnAFS mb7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526419; x=1789131219; 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=Enfk34+BKXGXOBtsT5q8qTvUMCUcJJpAI3wkn48gKjY=; b=XneKYDQPw6F1eKNJh97q+MsyPr77QxVgo9+pyup0l2DR8Wvd/0t3WO3m/WGZ1ZbV/S eHxnXL6+CJ/Yq5pLcTgMA3s6uj7XDKRJw9pfEhrWJDBjMQzbnNF//n16LZMlzy5IeQvI bXsQqPCCHscXduBszIVEegWaZmy53KWwJ8mkSCWKBeG+b7wO2K6oKmA+PVgUSoGrWSoq A1VT22C6ieQtS632QOquo3DMp6tgLCLWx6PaAyQlFTaRrPjf5G4NW3FnA0WBX2DEMbWy beS/m8c9xlJRAqq9ba0qN5DOkXP2rLvl5VVGjXTmon+Mzlh8Q2xcMDjNgX672LuS/xdY /Yuw== X-Gm-Message-State: AFuF++lgdcXFmgD2+3MkJXNMDwjCci+OB7S1FNsW97jQnfijIZkaapt5 SV4bOymQWX0icmCVv10tMkyFA7kN78wa/rBx54dYP3OZiUp8v5xCuksrrOlAfooZhOk= X-Gm-Gg: AYBFou0JU11ET8bnXNYGCxiK6XlOscZWmtAfDE8eyEqhtPbWN6zljhjXGGfbF1KfZwc 24UeYz8PsPCIj74UT0bxzMqJjYf8svwCuKqBlK4dxJ3jnd2mO4NRZUM6CXLeIhd16HblNYwvwcp c/yLe/IYuZURbhBYXa3p7wLVAQGvspnwogv9CS5eY5MmWijox/SE+LwKJI5+2csKT2saF4qdJ8B g8qLJNyUCpS5Bn04XQE9R6M/wsQ/YN2QFPm3nE9VsPGgyeQdEvXuKMIItrTr7fsjrrjPPURC7mc tyaN+kIedRcIEyk5TtpwJGUpeZ16HyZGV/bdyiarFBiF8t3Qnvg8VR06q22ARLW5B4+Z4Bmdn2s usSJL/AXPGDPkah4VwaGoV0VgdKbgN6BMHtpbEiS3K50lNEySHPPIxSQyPSk+/EY2Gw6fWvt19z fIQDPjxCErMemwDCPIV7mq7zC99Yo/TOKLmIZNr0YWc3QwNXO7LlZsqr+nQzmW X-Received: by 2002:a5d:6d2b:0:b0:484:3600:35a9 with SMTP id ffacd0b85a97d-4857e3ce195mr12951925f8f.3.1788526418624; Fri, 04 Sep 2026 05:53:38 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 019/105] tests/tcg/meson.build: add wrapper record_replay Date: Fri, 4 Sep 2026 13:44:33 +0100 Message-ID: <20260904124604.2207440-20-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526515801158500 From: Pierrick Bouvier Runs a record and replay test, and make sure the output produced by both runs is the same. Tested-by: Alex Benn=C3=A9e Reviewed-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-20-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index f2c5d77bfe0..328592b28bc 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -6,6 +6,7 @@ if config_host.has_key('GDB') endif gdb =3D find_program(gdb_progs, required: false) prog_gdb_test =3D find_program('../guest-debug/run-test.py') +prog_record_replay =3D find_program('./scripts/record_replay.sh') prog_run_and_diff =3D find_program('./scripts/run_and_diff.sh') prog_run_with_input =3D find_program('./scripts/run_with_input.sh') prog_run_and_check_forbidden_output =3D find_program( diff --git a/tests/tcg/scripts/record_replay.sh b/tests/tcg/scripts/record_= replay.sh new file mode 100755 index 00000000000..57775a2d4c1 --- /dev/null +++ b/tests/tcg/scripts/record_replay.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-2.0-or-later + +set -euo pipefail + +if [ $# -lt 2 ]; then + echo "record_replay: qemu_bin [args]..." 1>&2 + exit 1 +fi +qemu=3D"$1";shift +tmp=3D$(mktemp -d) +trap "rm -rf $tmp" EXIT +set -x +$qemu -icount shift=3D5,rr=3Drecord,rrfile=3D$tmp/rr.bin "$@" |& tee $tmp/= record +$qemu -icount shift=3D5,rr=3Dreplay,rrfile=3D$tmp/rr.bin "$@" |& tee $tmp/= replay +diff $tmp/record $tmp/replay --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527188; cv=none; d=zohomail.com; s=zohoarc; b=gsaDDLnlLVVsHSKlfsrohyFfO+oC5eww3xppu0t7b5Rk6hySa60yrCCcJ7AOSCal0cOcQGLurdv5m+xrvTd6epd0j5OcscztrgsB7MX37b4ffyF64SjdZMVYcjdLMddALYaUDG8iin+OLr4x8rtwNWzsgOFybBQv7oJ8ewkMCZc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527188; 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=vDufOlKcWSbRjTlQz+HSShvFcMWsD21zyoT1BVbu8YM=; b=exGdvaC8LreltsQBpM7rn1+SH/XtdY5bkbMTfB9/f3COa4ij7gj7+16gI6yHbM2HgAFcxmPRME3hhkFdfJzmQIp588O++GkUd6JNzNlUc2/iefbOE2E/dyKs2c+Mp5SUm+0xyYcNlBjZK75w9uh5HET9kqLeQkUZeKTaT+9GBks= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527188481971.2243360070055; Fri, 4 Sep 2026 06:06:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaS-0006eO-DA; Fri, 04 Sep 2026 09:04:08 -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 1x2Ta2-0006Q3-Lp for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:46 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZw-00038U-8T for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:41 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so10349495e9.1 for ; Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5d4938sm152638005e9.2.2026.09.04.06.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4DD0D61633; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527014; x=1789131814; 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=vDufOlKcWSbRjTlQz+HSShvFcMWsD21zyoT1BVbu8YM=; b=nHY16Ezt0pKN5JUJ8bQ33zJNZJFOjd4DqmWhV9hBmXa23BAUDTAP5cLzbXg38Dp+Ze t8hfkBgkR38UfU2oCpOTQI+9TtT0KXzaxIHhV214WGgUZ8coddoYLvUv6QHvFBY9PpPL CX++V7zWFV2n1K/6AObNDVsuhuck/rhsPiAiEIL6q1eEFSuoGtif9CRCmQRVOVFVL1B8 8KRBX8bBYIj5Fh5W1ULERZPWxvTuJFO50PpskuK/TcSytO/ofy6wGTWAK4nAsVXwYVFi AjK5JY51pUsoNT2yzIMILNehN8mTuS6OZcglRHKiDklb9XA1lg8Ca326OFyi6f5z9pK0 QeHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527014; x=1789131814; 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=vDufOlKcWSbRjTlQz+HSShvFcMWsD21zyoT1BVbu8YM=; b=NgNFZqKAPX4hQb/N35NIjjbA7AAS65dk68Jghkp4wNlAN35N1GF87gkFjWtZFKHA5e 0BhibFP68z4J4pmB/unADE3B5Y+H7j6FnXQxO/vo7HhDFud36X8fAYT4nsNKdE/LTF8m wlDq2ClUSiOb/uVvYaQkPkEtij1iqcBAMuTwiCxoldxMpB0oNDa5t1qJqN8C1xt7BvjY D42MA4b7ZJkGOOoOfCnJBn905kivikDzYnxScpQR5ActVlkZpUJGGWoVMDbKxReP7GgV +07/mf+jIAGFu3uLMuHwZB3HzwQDbY8Kv+EhW0HnhfIC/pwdhVYcyZCRaznME7VfMflr HD9A== X-Gm-Message-State: AFuF++k8UAArt1RfZNbVT0MZlAkZLt8IJXPNmSQId/XzP/JRCfpQC2+1 EW1lYZ7tJJH3zHfv724goh5Tp7sCJaDLxYK5jQ0ZWNXEVi2vk8VNRe1fbdz488ihObA= X-Gm-Gg: AYBFou2dpdoTsznKUP7tNE4AwGt+uTJX8Khx8jJfu4hiM3WxcHi4y3HLDVyjJSfPMZb b99mYtMVDxT53HAa5+k0HD1/WaeXJEmg53zVdSiaJEFT8ALGswak6pMZ5JGVCYKeuCQEsvel1N8 trAiz1tduATaWgUOmaaC7aJVCiU7nYP8/OAhIm/Vlfe9Q2XVr5WEejPegwdHvcyWxYY3rHlEC4Z 4HqvyzxfZPuDSUKc3rwVOGqxzrXR0MTZqWX3neQkFYWPCCL1UX/jOdvkxZWum7VUNn9YWDrsOqg ixhM+Eg1v2qm5ZZvod0L8g+7V9GA5VJDWSesv3nS3tI0+bC0gz33qsoB4SRN2xwaaqtezAOURmE HU5KUAQiRuDOP+Ou7Q/oF4zuYila/1X4kN5oV45wpmBG7FfTylQq1HZAeZqkUuptPTaQifx8FhG URQixFioLl/d9YZLVNbt9/nbPzqwTaPWuZVa1Ug7uHccMLumF/thda4CHpxzqo X-Received: by 2002:a05:600c:4585:b0:49c:fc6c:be16 with SMTP id 5b1f17b1804b1-49cfea09f08mr18051125e9.28.1788527013910; Fri, 04 Sep 2026 06:03:33 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis , Aniket Sahu Subject: [PULL 020/105] tests/tcg/meson.build: add wrapper check_plugin_output Date: Fri, 4 Sep 2026 13:44:34 +0100 Message-ID: <20260904124604.2207440-21-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527189251158500 From: Pierrick Bouvier This wrapper runs a qemu command, record command output and plugin output, and forward both to a check script. We use this pattern in several plugin tests (for instance, with validate-memory-counts.py). Tested-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-21-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 328592b28bc..779f9043abb 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -5,6 +5,7 @@ if config_host.has_key('GDB') gdb_progs =3D [config_host['GDB'], gdb_progs] endif gdb =3D find_program(gdb_progs, required: false) +prog_check_plugin_output =3D find_program('./scripts/check_plugin_output.s= h') prog_gdb_test =3D find_program('../guest-debug/run-test.py') prog_record_replay =3D find_program('./scripts/record_replay.sh') prog_run_and_diff =3D find_program('./scripts/run_and_diff.sh') diff --git a/tests/tcg/scripts/check_plugin_output.sh b/tests/tcg/scripts/c= heck_plugin_output.sh new file mode 100755 index 00000000000..d942082ad86 --- /dev/null +++ b/tests/tcg/scripts/check_plugin_output.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-2.0-or-later + +set -euo pipefail + +if [ $# -lt 3 ]; then + echo "check_plugin_output: check_cmd qemu_bin [args]..." 1>&2 + exit 1 +fi +check_cmd=3D"$1"; shift +check_cmd_args=3D"" +while [[ "$1" =3D=3D "-"* ]]; do + check_cmd_args=3D"$check_cmd_args $1" + shift +done + +qemu=3D"$1"; shift +tmp=3D$(mktemp -d) +trap "rm -rf $tmp" EXIT + +set -x + +$qemu -d plugin -D $tmp/plugin "$@" |& tee $tmp/output +cat $tmp/plugin +$check_cmd $check_cmd_args $tmp/output $tmp/plugin --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526536; cv=none; d=zohomail.com; s=zohoarc; b=g9GpWymXGyC2ZKa1pytBZ50xzWBcl0JUhXhUMxNdkQEqjHIyLUgQx9tbvzf22nZJ+wygeBLjE1wD5ifqNN47TxyAAUuXPhRQlTf/cUOcZTIYW4AIQa7uFmGH7KLFl5yaNplKKpRGSj4X+hB+jTyld8yWLyCxDFi4gE5f8fSCH94= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526536; 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=nbwdsD1KXx73ouDM87wqBzKiBRdOYCh7uD4Le2YTHEg=; b=URmBKA/MTK6KcYLhB+1JBHv7l1QzA8JDU0+37qkPvWXVptkY0FO/3hstZei89oACCm1N/w+8T4gKY4OkFaL8s4SF2bU3vSz2KOBa/ZK4lF+WhZxpFgg9Ve8B4PissQJXWqDVJQY/2AGNqObdic9PTLQcpMAxFoiJvNQd65hGrfo= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526536418909.0004350478035; Fri, 4 Sep 2026 05:55:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQQ-0001ka-J4; Fri, 04 Sep 2026 08:53:46 -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 1x2TQO-0001jj-Nh for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:44 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQN-0000ka-0C for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:44 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-482e067e908so873463f8f.2 for ; Fri, 04 Sep 2026 05:53:42 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883959f0sm6612513f8f.10.2026.09.04.05.53.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 667926168F; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526421; x=1789131221; 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=nbwdsD1KXx73ouDM87wqBzKiBRdOYCh7uD4Le2YTHEg=; b=ghVJadOhSWQ/SHc2AT//CxpUx35r1+sApV4zCYTsCPHF0lJ9Fn2oE+v7KkgyOAPsIY zaiEtGcs9IGtWqjYHCTGi/AGdaG1PfbQZj3YJ3DDEz88PdUiguXvYIqrb+IjDa06+FNs 3hMu0SPQdcvF0U0dSP7h6OZlzqLKOeUSC2hXRBRLyR09kGbSV4mby+498qcHacEJLznE qu9TPveAdN7KMbqPzTulJWtbGq/KIwCAyOKEB0tvHEYJLJqHOYeYghKvuztC0i3sEmLb a8Jlo/EHh0UMFTjJBhau8e8Yjh+k6z00cmfb7BlERhNHEy3PT1H2vtyToQqYGkfFNwVs IxXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526421; x=1789131221; 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=nbwdsD1KXx73ouDM87wqBzKiBRdOYCh7uD4Le2YTHEg=; b=qf1c0Anx9jPFbX3nG70NU887zyD250vNHwVMXUSypFrLAM4xZxlNdRUkQvJ0be7b/h nrG5Kpasr1hxBb7s/j8c6gBbrlzoilOnK5V2GB3Nl+Ovmc36rcneMAR3Sbareff/LVcr xRU5way1ULT6eYb2GvnHzXOJcKa6zsiKNxdsisy9fWGWzlhT2eZE8i6RpWJPcZhHGvSx 46e9671w5nhvK/+9+BDq5bPowHQOq4Gd8DtLFzqSJjQKelGgzadpHgjbYHw8n1wpA5Cb 4bl93v8Qh0tmZx2qK+zxXl6CJX4X65N73j9yf0QxP76kA6xheLk4sbtXq7VwSimC9gX3 EBjw== X-Gm-Message-State: AFuF++lMKaNehESGxpTWZddqH5d6BUnc7No1ai2ddOWAXTeG9xQwvcDQ +mj2V7WfSbPRzF0kqG1Vtk7+MfaIZYpy0gecpwZA1kJA/EAqKH/9njAUNc7NqEza2dQ= X-Gm-Gg: AYBFou1czdYjgB+4dYpqYMEQhNUneMdBEkb2jUEZThUNkSnk/QAVklmSiOQkSw0Xc0h EffLlqgVpP8PO1f/gHM89KQvcF/Uyel/cXqgmcdOmFPZWxEA69BaGCEHcb7CxuURymlWV7BWTv8 wnY1UDDFWp5hPiJkE8q1ojMqS3v8w6T9o+Fe60CYWchESmLVhdgXYr+aQ+pBo957g+ha7rxL8Py GhWlDWPiMCNxmT8m9Jfq1MBPPgHMew9/1SsnuUkf94Zt/xw76UT4NBB54mhE9KpeqYC/+qPPKub ofaIXdtnziNVTciIZIXOGeQ3oyDa/uog5+1mjxLAMjaFvGxkXyjxgaFn3uT6avKk3wOtqL4GXTm Rj6slkfFAZRhNmT7bOUr7J3MRc/UZ3+uEvFN7kqJyAvX3palfDNgo4Fv3GnlSnuruDwDOU8Uck6 bswquEwYhSFVYtaB3GGbSR14FnvX81cVBqZOHb7Cja2F8VkU2BLIHPqLDzNjH0 X-Received: by 2002:a05:6000:4b15:b0:485:8a46:7064 with SMTP id ffacd0b85a97d-4858a46728bmr4088818f8f.54.1788526421168; Fri, 04 Sep 2026 05:53:41 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 021/105] tests/tcg/meson.build: add logic to skip tests Date: Fri, 4 Sep 2026 13:44:35 +0100 Message-ID: <20260904124604.2207440-22-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::435; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x435.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526537779158500 From: Pierrick Bouvier Instead of skipping tests and not declare them, always declare them and simply return an exit code 77 (SKIPPED for meson) and print reason why test is skipped. Reviewed-by: Manos Pitsidianakis Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Reviewed-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-22-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 779f9043abb..7b60ea53825 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -114,11 +114,15 @@ foreach target, plan: tcg_tests endforeach endif =20 + # if set, we'll skip test and print the reason + skip_test =3D '' + if 'gdb_test' in setup and gdb_arch not in gdb_arch_supported continue endif =20 if 'plugin_test' in setup and not get_option('plugins') + # do not use the skip_test logic, and simply ignore the test continue endif =20 @@ -226,6 +230,11 @@ foreach target, plan: tcg_tests cmd =3D [setup['env_var'], cmd] endif =20 + if skip_test !=3D '' + # still declare test, but skip it and print reason + cmd =3D ['sh', '-c', 'echo "' + skip_test + '" && exit 77'] + endif + test(test_name, env, args: cmd, depends: depends, timeout: 120, --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527108; cv=none; d=zohomail.com; s=zohoarc; b=ghSURauac8iEgoOO8wxkykjC7ZhJEujpirO137FGWPcvonHBjHFZWigr3K7Kf8dMowewXaf+HTuERzBtMvm+1klFFi0mSzxs3I6LftYDGjhJ2deyELl7dKmGchYbGYRd8JnQWPvoKWKh8f8RoKMEyXGUrkK2qFr3Jpr3MoSjYPo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527108; 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=k/BfTarnLWqkrSwxO4pH9S9p5Y90HaKbjPjWlxoYnes=; b=RiO5DLTvsXbcGrSd8aLTxgKrIUr2rOFz/P3ahPL7mH9K6P637WHoDdhxGvS7t0IoH/76+XvUanhas/6yJzSHibyL3ka809ZMsUeAzy83PAhXMWsaJgoLioZTU81FyGMYCDmJWMphwl/KeoXTKpFv2txx8zhiJ6ZUne6bIhYroVs= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852710815681.46451950697747; Fri, 4 Sep 2026 06:05:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaU-0006jC-V5; Fri, 04 Sep 2026 09:04:11 -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 1x2Ta8-0006VV-M8 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:52 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZx-000381-0I for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-49b0d8bc2aaso11433375e9.0 for ; Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce55259ecsm148878375e9.2.2026.09.04.06.03.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7D1415FBD6; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527013; x=1789131813; 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=k/BfTarnLWqkrSwxO4pH9S9p5Y90HaKbjPjWlxoYnes=; b=qeesGFqhTqMgSrfs1Lv5qWMo/u9Ac5OGrdJytVX62dEhkAqWR/N69toNqDR/n9DMVO AkJ8yu0zAQfnTIGroF2og99O5Pr5nBpFRuXOPx+QfqI6ALT+AWsmc3k2AtJdUbiVeVby jLaNNQbvetkogGN9hntbAU4OVM7+4LwAbMnK0yadnkJypdKZPGFsaoRBRbs3bXQ8UZtI PYnjyMCtQSS74exB17vJmVnVcd1bp4cfd5L0u6Dgjfy5OwiKUA7awgRui3juSVZ6KwWr Nmx4jTsICr/hpKtvLEuPfD5qaCyBHkLNtAPZJr+BW5+34iy2Y18uJcXvFudKhFH2eaLP aETw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527013; x=1789131813; 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=k/BfTarnLWqkrSwxO4pH9S9p5Y90HaKbjPjWlxoYnes=; b=U44nY+5tR5TJ/2SXy9+UR9ZcPElovHTy3dW5lnfHBVQoej48hKfgNQ9qSSiSzDIs/o sX/EDzo+lNRrxXaL0DN98QDWUNDc9xw6nSXSKIt5u/zuaD7yUQcWuyzxtvHQx+vMA695 kSHaJtxFJDvglfKA3VLqgoV9pviY/54fygbNC0ssqwmlibuW3dfp+lCWDwSXKXtyXLWO E+vEWHj3BFDb6Fb5cEedc5HRCtxowwH8VLLw2kXHfFhl96TXRITDQp/gYRHlvWmruX4u bOh6Ajd04LbPKnjAMC5d9QPkH2zsXQ/ELL59Okli5J4WchtGBmvq8d+9FXCPtmISc7d8 jktQ== X-Gm-Message-State: AFuF++koyrJ0gtGdBnw87bKHuDu5OZcVW+tDFV6xBoTcqo/16qGdoq1J 8vj66fRXk0rBHKlStKQkw1c/RnnXBhqFofhDM/CzaCF3AzIvjFRmObBf/JK63tvrdyI= X-Gm-Gg: AYBFou0gobpGOZKHMLB+G3ScGRJrUplOKCiWP+gOZB6GzN8ukAJV+Hr86KhWGXEGhr9 rQRVU0mope7Kfh2nL2F9FK2axi5eYNpc0h5wA87w1gZ7ijZDMc8Y427bsyHrp30TOvkCOrJ1rEV uxezgO2yxhgov4kUW6vhja1Gr+OoXR3b+5YUlThdlX8EJ3/91fRNZSg+P8XY0aUkCfzIFG3o1c/ q3eu4iT0bu9TQmCTKwPFWfMb5ZoBT8eb8o3hW5t9xUjKcqs2Fzq5j3PeqRO0SGqzrAYggV6Uv4m rbaiGg9BnS5jeAMwG4Go9fUD+oSxw9Elxh7AlHVyFnWxpPtU0Kvcr4GG4NxPq8gkIEQ2H9JARzz QVxEOOMFzH261ruCjFu4iluDVOzKXrOenj36s7QlKYGitUtjRELNMm37ssnKoMeokYAfWjruWxv QWQEnmRWghnSA/1WkmYG1NNbOqrt0ZuPcOG7aEfkKlpwOKwUey3ehb8xuVZ0THYFXuxGDG5E4= X-Received: by 2002:a05:600c:1c23:b0:49c:eb16:9fd with SMTP id 5b1f17b1804b1-49cf820a8e3mr67367675e9.3.1788527012679; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis , Aniket Sahu Subject: [PULL 022/105] tests/tcg/meson.build: introduce cc_feat and cc_feat_cflags Date: Fri, 4 Sep 2026 13:44:36 +0100 Message-ID: <20260904124604.2207440-23-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527108845158500 From: Pierrick Bouvier We directly move compiler requirements in test definition. This allows to always declare all tests, and let the main loop filter the ones that will be available. Tested-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-23-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 7b60ea53825..4487d61ef6c 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -20,6 +20,10 @@ tcg_tests =3D {} # { # 'name_of_target': { # 'cc': cross_compiler, +# 'cc_feat_cflags': { +# 'name': ['feature cflags'], +# ... +# }, # 'folder': 'folder_for_test_src_files', # 'gdb_arch': 'gdb architecture requirement', # 'qemu': emulators['qemu-...'], @@ -29,6 +33,7 @@ tcg_tests =3D {} # 'exe_name': ['provide an alternative binary name'], # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], +# 'cc_feat': 'feature name, must be present in cc_feat_cflags', # 'qemu_args': ['qemu command line flags', ...], # 'expected_output': 'file_to_compare_output', # 'gdb_test': ['gdb test args'], @@ -74,10 +79,11 @@ foreach target, plan: tcg_tests # choose how to deal with it. built_tests =3D {} added_tests =3D {} + cc_has_feat =3D {} =20 # return a clear error if user misspell a target entry foreach key, _ : plan - allowed =3D ['cc', 'folder', 'gdb_arch', 'qemu', 'tests'] + allowed =3D ['cc', 'cc_feat_cflags', 'folder', 'gdb_arch', 'qemu', 'te= sts'] if key not in allowed error('unknown tcg test plan entry \'' + key + '\' for target ' + ta= rget + ' (possible: [' + ', '.join(allowed) + '])') @@ -88,13 +94,17 @@ foreach target, plan: tcg_tests folder =3D plan['folder'] gdb_arch =3D plan['gdb_arch'] qemu =3D plan['qemu'] + cc_feat_cflags =3D {} + if 'cc_feat_cflags' in plan + cc_feat_cflags =3D plan['cc_feat_cflags'] + endif tests =3D plan['tests'] =20 foreach t : tests foreach src, setup: t # return a clear error if user misspell a setup entry foreach key, _ : setup - allowed =3D ['exe_name', 'env_var', 'expected_output', 'cflags', + allowed =3D ['exe_name', 'env_var', 'expected_output', 'cc_feat', = 'cflags', 'gdb_test', 'plugin_test', 'qemu_args', 'test_name', 'wrapper'] if key not in allowed @@ -155,15 +165,36 @@ foreach target, plan: tcg_tests 'specify a different \'test_name\'') endif =20 - cflags =3D [] - if 'cflags' in setup + if 'cflags' in setup or 'cc_feat' in setup if exe_name in built_tests - error('test ' + exe_name + ' was already built with cflags: ' + - 'remove cflags or set \'exe_name\' (if cflags are differen= t)') + error('test ' + exe_name + + ' was already built with cflags or cc_feat:' + + ' remove cflags, cc_feat, or set \'exe_name\'' + + ' (if cflags are different)') endif + endif + + cflags =3D [] + if 'cflags' in setup cflags =3D setup['cflags'] endif =20 + if 'cc_feat' in setup + cc_feat =3D setup['cc_feat'] + if cc_feat not in cc_has_feat + cmd =3D run_command([cc, cc_check_args, cc_feat_cflags[cc_feat]], + check: false) + avail =3D cmd.returncode() =3D=3D 0 + cc_has_feat +=3D {cc_feat: avail} + endif + + if not cc_has_feat[cc_feat] + skip_test =3D 'compiler feature ' + cc_feat + ' not supported' + built_tests +=3D {exe_name: exe_name} + endif + cflags +=3D cc_feat_cflags[cc_feat] + endif + # build executable if needed if exe_name not in built_tests exe =3D custom_target(exe_name, --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526515; cv=none; d=zohomail.com; s=zohoarc; b=AuvopzXNr+lRkGyC/Daas31oI3ymzDAsihBDp8pVrtdj6An1JmI4tr4eN0qCQpx3NvDKTUF9zxBv0A2MZq/KtoFm3P406zex77HsoDI+m26c8+Tl0ErgMHOnNe6BNSbMmwkp7R9M6zeNHdLhZnKGDlDh/DRfuoVvraLNzQPCXL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526515; 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=HTrZoXFUnOhw1apTHhMkKxBaxnocexlpyfkyOtxfvtg=; b=aChukox05wLOYQ6KQOQnLrby1x28LId3V6Tep0TS8AxxUcHN1kZWXVLihKECl2OiD09COwM0B5SxFCFQQrBgDoQqelSEuxSNs5lUdVp8Ur/LIg9hnmi3pgp4MHOETg1tjjmcCYpemuhEKFX+1v3IxDbHrH4xwEO/2gXqYs0a9yQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526515951151.06303883021735; Fri, 4 Sep 2026 05:55:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQM-0001iF-4J; Fri, 04 Sep 2026 08:53:42 -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 1x2TQK-0001gp-Cz for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:40 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQG-0000hw-D3 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:40 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-48431648f33so1443609f8f.0 for ; Fri, 04 Sep 2026 05:53:36 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf771e9absm69128255e9.9.2026.09.04.05.53.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 969C8616E3; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526415; x=1789131215; 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=HTrZoXFUnOhw1apTHhMkKxBaxnocexlpyfkyOtxfvtg=; b=WP/ATxXPmOF3UmC01HmUm+5ev5KbrkeHZL35hzzGhZEAOHwVr+J+zkca4zazyctOQ9 CDNfsWCkeRSJTXXHEWQfRif3jz35YjA57DKs0YMPa7wqp7K2I/xLWal8ysNfL/uZ95ND tFNre6A/gswJC+jYjWdUvfXlyCwIC5cJ6bygiGXEAKaEd9xSg5hUYoSoFzsvKAibDEqc h5NSZmhXrLPTGfbMY8gE4O8bH0l/w8n07zcZE3rwp7gVuE69GYGXs45ejyWLk6YtjLYT EhdTQ/+UMFYUnEIChMzELBq11pMSqvaGCwx2E8Gl5BcCbBqhsV2RbFIEyEcmvQJ5PjLO Sg2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526415; x=1789131215; 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=HTrZoXFUnOhw1apTHhMkKxBaxnocexlpyfkyOtxfvtg=; b=bzJcrG/VEohXg18wxf50IETHMKwk4GK4PqAXbmKomey/lFPO6Wp7CYAIY2ayUPfRg2 lQHYpm0BqVRGmsbbFPYQ/7ZYTWDB7ueGpAC/3oe2qQc+NTkZQiAUUN6b0qf1rFKcQmMU IL3MP3VI4M+plKII/0/By6F7pn9c/F2oxRqk+qqt8fixUQ5vWdsR6DJW03zEqhpcivxH JrjAGdoeEtGwBCF68r0+iV9Mfi7I6rUEbdIfCjiJPK0aPqROKH/jYgAO4FVixWcmMcZx sV7ZyxiudadiAakIJwR7M5FWPJiJ295weAHT4+n0xPxCDas5XtboqIetjs4N/5Wg6RXh dSyg== X-Gm-Message-State: AFuF++m4EJqUhLJ5PMHa4X24WiEUVlRvokMMlpxKheGbuoF8wElZr3T9 Z6gbxvupwb9mlrJvKIIxokrnZ45qEAp9O1xq/o+Grb1mRTMnL5DpKkJNLkiCCmsMJM8= X-Gm-Gg: AYBFou3hrR7rsLzItKCpimqaUvkOXp8mqNexbJWtntB1JD4j1VA3CJCHI6V8aFd/Fyn jorQY9gul5i/IblItpDpmHDOYNWIQKMPbtG0Rb3SDGzwXLZDP585bixP6mKfb7FxkMA6MdXCa8H sya85tUrcKphyrxMfJEHtiYKh8RmkAKiIoQKdJod/v3UX7OLTuQrreMsAZMrw9uIhxF5jbR59C/ +IMerxBnEHwTfAmUh3XbkTdZuZ6wWhFTduuwiLtYiQeWTZzCBlCT3xRiySgxtlKGcgH5jbuax2E IyJn5rT0JI5JAQG2ldgaXBeak/I0hPXqEeE0aiPvjZ0wyx2e9mTDV0cWmR3bvkEfm9BzB65D3sn kJXOnFLCn7t9Tas6Pz7sen05daXZh1FmopuPJfuR07u0iLGeIPuueWj8F8DPaWjPld+ZpDpceML 8FRKIlCLm2vjZRDoNK6QWfExBXbaZkFgKs0EiGAVtMnEucHmLELExmP2I/QOoX X-Received: by 2002:a05:600c:5247:b0:49c:ee3b:723d with SMTP id 5b1f17b1804b1-49cf81f69ddmr45196585e9.0.1788526414957; Fri, 04 Sep 2026 05:53:34 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis , Aniket Sahu Subject: [PULL 023/105] tests/tcg/meson.build: introduce gdb_feat and gdb_feat_version Date: Fri, 4 Sep 2026 13:44:37 +0100 Message-ID: <20260904124604.2207440-24-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526517657158500 From: Pierrick Bouvier Similar to cc features, we declare the same for gdb. With both available, we can now declare all tests inconditionally. Tested-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-24-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 4487d61ef6c..7384786f7f8 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -26,6 +26,10 @@ tcg_tests =3D {} # }, # 'folder': 'folder_for_test_src_files', # 'gdb_arch': 'gdb architecture requirement', +# 'gdb_feat_version': { +# 'name': ['minimal gdb version supporting feature'], +# ... +# }, # 'qemu': emulators['qemu-...'], # 'tests': [ # { @@ -37,6 +41,7 @@ tcg_tests =3D {} # 'qemu_args': ['qemu command line flags', ...], # 'expected_output': 'file_to_compare_output', # 'gdb_test': ['gdb test args'], +# 'gdb_feat': ['feature name, must be present in gdb_feat_versio= n'], # 'env_var': ['VAR=3Dvalue', ...], # 'wrapper': [program_to_launch_test, 'args'...], # 'plugin_test': { @@ -83,7 +88,8 @@ foreach target, plan: tcg_tests =20 # return a clear error if user misspell a target entry foreach key, _ : plan - allowed =3D ['cc', 'cc_feat_cflags', 'folder', 'gdb_arch', 'qemu', 'te= sts'] + allowed =3D ['cc', 'cc_feat_cflags', 'folder', 'gdb_arch', 'gdb_feat_v= ersion', + 'qemu', 'tests'] if key not in allowed error('unknown tcg test plan entry \'' + key + '\' for target ' + ta= rget + ' (possible: [' + ', '.join(allowed) + '])') @@ -98,6 +104,11 @@ foreach target, plan: tcg_tests if 'cc_feat_cflags' in plan cc_feat_cflags =3D plan['cc_feat_cflags'] endif + gdb_feat_version =3D {} + if 'gdb_feat_version' in plan + gdb_feat_version =3D plan['gdb_feat_version'] + endif + tests =3D plan['tests'] =20 foreach t : tests @@ -105,8 +116,8 @@ foreach target, plan: tcg_tests # return a clear error if user misspell a setup entry foreach key, _ : setup allowed =3D ['exe_name', 'env_var', 'expected_output', 'cc_feat', = 'cflags', - 'gdb_test', 'plugin_test', 'qemu_args', 'test_name', - 'wrapper'] + 'gdb_feat', 'gdb_test', 'plugin_test', 'qemu_args', + 'test_name', 'wrapper'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + ' (possible: [' + ', '.join(allowed) + '])') @@ -261,6 +272,18 @@ foreach target, plan: tcg_tests cmd =3D [setup['env_var'], cmd] endif =20 + if 'gdb_feat' in setup + if 'gdb_test' not in setup + error('test ' + test_name + ' is not a gdb test, but it requires= ' + + 'a gdb feature') + endif + gdb_feat =3D setup['gdb_feat'] + + if not gdb_version.version_compare('>=3D' + gdb_feat_version[gdb_f= eat]) + skip_test =3D 'gdb feature ' + gdb_feat + ' not supported' + endif + endif + if skip_test !=3D '' # still declare test, but skip it and print reason cmd =3D ['sh', '-c', 'echo "' + skip_test + '" && exit 77'] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526202; cv=none; d=zohomail.com; s=zohoarc; b=nxz3mSkUPDkniAD9xaL65CFu7/Kx3UJBQbzMXaE1hVVynxoN3ZQz5dYu3a5iJxry1Qcd+6K+9tj8f5Z+YUQmgqI32cuKzZTLq6QFM0DdIuyeYtuZ4ncUXjYig3emlvcUpZJ8Sh2Av2Q9rKwMtu3Xbkq0CJiisBnSxkWZe3midlM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526202; 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=UDgTEJQAVKD+RjxGjDwkAKQhJVsaXbOnqkqZa/CeU3U=; b=LwR+jMlZboXgMlZLu2emcuylOhtWpIsXmCcRpmosOx51TqXNhRbFVBkktG9xjTXgoqZebSjeGEMtJ7s6tH/Xq5Ynm+1By7rO4g1duTX4gF11Ukm7brI9/TUjhZJjj5WbwpS6wl1kkvEsChRokp7CfikzEkt445xr6k7TaHNb0V8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526202584545.7952880526135; Fri, 4 Sep 2026 05:50:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJN-0006C5-OI; Fri, 04 Sep 2026 08:46:29 -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 1x2TJJ-0006A6-Br for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJF-0006sZ-BK for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:24 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49954b88fffso7097245e9.0 for ; Fri, 04 Sep 2026 05:46:20 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885cb03asm6042416f8f.37.2026.09.04.05.46.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id ADA62616F8; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525980; x=1789130780; 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=UDgTEJQAVKD+RjxGjDwkAKQhJVsaXbOnqkqZa/CeU3U=; b=XKgsazEztcqD5+HCV4DWsXt2XjGVLraztP2UECClXQ6YZAwOfs3TGkINUGK9c+66QH OOejW/NTJ3ZOXR2o4+mcNgskH8P//6Ru8AQ8LvpzgYiPLmONMYnoAre736NPtubDbtfg 2IglVnUiwMtrVzKXwj4k6rOAs2oI9WdlhhPtDPhn+cgjd8qzdRjo1OBeWdSucd6uB4Gq PBhUdbKf+scck6rcRHS65gicLMAiAI0XKWSzTaIGa3oYhqnRiu0jgUuQeQaKMMZgXpUb +kjaOeV2pe2tbx1qsffBpYVK79V4Mnrud3DAmG8LxywVIYGzARs8lDb2WLfvpjV3/zTq N/lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525980; x=1789130780; 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=UDgTEJQAVKD+RjxGjDwkAKQhJVsaXbOnqkqZa/CeU3U=; b=irWlUqhuqJBHLsH2tTw9Jo2ZtcVwSJZvbxbz7y+AHwVR6znL1CxFGPEJJBOvc9jKHC vsNdNIy9PJEzda9F5Yw+A2eX4xb3AynsCzGhfSy568cr+98CayEeFqFr4FpIl+PLaXH8 qDiwpNAWZBF1l/5dCXEAj4NBPPLowp2ro5uZDnadsfp2qgRD9Xx1UlHz6FEDSpk5HvBw QQjO9eEO6SxY8HN5/881P5iPiHQ8qWviXtX97VDo6BVLK60XOKLm3KWDfXEHkh8LzEk4 o00W0RCyDs65mJzj6omXQ8RuB1A5mSJZo0dulFLGvr3aoMi9t6Szx6mfEkvj1r6x+C5n MO6A== X-Gm-Message-State: AFuF++k9SzUVSyDyAlK7i4NFZ4DSmin3EUIY3hKnnX8Oqr1wG0ihFqmg /gP40o8UwljUK+CmjK2Clf38HM5wKnGWl7Wt/qIvGGheVF489b3K0rt5v8NuDd/2I3M= X-Gm-Gg: AYBFou0QAGSajmVRF7bOUYb+dFNeDrsf6nmwhjzk+bsZ++reoiOTlysskt3uVdESrhW scKGu8kcbOqMBdnPUz1H0FZKgPYZ08glDlDcXRFrkUrmijpmBsAfMovnE9eWLfxkkxMVeizv+Qa hCS1HlwMUG7VAzzi96bAu/zgtnbyPgeSslDcdsWDq+q8RpppqG5+kPcTW86InzqgeHI/88ZgIZG B0/rKfShFo3P5ErQtW853dVJ45GUTk6/xXXvLNblg2LwgLH4mWG00iHZax1EiDjKf/SxHqRDRGm SQun0bfqP9RO8szVHvEqcLfXPHkNMjPOv/vRitNRpoVXEGqeMSDUHmJ41vmUv3DUjxunHdFkyg6 21I37hmhfAX/nkhyw7jRz/DM0XWEzRhjLapzuIiksblDM3Hf7iDJJkYaptFGdW/LnkuFUQ8h/o8 fW8G7pydSXV+HZnbhsFLxRHTYZRe8VUoBF+Q73LxLVmpIsH7g9lKFZ8NdiliqxU1+rgxO+ETenR A== X-Received: by 2002:a05:600c:870f:b0:49c:fc6c:bdfb with SMTP id 5b1f17b1804b1-49cfc6cbfb2mr28917195e9.18.1788525979749; Fri, 04 Sep 2026 05:46:19 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis , Aniket Sahu Subject: [PULL 024/105] tests/tcg/meson.build: move gdb_arch support check Date: Fri, 4 Sep 2026 13:44:38 +0100 Message-ID: <20260904124604.2207440-25-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526206801154100 From: Pierrick Bouvier This allows to report the correct skip reason instead of saying gdb does not support a specific feature for some tests. Tested-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-25-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 7384786f7f8..c227bb52381 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -138,10 +138,6 @@ foreach target, plan: tcg_tests # if set, we'll skip test and print the reason skip_test =3D '' =20 - if 'gdb_test' in setup and gdb_arch not in gdb_arch_supported - continue - endif - if 'plugin_test' in setup and not get_option('plugins') # do not use the skip_test logic, and simply ignore the test continue @@ -284,6 +280,10 @@ foreach target, plan: tcg_tests endif endif =20 + if 'gdb_test' in setup and gdb_arch not in gdb_arch_supported + skip_test =3D 'gdb not available for ' + gdb_arch + endif + if skip_test !=3D '' # still declare test, but skip it and print reason cmd =3D ['sh', '-c', 'echo "' + skip_test + '" && exit 77'] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527141; cv=none; d=zohomail.com; s=zohoarc; b=GeWCuTlnDM3OVe56oYiudPBy+9bFCl2rrjl0aNL8vs3oC8yrSHdSPQh3AYMG2Wf0QYgF3+C+3RfmX/mkRtrmHYx9kRtVRIh8e+Wa+S9tft6EoQE4o9t6i11YANErJjRLVL49gtheHU5Q2FURuxNAe86NYW2cbarQiyMChku6DCI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527141; 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=Vwi/v16VEFtIkIsZdprLMxjoR8j+CnHHyslSLdnntaw=; b=A/OSGhs7mSsfP1dFZfv+o7dApgn+4UYsQPtclX2ZAMu1B4u/FaYmfnUaLi1izeb6gPs3+xywYwH2lRAFt0/w5eeCFKDa4KekZY90TAAAPvkldt1URQKMIHgrWUrnrSy8aXPYPB4fJM6RUQqyiGv3SVHUYFwYHZiZP+0XNEOBThY= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527141311614.2989326767132; Fri, 4 Sep 2026 06:05:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaV-0006kr-Na; Fri, 04 Sep 2026 09:04:11 -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 1x2TaC-0006Wf-3I for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:55 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta0-00039W-3I for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:48 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-48584dc164fso932361f8f.0 for ; Fri, 04 Sep 2026 06:03:37 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883959f0sm6680456f8f.10.2026.09.04.06.03.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C5CA661709; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527016; x=1789131816; 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=Vwi/v16VEFtIkIsZdprLMxjoR8j+CnHHyslSLdnntaw=; b=tLP1Wr8cK3yXc8wi+ZOzcuR8Z+bEdk7nUv0q1QAjr8z9qSXpOaj94Vuah2dMbaX5/w SPLpt+tG0fw5PqiVCYohQJdEt8KoPlkbHN1yMdiODEMu6WuQARXPm7xFtjXySPE0lY8b F/ZG7UuTbsWFMJF2j48ot1sogS0NyetqQeX2Ms9jA0NNG5Bqd2HC8gHsPxq9+ChQLGVR QlvUEdcPRpY5qKsCZGbnzj5T+ZKtnH8ZO0XwalhEwUNkd4i4cTorJOaPMyYMPrd0b7Rp qZzH/HEom6Ro7nh544HUGIPx3dHIqekZdXPl83Iqz1xREdq19V71c2SrNJaS5bqAiki0 SSzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527016; x=1789131816; 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=Vwi/v16VEFtIkIsZdprLMxjoR8j+CnHHyslSLdnntaw=; b=mPQVlbIlC90rg3qtOH67+FzOLC4tWBMXGccPkKm/YRpFg3B42WgrJyAYhNjCBuPGhf sjZCjra8Gp5W/2S012ux+Oj14L/pmvmX7ylOYe78or8Zmn5YpFWfqszq4ZSq9LgF6L7k vJ1yWvRESsONKwjc7T+joAQT4pPpRptbS4BxVEB6aFf41haGIXukeenHDiV44875sy2m J8rs+sId/YfRS9eW3V0PX77ycCOAkwEEOZg6s7zoTMaJjhjectcv9xwfjyrbuY2NLmYU cnNEXnZ/xRjXZAAym/YE/Xt2zQ9Owd7JyoMeTRki4hWXu7kauf5cz9XwUsbGQc9bDzDU KmZg== X-Gm-Message-State: AFuF++nYGqnxE2EnTFuV1oVy5PJ2H6azpYfbB9EFHZzgcQpG/yFSwQc9 aBYa/P3Y1Oc8GOo7UArAao64gxiQuxTmdhqsmD8i2htOvPvHX3CIHipEZTWZEwEXrHs= X-Gm-Gg: AYBFou3Ny42gDMdsKE0wfWnhl3d43bNIpC+5enPP6Ij/E2Qq1AB7jsKKGggx7ud6O4c zyGqWsbTzxlyOpZAmy+IUpodYza4FDAsd7PHxTyeyfq8Yyo/BvUERfbvsfj92ZBpWo6y4kggfZa sNLRzXxSQNZq51S8z2XG7nYc6oQujFWXVxLfudTFswLT7I5n5w16U1yqTeQzwrBEh5RAut0Oiwf 3OPpuCA3OMpR+nhI9v2h+MfDPCLGG55LYTd9Jw263w3A3GlrC35+0V4sPqjpc9PQHXmT3a0DQSP fTH/O5mgPciUmbFUyX1s9pS4jS1BQeH5+Xqu74Vc0DaGBWR9a8yYlmYn77Y9hLEDF2ENOXgbB67 GlWD3wg4dJb/c7sTH4Han31t2GbzWDGPSIfLbq/6hUNv4bQRFDiPm2FNZlMcHhpkiQcYobm8Qg9 r3Qktc6Bm5a0+8sOcAVrbHNm2OQOX7743LO/E4UlIGLgnSJWaQvYgGF0y4UO8M X-Received: by 2002:a05:6000:29d2:b0:484:3311:3703 with SMTP id ffacd0b85a97d-485872e183cmr5227752f8f.26.1788527016411; Fri, 04 Sep 2026 06:03:36 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 025/105] tests/tcg/meson.build: let test infrastructure detect compiler Date: Fri, 4 Sep 2026 13:44:39 +0100 Message-ID: <20260904124604.2207440-26-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527142987158500 From: Pierrick Bouvier Now we moved back flags to tests/tcg/meson.build, we don't need to expose cc anymore in target files. This will allow us to easily introduce cross containers. Also, we can reuse the skip_test logic to gracefully report why tests don't run. Reviewed-by: Manos Pitsidianakis Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-26-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index c227bb52381..9c00d21f059 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -19,7 +19,7 @@ tcg_tests =3D {} # # { # 'name_of_target': { -# 'cc': cross_compiler, +# 'cc': 'cross_compiler', # 'cc_feat_cflags': { # 'name': ['feature cflags'], # ... @@ -96,7 +96,7 @@ foreach target, plan: tcg_tests endif endforeach =20 - cc =3D plan['cc'] + cc =3D find_program(plan['cc'], required : false) folder =3D plan['folder'] gdb_arch =3D plan['gdb_arch'] qemu =3D plan['qemu'] @@ -189,9 +189,13 @@ foreach target, plan: tcg_tests if 'cc_feat' in setup cc_feat =3D setup['cc_feat'] if cc_feat not in cc_has_feat - cmd =3D run_command([cc, cc_check_args, cc_feat_cflags[cc_feat]], - check: false) - avail =3D cmd.returncode() =3D=3D 0 + avail =3D false + if cc.found() + cmd =3D run_command([cc, '-xc', '/dev/null', '-o', '/dev/null'= , '-c', + cc_feat_cflags[cc_feat]], + check: false) + avail =3D cmd.returncode() =3D=3D 0 + endif cc_has_feat +=3D {cc_feat: avail} endif =20 @@ -202,6 +206,11 @@ foreach target, plan: tcg_tests cflags +=3D cc_feat_cflags[cc_feat] endif =20 + if not cc.found() + skip_test =3D 'compiler ' + plan['cc'] + ' not available' + built_tests +=3D {exe_name: exe_name} + endif + # build executable if needed if exe_name not in built_tests exe =3D custom_target(exe_name, --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527143; cv=none; d=zohomail.com; s=zohoarc; b=VaD4VtW01LW1WZVogrK4IrhjzC1EyJgJVTXsR3OZGzzXkS8AyTyxW9JcQnvtrijF8g0xMi1AiMFJYmw4O9danEiW/lHSmtw/6DtR+GKnkGaouWlb1Q8+5cc4DilpYYj5AECvvDlWovLR8Z+9/BZRJqqwajxtv4HHUzpTCEMrCJU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527143; 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=tpGA00LHAx7mqshzCYu/5IuI4ycciE8GHRdYr4paHDg=; b=VIvH8ZvYpnNIgnkOaXoDV3bUsHMgV80QgicywsQbE7Kh5kIyMtPAx5QmnkYp23l926v3iihhYCmJkES2o+v29UGFcj2fvqKDn07o9wjarm9Qn0N7kVVMquCgS0n3aaPOOYeeIZtpt3PnniJZyEI++UywHYt4BZygoMjqy1MNLhI= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527143464548.918486594311; Fri, 4 Sep 2026 06:05:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tat-0007qB-UO; Fri, 04 Sep 2026 09:04:36 -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 1x2TaD-0006Ww-Ph for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:55 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta1-0003AR-Ax for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:49 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4995b0343c1so12967905e9.3 for ; Fri, 04 Sep 2026 06:03:39 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7703cefsm94700535e9.5.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id DBDD86170E; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527019; x=1789131819; 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=tpGA00LHAx7mqshzCYu/5IuI4ycciE8GHRdYr4paHDg=; b=sPS4v43IkTaiXIe/+1+9yIa9YN2JVd1zsVe9peJMN1W+FqbQmmm2uODMW59EdcDp35 RKLc17zI+8bKCqFM4950h0XdEIYFwqJ4OEtdO8NTDqHfAOr3ESaUDEpODJrx90gekFcn b8PgieknOAC71sm+F8AaPH2q8rRM93ctk6hcHZdHmij7tVxUgV26GCHxbj80CgN7riIk ytWRvtMqYvAStU4oyF4OukPX4dlnxrQJP+VTZcST6bIRtF1RIQAPlqMNa/a5jbetvobV KFprNEvGlJ6j2sOrxQX2A8mOTgZA40MYkDN1BOQbpAqT3IdvcqQxhHReRa8+ANyT+KVc 76XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527019; x=1789131819; 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=tpGA00LHAx7mqshzCYu/5IuI4ycciE8GHRdYr4paHDg=; b=SVOIFDeOGKE+oFY6r2NO0yp6ZhPAGGjhCHAQQ5wkwPHFm8bADL+4ocNWdAHyLIExEj G8dEgt++QwpNkTzU3/RPUghJiPbHnoKv3IQC/znkPeRqQCggvBSFn07OOgTrjEgzICwB hQJx1skCYfIEB+po/i84UBJMDakOuknXjdj1UCZkFABbenimPekT/aM7rCA6LgbDqhF3 8cb7GEXhsHbaxPAvUKu+T1AWUVOSp6SPFOX5SHY08/6qoatTQhTz+SuZkPKBiJFr8rTx 5FCEbzcp87uEUrLqroIvzvo+BFQLQtH1irU7JoZ114Xh9G8rPlyUxkSFTzQhgfWaBO3t lqog== X-Gm-Message-State: AFuF++nsy58a/knbsKN7QxJd9WM6CTXf7GmZCdXzRk5IPZsMkC2f+HOq JKHvvRk1TBjy9xKjjz6IA08yrlulBUml3FuvxXQS892zz+Hme2jXIT/TlvU5Vn0HCR8= X-Gm-Gg: AYBFou0nRYo2hqAYekwSYHphJU6QvtQMXD3+kF7ZhM9KY5S0i8/9CNXYA8paPX6yTX2 JJ1h55a/WAfOuLtRQqh59iGYxsjol900x/EhuBhkiaiZqOoveO7ryIuRcFT9diXS3SKkjGRtoJJ PBUmXdkDgwyfD7mMBwZ+g8SlGQ8KYkGWY8DojV88dsk2AqhhojWj24JePrDy72LG5ojd3RNLp/M NZ/OSATdkImjrk8fRYuhKkBeoCOTlnK8kCvW7pAvezLmudZ/GfRBDQ3LZRY53YICfe46jrf5Gqe 0+Jr4vyU/Fw6uA2nEtqtkTxQBnL5DV4InRGSzCK8uJDvuib+U/9RzDA/bv327GwDi6dHgDjdjKf /n5HpO/+Jov1uoSAos0C9TvTY3AVdWaGBo43Ds4+xFS35BLeP03CibzCHHnawNquLDuw3T6gBG+ 4R3cXDQF16cRt+ErVL8SBryt9IJjwcQiLXmIcD0MIqtzxk9Ril9EjtlJ0egNlF X-Received: by 2002:a05:600c:3511:b0:49c:fa21:1c86 with SMTP id 5b1f17b1804b1-49cfa211cd7mr41666185e9.27.1788527017598; Fri, 04 Sep 2026 06:03:37 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 026/105] tests/docker/docker.py: return error code if probe fails Date: Fri, 4 Sep 2026 13:44:40 +0100 Message-ID: <20260904124604.2207440-27-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527144931158500 From: Pierrick Bouvier We are not necessarily interested to know which engine is available. However, parsing "no" as an answer is not intuitive, compared to read an exit code. Thus, exit with 1 if no engine is available. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-27-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/docker/docker.py b/tests/docker/docker.py index d2f39b5645b..fea6d0f85af 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -604,6 +604,7 @@ def run(self, args, argv): print(" ".join(docker._command)) except Exception: print("no") + return 1 =20 return =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527093; cv=none; d=zohomail.com; s=zohoarc; b=gTqeExvhyNSuQubw1U9Krev3EMpmz8NXGBSRPKnxT6PCHRsZHPajzZ+/e2ll0B0jHKTuO4Lo6frH6PEWo3X3QhGOC8FViSuHhXx12cjtPOVhOmmWotrs7MzP2a+vTg3AYgX20PMXZRZD8HJ5xW0zpfrVLgeAVGzR/MWNkPypwnU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527093; 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=nPLDzXuzbV1BfCbu4m3c13rmpJahvjVQlKqUbqJSOWY=; b=Tdvd6apPn9YJ/uIsUXUpGkFNQJQSy1o2fwN/qZ633ra6IHDOi+cmffj7Kq4uwHBDRHT4YXjgCXo5/onMG+1/55PCCAqSjENV9qGTMEXwEz6Z+/0JZTCGX2Eu/h3vp8uBdGkbtnx5TLFF14ABuAYR0X+PYzQVd6JMDl/7CYah/ZI= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527093586259.6228898297828; Fri, 4 Sep 2026 06:04:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaF-0006VM-Gp; Fri, 04 Sep 2026 09:03:55 -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 1x2TZo-0006KH-4r for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:28 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZm-00033O-8Z for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:27 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-4843e9c5960so995037f8f.0 for ; Fri, 04 Sep 2026 06:03:25 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm2533792f8f.3.2026.09.04.06.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id F1D7261710; Fri, 04 Sep 2026 13:46:06 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527004; x=1789131804; 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=nPLDzXuzbV1BfCbu4m3c13rmpJahvjVQlKqUbqJSOWY=; b=rl7nl11oYwrpNyuXsmwb590BZRb47gVNbdYUHJQcLEx7eSb/u/ATOcns2oqWV08gDU z+BJBk7iYjOOLolVKQ0B4aF6AFl+HOKUZvpsdr3Qu0I4SGbkZ56BoL0PuCIzzXNXB/HY o6/u0TSYLgTF8m4E5g0NUUNeOjZ8qS7qKemarT+7wQ7WDdSGXiN/tmYa0JOqgvLiDMmK b0+QGeiwEpPUYMFZe1qJfpDEx5/jey6EN632dSm5SuSMXT1uAQimYUm2qJiG+v0+VndG hyp38qbQAvBAfYBLmfYvMJXUsKY9ZiLPJ8cgMPzQNVLvculpW5T4kWKHoE8ELyB6VlNL Ajtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527004; x=1789131804; 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=nPLDzXuzbV1BfCbu4m3c13rmpJahvjVQlKqUbqJSOWY=; b=onmiNPosjXUPXahzZfsyfMmdo9rAJg/xrcYSLCKBpR5G6RziHaCFo2FUi0yD4rb3Nc MSbXZlNXqeUhX/1cS5BTp+XhHm7yvETsgTyqlyHF2EtoiVzQ+FSNuatAsOu7i+VZKeQu wCj+ibfQ1dJO39k8T8txyHUjAEeoIPVLggI//QvD4iiWV/zC9/AeMCF06HsChl0mGBUB kSAFjq50eOkZpYCSB8dDPhThz9OZgvOehCQwCKVPo/LWgKgusNjlZNgilxVLN/sbJ1hR BCNzuqfAPX2IYR88K9VmXb+KmicQvBmOtFnHsVeGLU04q/HL4U7r3/KgF8JelaptsXBY f+KA== X-Gm-Message-State: AFuF++m3BrqHqSNrAErtCSWW+YMmEU27wHvWXt1maXbn5Ywfk4grYMaJ gtgTm9mHxmHLOgX2i0J69J5nsOV2Krzp2DsB9Hh8y96rxi6aG36Xr8OEj89ohO2EONI= X-Gm-Gg: AYBFou0TtIbJ8+z2ugZ9EJWLaOwdMx/ju1wWHbPgMFWGt9xeJVju5bJNKMJzUP2lhok mvK/pHAtevHeImGLDq0MzWcYQwnmgXEvHYEMxm0WoPhmvgQBq/mKGhYjJt42GG98s6J/C6XnNfZ nkUCqSxFG5RNMk3hYexGSc8ZCBPsIb1kQmIUiWq/Dx1c/0i47u7wYCYmmo7jSA6rtkXQmVepdet 2iB5A1Bv+vJKel0aPt4sMQrpjbC3AJJvJVyyPWpdz6Nb38HnbyMjrJUNdPnwWuXd7LNonZ5qOwU 5cs3Gt9zvsD6Xpx4ubQTzwbgnUyzIJfKUfIXU9RaxoY/nxm7YeOvMEUOjp1DRtZSl4cNvlgMoFs Rl24UsRwOsbpVeytRNrbD9tamNcUKLjP2cOuxB3zHdRIb7IjZcLx99f9bZjaHswKashKTC0Y8h+ ENVmr/KruOoyz2DAhgQZNIq9L+qS0BWutKmrwZkpiTmXWfFBDKEbn2ylJoz3XRubl/4FSs+xA= X-Received: by 2002:a05:6000:4304:b0:484:3313:fd86 with SMTP id ffacd0b85a97d-485872d6572mr8539126f8f.27.1788527003826; Fri, 04 Sep 2026 06:03:23 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 027/105] tests/docker/docker.py: remove "Image is up to date" info Date: Fri, 4 Sep 2026 13:44:41 +0100 Message-ID: <20260904124604.2207440-28-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42d; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527094716158500 From: Pierrick Bouvier It's useful to print build output by default, but not useful to mention it succeeded. Reduce verbosity of tcg tests build. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-28-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/docker/docker.py b/tests/docker/docker.py index fea6d0f85af..315fa2ff848 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -429,8 +429,7 @@ def run(self, args, argv): dkr =3D Docker(args.command) if "--no-cache" not in argv and \ dkr.image_matches_dockerfile(tag, dockerfile): - if not args.quiet: - print("Image is up to date.") + pass else: # Create a docker context directory for the build docker_dir =3D tempfile.mkdtemp(prefix=3D"docker_build") --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527200; cv=none; d=zohomail.com; s=zohoarc; b=YX1QCuvDUoSukk8CiWoBEaRzyWc81W129J1+rNelE2PHE5dZ6idrx7Gvle7GMTRcB18jTnzba5ttbfMUJdADUOZGUs1XIbNYmV0JCjtNBJpAPB/ET76CBLDTnjvUuz8a40X6RpSYFWRmuLIeL3s2H8OkqBrKf9qy8mNKpsSvqjo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527200; 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=AQnB4DBnp/ONezfowOeBcimDo+tQTeuzUbKX5jP4jWY=; b=NOkpOLZ73tQB6tuO0tbuWk96wiVwbinPoozdC3ASpkGu6VjsHXFuGA7vRgKKnWzrqMzm2OfckPqVFqUJUZb2n6UxRbla91D+91HL39Bv+8EjA5X8s4JP0/S1nt6EZEVCy0vYcoji9K2kLDFtfSXskGWr/niZu+qppWzZ5Ky1eVI= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527200982821.3005912153066; Fri, 4 Sep 2026 06:06:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaW-0006lJ-2u; Fri, 04 Sep 2026 09:04:12 -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 1x2TZs-0006Oq-GJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:35 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZq-00035F-Hi for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:32 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-49a97714f5dso8202165e9.0 for ; Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7740d44sm147380195e9.15.2026.09.04.06.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 15D2D5F9DA; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527009; x=1789131809; 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=AQnB4DBnp/ONezfowOeBcimDo+tQTeuzUbKX5jP4jWY=; b=YXr2/1tf6spHLOFWuKymmE3MtDs9IaS92jzNueaVCQaadgjoqbBUFlHBzhr7GfmRgF 1zRgnKASut+dWArqIDm53mWJgG8oEvUjaL6qr6lTRNhl+2wZWt89ucx3GQJ9cJ9X/Amy m9c1vnzNHpGfiqqT3WKRsMzicxfaS6QwYJLRbkWE3vdxLjVEl0fTOAbvzrLWZqChWF6G z3kXYC2yID0F8X8u7taPx3S1JZu1EBClFHAjxFy3vIpUCsXTuz0G9anUPDf4GDvl8YTZ uOc7cXcvxQ38psStZQTV2KHfXBFG31C39I+Ndp5zTrRBsojtptIVoZ4ucBsEajAAsgsB 5rfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527009; x=1789131809; 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=AQnB4DBnp/ONezfowOeBcimDo+tQTeuzUbKX5jP4jWY=; b=P0QcqG4yECXWdIWhrj0nJdfx3HuS7HF6FhHWVCeUvRTyliTHuPcBIWQJ1wo12Y5j0Y s7tTxZIurPuezV3lwi+Jm68O8ZA6YhOfTDRnFllfNnPA5vayG1oiZAPAE60P9/yqp0nx h0kfdwmn5MBT5wzEayzrlg6qqWxiWpA6YQINZxzVlMH8vQvdBlIK78ldCf+fnEqV27I2 De7Q5ZzaMDGGI1pizgbamEaq0qKxOZp3YWjrtAH7tCQ59pU3VLyApeBWADjWU3qqf7/1 rjAMfEobDbA5dTWygVofjYIGqjHLxyduK/7O+KMSjDGIFqE42DvSVbQ3Q9FFBPce2j3W AbRA== X-Gm-Message-State: AFuF++ngJXEe4BRe5dA1yPvqpkiTO+1+s6RU3hkziwI1WIdLffhmwjlY ghZET6WBJh+AX30nmAkYVq5byxZLKntAmWOuTW8uuL7IN8XnuYPALjSIKH5twkwQ6E8= X-Gm-Gg: AYBFou0JsjXJBI/icKzb6jKiOiK1/lI+oWPJL5EJy3S9pUC+9sYkcfucU03p2M695gl eeebeOQzmzTPsSBPckapT9nLUAk9jopj1aJfSJaGoC6GJiaH75VfQPVxmi+EBXE6P4zEUd/5MiM uDMl0biISmU0GKgyg5lpuDiFrdrc5su5SXboCAVO1HqQXknkfBgIllzKJ6diwacoGZni/8gWfUN v0FCd3VUHDNATmSXDz/ZgOVbGBezJIFICCQfXwNMHXd3Hf6tt8XEWGPQt8OoQC8d5UM5uJavxnD iGzSjDkYw3lypSZCAtSkh4Gc8RI8hMgnMTfFA4ai2u523puX4owk+Yl2g2uuTc3uFL9kJAOZ+2o h+DhchjGlZQzq+Xo7cpBoHp288SsLhyrBZprQe5bU502kR8jWPGL9x8hgO7cDptAqNYAoFoywao t68I7vQ9MpFoQgbIrXtkVeZdJdzL/4X7okLMtTqvPjqUwznUHsJWUZrIT3lRq/ X-Received: by 2002:a05:600c:348a:b0:49c:fa20:cc03 with SMTP id 5b1f17b1804b1-49cfa20ccedmr35285085e9.26.1788527008780; Fri, 04 Sep 2026 06:03:28 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 028/105] tests/tcg/meson.build: introduce cc_dockerfile and cc_docker_host_arch Date: Fri, 4 Sep 2026 13:44:42 +0100 Message-ID: <20260904124604.2207440-29-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527201425158500 From: Pierrick Bouvier We allow target to declare a dockerfile containing required cc. We reuse tests/docker/docker.py, and correctly set dependencies for tests on original dockerfile. We specify list of hosts for which image can be built and contains required cc, using cc_docker_host_arch. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-29-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 9c00d21f059..ab7090a62fe 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -1,5 +1,6 @@ env =3D find_program('env') =20 +docker_wrapper =3D find_program('../docker/docker.py') gdb_progs =3D ['gdb-multiarch', 'gdb'] if config_host.has_key('GDB') gdb_progs =3D [config_host['GDB'], gdb_progs] @@ -20,6 +21,8 @@ tcg_tests =3D {} # { # 'name_of_target': { # 'cc': 'cross_compiler', +# 'cc_dockerfile': 'name_of_dockerfile', +# 'cc_docker_host_arch': ['host_arch_supported (meson cpu)', ...], # 'cc_feat_cflags': { # 'name': ['feature cflags'], # ... @@ -74,10 +77,17 @@ if gdb.found() endforeach endif =20 +docker_probe =3D run_command(docker_wrapper, 'probe', check: false) +docker_supported =3D docker_probe.returncode() =3D=3D 0 +if docker_supported + docker_wrapper =3D [docker_wrapper, '--command', docker_probe.stdout().s= trip()] +endif + # plugins come first, as we need to build the list test_plugins =3D {} subdir('plugins') =20 +image_targets =3D {} # Finally, we can create all test executables and test targets foreach target, plan: tcg_tests # Detect duplicated executables/tests, and report an error to force user= to @@ -88,8 +98,8 @@ foreach target, plan: tcg_tests =20 # return a clear error if user misspell a target entry foreach key, _ : plan - allowed =3D ['cc', 'cc_feat_cflags', 'folder', 'gdb_arch', 'gdb_feat_v= ersion', - 'qemu', 'tests'] + allowed =3D ['cc', 'cc_dockerfile', 'cc_docker_host_arch', 'cc_feat_cf= lags', + 'folder', 'gdb_arch', 'gdb_feat_version', 'qemu', 'tests'] if key not in allowed error('unknown tcg test plan entry \'' + key + '\' for target ' + ta= rget + ' (possible: [' + ', '.join(allowed) + '])') @@ -97,6 +107,46 @@ foreach target, plan: tcg_tests endforeach =20 cc =3D find_program(plan['cc'], required : false) + cc_from_system =3D cc.found() + has_cc =3D cc.found() + build_test_depends =3D [] + build_test_depend_files =3D [] + + if 'cc_dockerfile' in plan + cc_dockerfile =3D plan['cc_dockerfile'] + cc_docker_host_arch =3D plan['cc_docker_host_arch'] + allowed =3D ['aarch64', 'x86_64'] + foreach arch: cc_docker_host_arch + if arch not in allowed + error('incorrect docker arch ' + arch + ' for target ' + + target + ' (possible: [' + ', '.join(allowed) + '])') + endif + endforeach + docker_host_arch_supported =3D host_machine.cpu_family() in cc_docker_= host_arch + dockerfile =3D files('..'/'docker'/'dockerfiles'/cc_dockerfile + '.doc= ker') + image_name =3D 'image-' + cc_dockerfile + has_docker =3D docker_host_arch_supported and docker_supported + if cc_dockerfile not in image_targets and has_docker + cmd =3D [docker_wrapper, 'build', '-f', dockerfile, '-t', cc_dockerf= ile] + t =3D custom_target(image_name, command: cmd, + build_by_default: false, + output: 'no_output_' + image_name) + image_targets +=3D {cc_dockerfile: t} + endif + + if not has_cc and has_docker + build_test_depends =3D image_targets[cc_dockerfile] + build_test_depend_files =3D dockerfile + mount =3D meson.project_source_root() + mount =3D mount + ':' + mount + here =3D meson.project_build_root() + cc =3D [docker_wrapper, 'run', '--run-as-current-user', + '-w', here, '-v', mount, + cc_dockerfile, plan['cc']] + has_cc =3D true + endif + endif + folder =3D plan['folder'] gdb_arch =3D plan['gdb_arch'] qemu =3D plan['qemu'] @@ -190,11 +240,15 @@ foreach target, plan: tcg_tests cc_feat =3D setup['cc_feat'] if cc_feat not in cc_has_feat avail =3D false - if cc.found() + if cc_from_system + # check flag for host cc cmd =3D run_command([cc, '-xc', '/dev/null', '-o', '/dev/null'= , '-c', cc_feat_cflags[cc_feat]], check: false) avail =3D cmd.returncode() =3D=3D 0 + elif has_cc + # docker cc always have feature + avail =3D true endif cc_has_feat +=3D {cc_feat: avail} endif @@ -206,7 +260,7 @@ foreach target, plan: tcg_tests cflags +=3D cc_feat_cflags[cc_feat] endif =20 - if not cc.found() + if not has_cc skip_test =3D 'compiler ' + plan['cc'] + ' not available' built_tests +=3D {exe_name: exe_name} endif @@ -223,6 +277,8 @@ foreach target, plan: tcg_tests cflags], depfile: exe_name + '.d', output: exe_name + '.test', + depends: build_test_depends, + depend_files: build_test_depend_files, build_by_default: false) built_tests +=3D {exe_name: exe} endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526456; cv=none; d=zohomail.com; s=zohoarc; b=ONRlqg95Vkd/C2UnzDTGlrxyPqkNG+q04a1stLBMkAE3xmBlbAQVLd02BawUMX/SMo+vY3uUCJzRw9jHE+shiD32IQVdTb40Co4Oy9fzm797KfFKj6TTr1vo7Krd/ZduTQXvM1o18MDLbKlomm7XPBrBQGY2NC2HDL47reM3AAE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526456; 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=ilsum7WCP4JfV9DfKFlmxOu6x9pWUdaPIfh49tOZlDE=; b=UQuO91SqJfqlrT8gCMmJlbeuWV/XyORU3HNB0Yg95RJOek67bj6OFlM2Tz2c23SAoyIkBplmqUm1X9hKj5G8cJ3w70RFFMXNUFVdh6/eQZYPMVzJwoPjyB5/lAg36GIbzvJjGNZW6XajlotlpTO99ugpMv08OshK8DpfEGvKNcE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526456073370.7458462657255; Fri, 4 Sep 2026 05:54:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQC-0001aS-Ly; Fri, 04 Sep 2026 08:53:32 -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 1x2TQB-0001ZW-7a for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:31 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ9-0000ew-Gb for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:30 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-49b965570d7so10933195e9.0 for ; Fri, 04 Sep 2026 05:53:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf75ce49esm118469985e9.1.2026.09.04.05.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 2C02261785; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526408; x=1789131208; 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=ilsum7WCP4JfV9DfKFlmxOu6x9pWUdaPIfh49tOZlDE=; b=D/ZMeS8E0rZgNMPpXBlGQJRpS4HbyP0wEyCcSSjxqjv/cjcRZzw5UE0wZkaRn7kzOw qfWnU4jFUqy2RXg5DBZL+naG2pqskHhwuarmrO9cU/1dcJIcklp0EJlB8kB7z1iI4EhX aiV0YAD6ok95o16gKtA+pj6gdex7s6IwDF3Uajsl38GaI0+fLU+4A3L4eIEUnWpYUWDN FFdJ5Uh1HSTItQqVv2nByyQJafAT6L72aOhETBMINWQjhJfvKcJp7fCKf8Z9MKNQ5IHt dc1C516ylaznLG4ic3YKslYDYA1hLH5mxJ61+gMXUXI5t/EoHWbQTooh87xtgLMSwxEM BJ2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526408; x=1789131208; 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=ilsum7WCP4JfV9DfKFlmxOu6x9pWUdaPIfh49tOZlDE=; b=d6a1bucmeWjsEZY/KfcyurMCS78pVCkIBj7+aHydB1e+CA4f510ogmHPNBDVyRfBgT J1iKYTGOm7lNG0i3I0/OTApakOx+xj4eUtZE9/BEu9sHhUHJpCUfInxS4xDMtUC4zTfd k9BTZpx5/iqwhdlwtHHDnvzY8OrSQ2v9E3U5eNn9vi+ANXvXX8KXONskjgXTP58q7r5r kaPvdLrsgXWPV+pSHorhPx3DowGi3RErBpINY0fOHCA1ILupovaMHXSR3royJMzrlQ3N sXSTEuTMxxTZEh2KnsvkEZYwPEx3bXGjWtwm+7qAASbwOotIJ2Br/J20j1EoCfwVORgF ii9g== X-Gm-Message-State: AFuF++mCqdrFdgL+RWYf7IFToP36FhkL8ohpbwvvqrM+5F2A4Uzbl2fm SSxKY3tx2UJkPjPTB/P28fHZ9VozlbfWqmhnTyihPL9D9u40gF5guNfyjy3QIfkgbK0= X-Gm-Gg: AYBFou2GwvLGs/cVqXs8VtztaTSOwn5xiJCFHJQsDG4wBlVSGUoaG7uXymBPl7+pn5S 2j3xzNCBlWxQySp5LdoNRREYKaSZwsxPvxb/KEIKvoiyG7B7N3jXPktlcHTRShAPb/UzRqvKQKP AgorqMDv/BuTRrdLiV7F8GwewQUouSyu/4BiRQHrGQolxLLM44N9IqUFsdLVZpFbheILnjaqIf4 diQISwYDgfOw6g/5Ks7vdF2EkPObiers1GkMCjJnjdvthMCqcAFZWrYyAt55af9rlEXb9JpJcZC /kxyDFcAd7DpyrbGPZGiX2xeKDddwkaH49qUrLhrcOVcmpjQRCkXkgJAqTpkWroHzkHt7b/BGg/ HSTfnXcIEKnRlN3vH/mtr2dK5TjABxbaNqMpucq107RYObrRjWCU1go/kcHkKIWjT46SHTrANbS /hW6cE3jlNvXrbkLYNAn0i7/mSzFFXs+aQGiUl4Tu/zyF1TGS49apW9rcfeOx6 X-Received: by 2002:a05:600c:4f48:b0:49c:fc6e:8cb7 with SMTP id 5b1f17b1804b1-49cfc6e90a2mr31553165e9.27.1788526407749; Fri, 04 Sep 2026 05:53:27 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 029/105] tests/tcg/meson.build: check host cross cc is working Date: Fri, 4 Sep 2026 13:44:43 +0100 Message-ID: <20260904124604.2207440-30-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526457542158501 From: Pierrick Bouvier On Fedora, cross compilers are provided without runtime or header files. Thus, even if program is present, it can't be used to compile files directly. Check this, and fallback on docker if not working. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-30-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/test_cc.c b/tests/tcg/test_cc.c new file mode 100644 index 00000000000..d3614a01fe6 --- /dev/null +++ b/tests/tcg/test_cc.c @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* Include a standard header to make sure cross compiler provides them */ +#include + +int main(void) +{ + return 0; +} diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index ab7090a62fe..9809695f3b8 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -109,6 +109,18 @@ foreach target, plan: tcg_tests cc =3D find_program(plan['cc'], required : false) cc_from_system =3D cc.found() has_cc =3D cc.found() + if has_cc + check_flags =3D ['-static'] + if target.endswith('softmmu') + check_flags =3D ['-nostdlib', '-ffreestanding', '-r'] + endif + + cmd =3D run_command([cc, files('test_cc.c'), check_flags, '-o', '/dev/= null'], + check: false) + has_cc =3D cmd.returncode() =3D=3D 0 + cc_from_system =3D has_cc + endif + build_test_depends =3D [] build_test_depend_files =3D [] =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527077; cv=none; d=zohomail.com; s=zohoarc; b=TCCOcHEzD5VnIBFVjl4vTJayQVCKZY9QcaejoAlQiZjhU3umT+XNO/BVjy0nFJVDvlYRGQvBMX/jefnTBhrpNDs+vEtgY/WvB0ULcX9JkRdGJODM+0J7ylneGbv2OV2+34bsnG0DLkGTxQzlJ52D1qyiOiRJdvKIQB49J+DEOck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527077; 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=9PxRCYURZy0LWM9BH465zAgHtFdd5RKFlLw8XfvPHuY=; b=kWmxiosF5wu+97yAf/3jiJ+oAgUDmT0t/qwErXCOjdJnicL02VdO/CGF/XaCN65UGQglKePkquY78l2rUVF5ViKESgsV0Vcg5Jysd88LcCZgTu6GdnJOYdzb+48rrJSI1BNhpdRrwfnBMO2pJotVi7MZcS3ODKVPZdkghunDceE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527077721826.0316382677368; Fri, 4 Sep 2026 06:04:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaZ-0006pS-H9; Fri, 04 Sep 2026 09:04:17 -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 1x2Ta2-0006Q4-MM for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZw-00038h-8d for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:41 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so10310145e9.1 for ; Fri, 04 Sep 2026 06:03:35 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7703cefsm94697095e9.5.2026.09.04.06.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 41EFC617E1; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527015; x=1789131815; 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=9PxRCYURZy0LWM9BH465zAgHtFdd5RKFlLw8XfvPHuY=; b=ub2Y7+Jh0POSqfjhN4VGU0ZzmrQrDUz8G1PXVrxRU97Ru7z0d9NRUnlNlSy7ZZ3L9v gL40pUazhoSLfHkolez9AvcJWg1Uesb6n3gO6u4OReyUFPg/ehQTQ1taf76vC4jDxCal 7KfsLlVTH6+CRRcHfOPiB1D6VFWbqUviwq/INl/1BZONOFt82tRLefb31TEDSkKJVY0g 3lA1bsn3COzVjn8SQBqHExSxveCzKz+D0cC5L0Vt6rorsC9fsuKLgfmWNUlVV9sSbVjG cIiqjbk4/xMrz2ig7flR/GPKQWx0+KluXvRjAwkbDTwRpk86KuiMa1McwydUdTf2t5Ss ui6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527015; x=1789131815; 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=9PxRCYURZy0LWM9BH465zAgHtFdd5RKFlLw8XfvPHuY=; b=NMsD7TFZ2auNvHYQbS65e8e51Gf6R0djHv+sXWUsS4PbmRhNrkZcZzKVY4k7ykoUHH iPjJFrrfRqbGcP4Nb7x31IzbHkUI84fgzUTXEKHTV6F22wEBWH4S5czoQGYUwbTmcjEh VUN5nXzh30ldOzr6XLOHngy+oveSV80o3ShwU0445x3aquy5pjNNtiD+TzvDrflGxswH MkJyjSIC8yPCCrCV+Aos8102II2flVZLb6It/z8Q2WVkryIaDAlSAWXM+vRh7W42NH5/ 0zgBvyKSnIPcObLdlFaQ/A4r0YKNiMGj1ltSpaaD4h2ASu5YDxXT3KP1hpffdQQIASZs NWow== X-Gm-Message-State: AFuF++kxp9H41RinfBZgNK2JNHDRuD/kePIqe+aaDMXOhV2h0yEEROk2 +Lrk0P6PqNECXhRwIlwGq+iKgQgufLbnDBt1Ys33EBQBppy064C8UHmE43HNZbiNP9o= X-Gm-Gg: AYBFou15jxYrNHy4jZ+cBj3mwD3SjYSiDd57fpl76s8N+iQYbsSWrRt//M8Cmj42W/7 ZvUTXOMKeGDA2WYsp+DSjKiamnqxV5Xr6rCiyz8upuW1QodShTmiB/8m90JpoN/voWQgowksve9 62oNgf4do92VXBHogDE4h6CjjycdholcRYoBUViDJMMyULLlWOK2jng+rYWVXO2FQ8un7nRkztT qeAXAJp0o0qHgQYfZYPBdK1LsR4irQ3kQsPDqf+dgN5AbRTPcTuYCWIsjCYuNlgsqkrsgK0TV7n LLNTt1YJfI3w4L7LyChwGW7gDgjIz2E4tGNDG/9N+7Q7SM+BHcUHJxUHmr3RhBVdmN46+cq0cKO JZfbVB106sI6/tBHaNEZCcHyacOVn81dzdEGo+zcki+xgsrNyeANolvFCFG8mItesYeRQHc7SQP g1NBYFUsdc+MuWjgXZvISkIda/HOxUzL68Cjn7L7n/TLQesmWB2ubX2UI2h/+D36BHhrX7g3E= X-Received: by 2002:a05:600c:8b76:b0:49c:f4e1:3135 with SMTP id 5b1f17b1804b1-49cf8259953mr64156725e9.14.1788527014735; Fri, 04 Sep 2026 06:03:34 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 030/105] tests/tcg/meson.build: introduce depends Date: Fri, 4 Sep 2026 13:44:44 +0100 Message-ID: <20260904124604.2207440-31-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527078937158500 From: Pierrick Bouvier This can be used to declare dependencies for a given test executable. Useful when generating headers (like x86_64 does). Reviewed-by: Manos Pitsidianakis Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-31-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 9809695f3b8..ea17a947628 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -40,6 +40,7 @@ tcg_tests =3D {} # 'exe_name': ['provide an alternative binary name'], # 'test_name': ['provide an alternative test name'], # 'cflags': ['additional cflags to compile test', ...], +# 'depends': [meson_dependency, ...], # 'cc_feat': 'feature name, must be present in cc_feat_cflags', # 'qemu_args': ['qemu command line flags', ...], # 'expected_output': 'file_to_compare_output', @@ -178,7 +179,7 @@ foreach target, plan: tcg_tests # return a clear error if user misspell a setup entry foreach key, _ : setup allowed =3D ['exe_name', 'env_var', 'expected_output', 'cc_feat', = 'cflags', - 'gdb_feat', 'gdb_test', 'plugin_test', 'qemu_args', + 'depends', 'gdb_feat', 'gdb_test', 'plugin_test', 'qemu= _args', 'test_name', 'wrapper'] if key not in allowed error('unknown tcg setup entry \'' + key + '\' for test ' + src + @@ -277,6 +278,11 @@ foreach target, plan: tcg_tests built_tests +=3D {exe_name: exe_name} endif =20 + exe_depends =3D build_test_depends + if 'depends' in setup + exe_depends +=3D setup['depends'] + endif + # build executable if needed if exe_name not in built_tests exe =3D custom_target(exe_name, @@ -289,13 +295,13 @@ foreach target, plan: tcg_tests cflags], depfile: exe_name + '.d', output: exe_name + '.test', - depends: build_test_depends, + depends: exe_depends, depend_files: build_test_depend_files, build_by_default: false) built_tests +=3D {exe_name: exe} endif =20 - depends =3D [] + test_depends =3D [] qemu_args =3D [] if 'qemu_args' in setup qemu_args =3D setup['qemu_args'] @@ -312,7 +318,7 @@ foreach target, plan: tcg_tests plugin_args =3D ','.join(plugin_args) =20 # since we turn plugin into a string, add dependency explicitly - depends +=3D plugin + test_depends +=3D plugin qemu_args =3D ['-plugin', plugin.full_path() + plugin_args, qemu_a= rgs] endif =20 @@ -367,7 +373,7 @@ foreach target, plan: tcg_tests endif =20 test(test_name, env, args: cmd, - depends: depends, + depends: test_depends, timeout: 120, suite: ['tcg', 'tcg-' + target]) added_tests +=3D {test_name: true} --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526083; cv=none; d=zohomail.com; s=zohoarc; b=HEOsuhf4l/yeqPVahoGdoh6Hb3xDlP6fcHMfmhnfWihz/PDPcRF8/jb/9yJsKcY2fpX5jEjMBqhOpvvaYPZkwgM4JLR1hoPdH9CV4rVfaRDBSg7eihY1zTWCNNNj8EPEDN3WcN7o3YiQM8iNoXLdbUnmDahi5Q2IBVOEAgDaLXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526083; 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=13LMg+NSAtB4VizZeFc2Tjt1gwiB0gQPaZo/TMmIkg8=; b=LCbMSmtCA1W+bhJmwjbZQOIYukOxfSTIXVEIDhL5nV1sa9Pfoh2s13D1ts+pILwNF6SgBPPie2l9ler2fBhnCot5KP0NJaj6vvS6RPu0AaJpcqAAnkIBfWcuDzK3uUMVejcFD5SacI2yTvDCpeZRaGlQ2R7WvB9u4OeD2PZwjoc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526082133651.8262482841171; Fri, 4 Sep 2026 05:48:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJL-0006B7-5C; Fri, 04 Sep 2026 08:46:28 -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 1x2TJH-00069H-Sn for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJE-0006r0-U2 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-49ccfbe062eso7981395e9.3 for ; Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee7fec25sm168377665e9.13.2026.09.04.05.46.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:13 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 59F476182C; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525978; x=1789130778; 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=13LMg+NSAtB4VizZeFc2Tjt1gwiB0gQPaZo/TMmIkg8=; b=MtnuFrcTfs+y0EJtBgUOj34asa8BsngThfJ7Zn27FWECfxTVNusHwbJK8L01YmblYG JKYN1Ze/pP2wnF5kQm7o+ggkKncyOYF3aLHnV2KkhplVOWBhe8yeOdSJJn5TWREgMU/j L5w/X3iUWOWD8te/G0Dm6gdHSj6E7o44gxopHWG6T4dPw6a1gDG3jd2DrjtZ3jvF5VHW WOm9IAq8YGzNUtd+1xuSFYpk+D5NztwE+WN0A1Xdao5hXqxB8oJ8i5UCrdHzS7UkDwKH s8TFtRQ8hN8ofYvXoCKyEjd2b2r9Yklk1hazySu+ALFpWlrZGfZHxLdchPz2IKLElaqn NhPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525978; x=1789130778; 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=13LMg+NSAtB4VizZeFc2Tjt1gwiB0gQPaZo/TMmIkg8=; b=kctVa6wX8u7yflJh7jwWF9EhCEEHG3Qm6q9bbNArFM0earHsasDG5w+BJ+iDxuesb+ Fj4sbUwgTdGFQbYIIFnYnsGes96WVXR2pPPVd2n9tXPrvGwA2vQfkhvQDRy1bwPRSLm8 vCVH6+qJXJVLqSEMSu7pXu1zkElKbzQDrSqqPLkSsO0BggndzOsR6lf3MCyOd8Ezk8/+ 0CkEMz9HTNRnD86CXQh6EF1hjYZhyMc0b4+EIcCOU+iH3Jup30Vp/5RPVqMVy9bmm7WM YwRREInKHXIcGvnHn2m0HH/HpDR2+IPks3wGH2tUvwf4mHUTRiQhER/a41tKmaSdVZTO slZA== X-Gm-Message-State: AFuF++nrpcSU0tgdh/0IKOrNM3LkRVjDYDDVlw382XpB2l8QgdXWvfYd 2CfM6JDkZQDvp0XGH4OyQhtVM0Kc6E8sZDOiMJUA5CmJ4Bn3mJUwrI60Nli0K9AgaK0= X-Gm-Gg: AYBFou13daXsR7OEtkGl/XO0NqGBt4zh53qOZqmAXswGg1dz490RQk1vM8RYzGi7eYy P1DJyKvkS86wrfR16n4h1hx2ddm57unURZPCIOjxGdd1vgFkGA7Qt01zlFx7lWks2sT9vao6Mcp PtvzwZriiV9S30NfHnUM+azLfKKF6mXBdEAXMyDruLEaDo524UusQ3Gjk/6ZycTW1YUWesMbpI2 j1SmJRJPUjszj36iNbHt1MnF3o9jVpRyFptf7ItpX101wIVI2tkY6yVuSlj52/bIplmACHCdLnN GlaosnC8R1iS+tHcHmlm9+VdHABBMKA7Kyn3BBJVsT3gYaHwpYDXhiipcNDliSlKgtqQuhOR+Wa JMS13rfO7p6Pk6DeRc6S8hllQtaom4u4rlOOskTf2G/FChXiEHtJTLnbxT1AuBi3yX2dCKmrFok PCjjJV4Xdj/3Q9L3In3A03AH35KDNfUC/2BNyQTZ2gSbcfaap5ggf+6A4kdVOe X-Received: by 2002:a05:600c:3b07:b0:49c:fa20:cbfb with SMTP id 5b1f17b1804b1-49cfa20cd04mr38716805e9.18.1788525978166; Fri, 04 Sep 2026 05:46:18 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 031/105] tests/tcg/meson.build: use full path for QEMU binary Date: Fri, 4 Sep 2026 13:44:45 +0100 Message-ID: <20260904124604.2207440-32-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526098203154100 From: Pierrick Bouvier On MacOS, meson does not find qemu binary. Use full path to fix it. Also, add qemu binary as dependency for the test, to ensure it's built automatically. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-32-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index ea17a947628..fe382638297 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -323,12 +323,13 @@ foreach target, plan: tcg_tests endif =20 exe =3D built_tests[exe_name] - cmd =3D [qemu, qemu_args, exe] + test_depends +=3D qemu + cmd =3D [qemu.full_path(), qemu_args, exe] =20 if 'gdb_test' in setup cmd =3D [prog_gdb_test, '--gdb', gdb, - '--qemu', qemu, + '--qemu', qemu.full_path(), '--qargs', ' '.join(qemu_args), '--bin', exe, setup['gdb_test'], --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526546; cv=none; d=zohomail.com; s=zohoarc; b=PepIJD1YzsDC54RN9BAClfyUAyiUgpzUTdpJBvPLFugrCsipW1CZOvvlzbpt0TIRv+Ev1ohGzefl8HG6GQYGr2lhFKcP9WoxLTidUqSVRqtylDE3XGXgV99YbvvRmrkU6eiWcEIveZgP+Dh50omXilxT35k77IXDJxS20GVHm/Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526546; 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=izyohgjy3lmdaKSbluKpCEMzPiSAWdPBGuJragEnhEY=; b=dUNkvY7vcWjX7Fl/LHvfo/WwcsOFYi6r38wAxR/sPqirEDPPkNMpmEFMtXltibueeDddIgLEokn7jJ9yO2C+LPcW0796JIbzHarRpCYVdXm5E13L/DS5tno8VWR9AGZa58cg0tP6ugso0m6EWeD4D3TCHdWdHbfwYgWkYzY3gyc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526546226430.5802312883367; Fri, 4 Sep 2026 05:55:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQQ-0001kv-QW; Fri, 04 Sep 2026 08:53:46 -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 1x2TQM-0001iT-Vy for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:43 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQK-0000jq-S7 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:42 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-4858c1c4b4eso342280f8f.2 for ; Fri, 04 Sep 2026 05:53:40 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885b7bfasm6325247f8f.29.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7253561834; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526419; x=1789131219; 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=izyohgjy3lmdaKSbluKpCEMzPiSAWdPBGuJragEnhEY=; b=JW4/6MmWZLFJjKn21ZToGP4YNnoqKVMh5vYiqQyVa0JRgcnSXAhlvX4vY0zfZ7CXlT LxppyocxC7tMkV8W9Uw/k5CqHiDzlf3Kl8j6kmPDMpYpPdRjnAuW0wzdKYoY8+MfQJKX i5N6Q1x0ugBZwnYP0nuvB0ZzIgc9t8oW3vgbRln25rtqImZ9BTzoJ3SndQ36pwijj7IN tgP7HfNfMsHejQoC6IiTsn5LGfE0b00Edyg5iselBngEzPth5mdlvW6ibHiLv5pgHgsw Mm3S4b8ikgYoNxGqyMunjfN3d+gZWL2szQUUIFJqGfp3uanUeUSA0mkXb+/2E6Y+sHUW /g6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526419; x=1789131219; 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=izyohgjy3lmdaKSbluKpCEMzPiSAWdPBGuJragEnhEY=; b=qo1NOvS/FK9RUIobQ996SBHSo6jTH1jMYBV6BV9ETgykXskDygLJZRvfWvK7qNiBu8 a72jzRFNkycUsYg3iqixu5tYzp66kGntrsfKEv0If35AqlyUS2iml5Wnks10p5ubMttr mARfOS+QCRj3+KoTZ3qddeXfWJ9qds6s5latB75Sx+cJFvZrKt30Fa1hWch7ptA8mYA0 3NWT9bWtipoqn0uJAoqPfvSqjA10aAVxpJOB8EFXefjL8dwM+X6bmUBgVZMrYIZ5c84F eyOn9ZhoznMB9q0eB4grukP9PCnWYcYknDtr4QgvHeq+CwnIwA/k1R7ljuDGM+6Iv1Vl FygA== X-Gm-Message-State: AFuF++mJWQG6PneFrxYZTKlqkYRyq7/EIsiYRqcZXrypKwq53/ZgBZHZ 7mgMEm8l08czlAV1OqXGC5b1351neJ914vMSrFpvME9jdOQNWL9dvKfsO1+Wd9BOPwM= X-Gm-Gg: AYBFou3g67LCJYeDRcLby3URVN4dcoY3fQMlZ84lsvCMVeFPiwNH+lZPiG6NWSZgBjN wSkvTTyq4MBrrGK3vIAPM2cpvAmCrGe3sQ2W/kJUwxmZmxIZPU1VG8oei1ZAKe7x62oo1Cin30G Z7G2gUu3PMnXASYiv6Tr6fFldLlJJCbU5DqoiQWwebhkaY7u3Uvwq2A1ow3b9EBuslzo4gmrgOK 8Do420+8uyYkf7Rv89a2/DjHixLdWO6L2WOn14tAnGYYGB0gq09nuMTGSrUW0Y5ztWPOY1FoCNI 2twbBEIYCoD8qrT0mc6+GTZ245GFJZYcL9T7oxt0/Ao7HwosDbsbMwnCXXbUeO0eLPb/exS7S8S bcotq0aBGM14wB1NW2qbIb3pEKMObQ863zjtO1PWomVUaht8OaYf/Az1VbdO68C96V0QrEFhEem YHurmLGKAaelPK+4sTfxTWhW+qRaCuyhA6+1ipWay+QcVUs8IFvrF5PGPM0RYs X-Received: by 2002:a5d:52cb:0:b0:481:51b7:290b with SMTP id ffacd0b85a97d-485872a7feamr6131855f8f.14.1788526419421; Fri, 04 Sep 2026 05:53:39 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu Subject: [PULL 032/105] tests/tcg/meson.build: add top-level 'tcg-tests' target Date: Fri, 4 Sep 2026 13:44:46 +0100 Message-ID: <20260904124604.2207440-33-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::434; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x434.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526547823158500 From: Pierrick Bouvier Add a target to rebuild all tcg-tests at once. Tested-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-33-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index fe382638297..d16772d498d 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -89,6 +89,7 @@ test_plugins =3D {} subdir('plugins') =20 image_targets =3D {} +exe_targets =3D [] # Finally, we can create all test executables and test targets foreach target, plan: tcg_tests # Detect duplicated executables/tests, and report an error to force user= to @@ -298,6 +299,7 @@ foreach target, plan: tcg_tests depends: exe_depends, depend_files: build_test_depend_files, build_by_default: false) + exe_targets +=3D exe built_tests +=3D {exe_name: exe} endif =20 @@ -381,3 +383,8 @@ foreach target, plan: tcg_tests endforeach endforeach endforeach + +if exe_targets.length() > 0 + # finally create a top level target to rebuild all tests + alias_target('tcg-tests', exe_targets) +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527140; cv=none; d=zohomail.com; s=zohoarc; b=XSAg3h3yn3wVA6C4Bk55PiyQN66QszSyFhY7rbKWwt/xIDEK6g7oObi03XjvTS0fZilcxB1hDd91NVap/3UPoYfwo9Qpwx1ckQEs64AI3UUxOk427zvyYgvtBmLfzOIlN+0jnKwxnG/zPMkSbTcGLI2F3W6jmBU9xrK4tZDt+A4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527140; 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=07E0fW2eDFKopiWn1vNWEYlUUP8ZSGC64Z2M/Dtuonc=; b=ME/2NhOSxoYbknGwcvktQJPvvmIks3AOvzL+shBk/0uFYjoZPivEzZfvzUap6GvTReBSiSRR8l7R0pULjeWBy77aOUVzA1oO02Imj5+aaXvXF1QcSoPslP0aytxFG4fbdkAn4HGz2DeT7uKv22xpuzSGFqDYZ9WGGr7UnC6U6/E= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852714063453.90827756794556; Fri, 4 Sep 2026 06:05:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tah-00074Q-0k; Fri, 04 Sep 2026 09:04:23 -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 1x2TZq-0006Nb-5u for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:32 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZn-00034K-SN for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:29 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-484392e3d33so589199f8f.2 for ; Fri, 04 Sep 2026 06:03:27 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858e239862sm1087957f8f.9.2026.09.04.06.03.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 857155F954; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527006; x=1789131806; 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=07E0fW2eDFKopiWn1vNWEYlUUP8ZSGC64Z2M/Dtuonc=; b=gXVeMIdPD9EZuWv96o76lHhtITSy2qGgZdL5MrH/EGkOhUXLLLi0AK3VHxt1+XzBll VSwxktH1XpU6tSTXNADKOi1aHBHLTIuZmshrDPx8/ExA+630dx9L7UOMzWlJF2G074Vt 8vmRO4/VRnJrqAIxib5db0FYV0aXv/TUbKfcZ5b9ZXmnQHgxGPby0fdfHz0oH++e9hOC yvU5kr80wyYwD9XGjaxCtTtt2k1Vms/GQGv15SZzcIxbXwK0asOddv03GbpK9SqHlvz1 JCNPR/mo1wOcQQ32e9+pbT49c4ZpCzqdNKlY1LXySSJuAM43Cysues6v3cNJUWhB5bdh u+KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527006; x=1789131806; 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=07E0fW2eDFKopiWn1vNWEYlUUP8ZSGC64Z2M/Dtuonc=; b=OLHl0kcuwZcJkV4/NIbmB1j4/YZEiEGlozwCOUJ9XH/9m21hUXZZNzYpo0swgjHW6Z Jrc1w//5APA8WZR/3gXNI3TIl0JE2u64BX3XVQSWUDuXVDkyGhJheZ0qvroTNjK94r0b NA66OH06PzUF7Pz7hsU/AEzBlfJsuLL15Svyt8yo88360rEYDCG7Qsmck5V4j/F63NMb TUdM3jXte0RSoBjYokG5xgu353tIw+zOVFLZPtroJQmR62HeyR4g7cmbRQ2o0p3tEWRt zckMbLNdeXL6PVrycWx5LhXWweV2c01Ym8dWNUwJQga0agA9S6Ry4NdnjpPpMY7Ahiav bbeg== X-Gm-Message-State: AFuF++m3Yo+jHs3enCMQJ+dbU8c8qj/jKSu+JT6nWxGAO0MS0D20M9Rx lAjUwq84gT+tZAa9VE3uIOYgucdNPgdkdUtQZYz7XcG+77eCkKTipOok4Eo44GB5Xn1o9TvYc31 spZZWxdA= X-Gm-Gg: AYBFou2kATcbbARpmHpYzwFgVBMXvQfQYyeyEOsBTLVVtoqFD4JLiQE9BXtO3UN208A aiqn5aSpVZTpwYuW/mskM21WZd9LzxrwtEA1/giHs1bRrJrMIMKYq8ALqDc8rdJhm5jOVpiDI9p S9AMlF7YzBl0NSOBhbo89Tok3ZaAj7BQsFnyRX3XYgnUJDeOsLjFhu3hV1s7pddOQIwSHUfCOL+ wyyjAoLQxoWgTFHdV4owV/vBX23Sh5ToCTB/BpOLgwtE7QbEfkavXKVma3RYxf7ikKHoROC2zUE Mcqts/Jv5GFn6fpQro4PFT/XJwlQSlY6yJTNqsygPHzLwxz4DibdFrRgyDLqu19scDX205ov5MN NOTne29KcnoWFvaJP2+LiBg5BcM7bYgog8d9ys2ZYmbP+McFqc4HaajSJ8zfwgoAR5p8UENVnOw Ol8Xc6u9lxc7vRJpTwhtnKv5ehqZsUNIleilH1OXOYdGu/v7LBNfSIqE/eSFdWbBzJDpaWsOk= X-Received: by 2002:a05:6000:601:b0:484:4874:db4e with SMTP id ffacd0b85a97d-485872a004fmr7952448f8f.17.1788527006216; Fri, 04 Sep 2026 06:03:26 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 033/105] tests/tcg/Makefile: skip user/system tests if target Makefile is not present Date: Fri, 4 Sep 2026 13:44:47 +0100 Message-ID: <20260904124604.2207440-34-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42d; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527142897158500 From: Pierrick Bouvier In the next commits, we'll port each architecture from Makefile to meson, and it's easier to review those changes if we remove Makefiles step by step. Tested-by: Aniket Sahu Acked-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-34-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target index 1b83824ff4e..836fccaca23 100644 --- a/tests/tcg/Makefile.target +++ b/tests/tcg/Makefile.target @@ -105,7 +105,9 @@ ifeq ($(filter %-softmmu, $(TARGET)),) # $(TARGET_NAME)/Makefile.target to include the common parent # architecture in its VPATH. However some targets are so minimal we # can't even build the multiarch tests. -ifneq ($(filter $(TARGET_NAME),aarch64_be),) +ifeq ($(wildcard $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target),) +# skip user tests if Makefile.target is not present +else ifneq ($(filter $(TARGET_NAME),aarch64_be),) -include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target else -include $(SRC_PATH)/tests/tcg/multiarch/Makefile.target @@ -135,7 +137,11 @@ ifneq ($(filter $(TARGET_NAME),$(MULTIARCH_SOFTMMU_TAR= GETS)),) -include $(SRC_PATH)/tests/tcg/minilib/Makefile.target -include $(SRC_PATH)/tests/tcg/multiarch/system/Makefile.softmmu-target endif +ifeq ($(wildcard $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-tar= get),) +# skip system tests if Makefile.target is not present +else -include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-target +endif =20 endif =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528255; cv=none; d=zohomail.com; s=zohoarc; b=AHmnkw8tno9EXFE5y79xgKyf5Um/CJs1NciPLzJkaOD4rfu8IO2i6GEnGLc8p6huKZ9Gv/AewWEYbmgEbwQJqP2NBqfNHIfDxlVCmIRLF4xXXytI1i7W/WYfIQTKANHxbBV5RfcrFWuUL+VXxDBLoNqwckH92pH2B0aideVQZe0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528255; 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=pWuQIDb9zjoi4BRXnc4bBwnvB0LsX54W6ljnxf6XcRI=; b=TC9N2NsDnwX9fsB21F5lEtJPZctIHQHGlhqHcXEXsJ8bCCGVoGO4j1nmj4MM5tZokEo48dAr0JTrl9KGlPnP8QmIuKt+VQ6BNWZlVX3lXNRByEw9D+V6a2kkZqDReldAHrLSBf9ZkJFvvkcK2MwERjcczXfER2XnNvDVtrqLYyM= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528255183342.54525074714354; Fri, 4 Sep 2026 06:24:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtL-0005Xc-8v; Fri, 04 Sep 2026 09:23:39 -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 1x2TtG-0005UY-NB for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:34 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtE-0008Ih-PJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:34 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-49cf4f81d86so7341795e9.2 for ; Fri, 04 Sep 2026 06:23:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee7fec25sm170698335e9.13.2026.09.04.06.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A05FB61839; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528211; x=1789133011; 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=pWuQIDb9zjoi4BRXnc4bBwnvB0LsX54W6ljnxf6XcRI=; b=Y35N1tSUQnWj40xRNmppHNt8HNJgJoc7017nWGiZc/kFKElSXjvguZItIgBkO3h51U gr/PIBntiCZYWFFK5U2xBBJonACTShLuosG9asIcQG33qqpCmd8VP/vkiAlvJDF2IMor yaZiHvOC300yQVczsCWpwD4MUQYmAhCYwherxCD3XvynOxkdwireZuouRDvmt3i2ZRbz 7mWxm+anRV+6flhApD04e+/8BMiSlTRHQHnbP5oU/GSaUUaJcmiN7cgd5KCyErIepjOf fqHjf8ABQ7LdNomI1Wje0Vrf/yc2jxuIKp8ltYgIZG2zKFNt4k+o3/aDsR1vbGPolDrX B+QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528211; x=1789133011; 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=pWuQIDb9zjoi4BRXnc4bBwnvB0LsX54W6ljnxf6XcRI=; b=KOWDw7Duxy7gg5xPHb/RRszplGZswNIanooKzblwH+Or4RLaExXsm2fqEUa5n3G6hC sB3VWl4L5xXQI6NS5xhw2QFfpo7QcG/k5ZxKI7ogEWwwa+/qa/mQ3XViDBNiVQ12htEx y2TEUUUaHkZQ5CtMVFqNMpMor+yVhNrXgNRSX5a5ed495hZqA1Ei7fEYlNO4/aXXpPj4 eCEbGE1UjLFidZA0/IWHO5QwGkZhEyE4pzsK58gQ/CmuRMRi5wfusNR4CZkWh/6H3f0k d8M97jKck+ys4u6CDxo99dEPnYGkuEwO4olCoyQGWVMeOWkGLudea2t1jE7YpIQsNFU1 IN6g== X-Gm-Message-State: AFuF++k9/7d4BMYL44yxPpJbR6Rowf1Qc2pWnYWC9virc5Hivj6C/Nhi ilbLOBc4jq5EhLRNpH8L056ZRn/6VYFUfRNyE46wRmzMiy9dQvYHkJKbz6V1kIYH7Y8= X-Gm-Gg: AYBFou3Q/VryByWoO0elwC9nOfedEoej6jjN/pNLP1G1mG9yBxz/AF68LvuyN6POq8M KtNRu3qrd8tfywLAfpFh5q7VMxQtR8bBh9PMp9v+2p2or9DU7IzA2jHtzp6RK4K0PIjTYNxi0jJ lBWu1L/hNNI+qmpKVkqxFiOLJI89ejT5ROfWNpz9M9w6XN83me6GPPOWuvotygYEgB7VpAszvSq erv/qYYVnvROL3y4CIoI+xiOcsz5ytsMVN6h+FAKnT2bKZun6Eo1QCXL8qG2Lt5lX2Tvg3la2Dh xCU4ChpH9UbL1DPQkM7hRFg8Bmk1X18w+LVAdcSYHpFNHQ1L/xhX3zPFOlTNMYZz6T281X04G8i p/hbuvgj0h22UXzA4soSt4L5zifT/KnHSCpWdJrD+LUO0/f4Kq1p0oV4IXQUdkQolbqaiTKMVIR ZmNN+91z4vGCcXSAYBo4ny0oSo6Onr9J7NE4RrgIvFiaL26mDmW6crKxXRXKv0 X-Received: by 2002:a05:600c:3e0c:b0:49c:fc6c:be0e with SMTP id 5b1f17b1804b1-49cfc6cbfbemr30323545e9.20.1788528211024; Fri, 04 Sep 2026 06:23:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 034/105] tests/tcg/multiarch/gdbstub/prot-none.py: deactivate on gitlab CI Date: Fri, 4 Sep 2026 13:44:48 +0100 Message-ID: <20260904124604.2207440-35-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528257492158501 From: Pierrick Bouvier This test was disabled on Gitlab CI. Tracked in https://gitlab.com/qemu-project/qemu/-/issues/3329. Tested-by: Aniket Sahu Acked-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-35-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/gdbstub/prot-none.py b/tests/tcg/multiarch= /gdbstub/prot-none.py index 51082a30e40..e653bc697f6 100644 --- a/tests/tcg/multiarch/gdbstub/prot-none.py +++ b/tests/tcg/multiarch/gdbstub/prot-none.py @@ -5,6 +5,7 @@ SPDX-License-Identifier: GPL-2.0-or-later """ import ctypes +import os from test_gdbstub import gdb_exit, main, report =20 =20 @@ -21,8 +22,16 @@ def probe_proc_self_mem(): def run_test(): """Run through the tests one by one""" if not probe_proc_self_mem(): + print("----------------------------------") print("SKIP: /proc/self/mem is not usable") - gdb_exit(0) + print("----------------------------------") + gdb_exit(77) + if "GITLAB_CI" in os.environ: + print("----------------------------------") + print("SKIP: fail on gitlab - " + + "https://gitlab.com/qemu-project/qemu/-/issues/3329") + print("----------------------------------") + gdb_exit(77) gdb.Breakpoint("break_here") gdb.execute("continue") val =3D gdb.parse_and_eval("*(char[2] *)q").string() --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528321; cv=none; d=zohomail.com; s=zohoarc; b=Phs8s+ORdVGNoSbPVtws8gc6ulbuNc5SX9CTvyKwPE8NM3DqirqLP21QiDjmVwkzCfTwvQ2/bLNILgtKl3gkUMQUKLP/QiiGD9n1JmoOF2MzfYusk3lpdbOzVeQJomrNxzm7M1rBodhULRGTo8Xbya3XTp5hmUhbo8y0yaaeNn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528321; 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=8ZFr5zENPAKypAJEL02dWAYi3o/gkBVQ8dSHQ70VAF4=; b=Ic9o+GhLM2Gqbtsrq4HBpkFwdIQPW3gaE0h3X4kRCtTBuTorXGNMhfn3OwNEcpljM/asfPEX7TKBNO/fDgI21u/ZM09e49pjSnYtg6RVOIX+KxOPHXVTf2WaVTNqFq9hrqj4Apd5MkniYPb1MoJobJxblCrwY+WCwURwG26I9Kw= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528321588518.3433542993728; Fri, 4 Sep 2026 06:25:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtK-0005XZ-Qi; Fri, 04 Sep 2026 09:23:38 -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 1x2TtF-0005Tv-IA for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:33 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtC-0008Hj-Nd for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:33 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-495590dde14so13881775e9.0 for ; Fri, 04 Sep 2026 06:23:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858ab73c2bsm4907379f8f.22.2026.09.04.06.23.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B75216183C; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528209; x=1789133009; 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=8ZFr5zENPAKypAJEL02dWAYi3o/gkBVQ8dSHQ70VAF4=; b=QH5eLU6AT70QXSdM/ECr37vHE50g+cYVmMxoisjEqL8p++fZ8H++HpV9HFu6XD0Waf eZWmgSO5kUFvzw7SB57GCQVmhF2nMEP5t0Wv65amt9HtFdqrf8EH2FajcDVATDgAqMKV szQ4n+pgVVfgkz/uOYOsjBy9N3xv0b8Nz6GUV0b3i/pcyLOumvxQQpqCGphfAqifZU1s wJK8qQ6kwKk17hlS352cV4oZK5YySIHQUdVDHrApgucnKsZonD5mjkYT6N+sTq63Vz7P 3sIq2QuwwETfYoiSCBtbTRHS7jjvqSXgtdXaa96rGOBNMfxr8gNHZOLiO0kuWMQ9dD27 6m3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528209; x=1789133009; 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=8ZFr5zENPAKypAJEL02dWAYi3o/gkBVQ8dSHQ70VAF4=; b=TJM90ruJWu+X6o1J3Qx0C76AMTDG/TIxqqG8oKIZ5u9tOpCduGV8lXugpSW0xzcpxP BWCnI3SBk+vj6eA2ev9t0XNWAIEQcuNwRMowvmePIjaPXrehDv+WEIOxzLgJactlgZLv quv46jaOg+9YLMCftzR7aXCRfPATCzikV+9+fL5PTnCoMbHiM8rxDLBOZSUlYEEfUTOL A6pqbzbxR1QdEmXclajqGjhHflE9gAusd/WbUKU0A+62aV+kHt9vjIr8OjY1V6qhPylH 8HZDmUxMMm9A+S+ljVxo9kWDZQ81BzZSP9ydqbQhLNGJ8vUas9bIyEw6/9m6ktux9Fhi Dbpw== X-Gm-Message-State: AFuF++mPFJnW3k4mTAo4bD+MC7LuEQvv1oq6wATa/XQwdPYPpogu/T11 O+ZtX/eTAV4pUrzYdUhTaiDQQsiDpzbdRgBf5K0cbzsqTwulUIKtvHATVe0bS0PO3bE/EYee2gA FFe/GCIM= X-Gm-Gg: AYBFou1s/+RtFO1Mzvz0UtYfYoZRwW9vHYjWzCI0mUJDV8ArtwCEPqKUuUlX8YnlZk6 TESeWZXsuTlRvBP0XFxsAcbL6+f/yLAwRsmVGfh5Jn4gQ2MYZqE7wiU6A26W63hiVMANBJS71sp oulGZK5LYugkpXL75Ovc9ZojdXQA8rmmOXABtFdnkZV0LYWA41NJbzD9GxvhMpMVCC3H8iDokaO FEjwaNzaGh5ao0R0bDUTUu22Q1CRlIA7uARPBBaohWn6KlABwy7fycgkm4IZ49P7Fac96Q/vYla KCS6HD9xEq++VANcNkMVyQbOZ7dpRUiQMhpKjNmFv5LgCRcsYmAMCRkqyhq7zMX0kL6GLGcK6Rb UHKSD6CtUzGvWcGNow8NEsIpbaoMj3Hilfn23mgT0iDwsctCcjaiblLjZcJGwjr3ge660vJ6bow TRBrfaoOe8iXzoimSvjbL0cNK9niphNlcNCSIuGsqIgQzNgSg9BLiLzb8z3/88 X-Received: by 2002:a05:6000:2312:b0:485:8d27:dbe7 with SMTP id ffacd0b85a97d-4858d27dccbmr4486169f8f.10.1788528208241; Fri, 04 Sep 2026 06:23:28 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 035/105] tests/tcg/multiarch/gdbstub/prot-none.py: detect if /proc/self/mem can be used to access PROT_NONE pages Date: Fri, 4 Sep 2026 13:44:49 +0100 Message-ID: <20260904124604.2207440-36-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528321868158500 From: Pierrick Bouvier Recently (July 2026), this issue became reproducible on debian stable with kernel (7.1.3) from backports. I suspect it's a default hardening of kernel related to recent CVEs. By tracking error reported, we can see that /proc/self/mem pread from cpu_memory_rw_debug in accel/tcg/user-exec.c returns an error (Input/Output error). Detect this situation directly from our gdb python script, by trying the same thing from current process. If this operation fails, we can gracefully skip the test. Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-36-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/gdbstub/prot-none.py b/tests/tcg/multiarch= /gdbstub/prot-none.py index e653bc697f6..e59ba58af86 100644 --- a/tests/tcg/multiarch/gdbstub/prot-none.py +++ b/tests/tcg/multiarch/gdbstub/prot-none.py @@ -5,6 +5,8 @@ SPDX-License-Identifier: GPL-2.0-or-later """ import ctypes +import ctypes.util +import mmap import os from test_gdbstub import gdb_exit, main, report =20 @@ -18,6 +20,36 @@ def probe_proc_self_mem(): except OSError: return False =20 +def probe_proc_self_mem_access_prot_none(): + libc =3D ctypes.CDLL(ctypes.util.find_library("c"), use_errno=3DTrue) + libc.mmap.restype =3D ctypes.c_void_p + libc.mmap.argtypes =3D [ctypes.c_void_p, ctypes.c_size_t, ctypes.c_int, + ctypes.c_int, ctypes.c_int, ctypes.c_long] + size =3D os.sysconf("SC_PAGESIZE") + # mmap a PROT_NONE page + PROT_NONE =3D 0 + addr =3D libc.mmap(None, size, PROT_NONE, + mmap.MAP_PRIVATE | mmap.MAP_ANONYMOUS, -1, 0) + assert addr !=3D ctypes.c_void_p(-1).value + fd =3D os.open("/proc/self/mem", os.O_RDWR) + try: + # read it through /proc/self/mem + # this is the fallback in cpu_memory_rw_debug + data =3D os.pread(fd, size, addr) + except Exception as e: + print("/proc/self/mem pread error: " + str(e)) + return False + + try: + # write it through /proc/self/mem + # this is the fallback in cpu_memory_rw_debug + os.pwrite(fd, data, addr) + except Exception as e: + print("/proc/self/mem pwrite error: " + str(e)) + return False + + return True + =20 def run_test(): """Run through the tests one by one""" @@ -26,10 +58,9 @@ def run_test(): print("SKIP: /proc/self/mem is not usable") print("----------------------------------") gdb_exit(77) - if "GITLAB_CI" in os.environ: + if not probe_proc_self_mem_access_prot_none(): print("----------------------------------") - print("SKIP: fail on gitlab - " + - "https://gitlab.com/qemu-project/qemu/-/issues/3329") + print("SKIP: /proc/self/mem can't be used to access PROT_NONE page= ") print("----------------------------------") gdb_exit(77) gdb.Breakpoint("break_here") --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527143; cv=none; d=zohomail.com; s=zohoarc; b=klQ63O7djPQTCZn2HaGZXjD0WT1Yh2Dt1jFNAleXYRiJWlWxbaGjDSUmKqFJM1vveXkx1WOixWzvdxVqvMh+d/Wl+J5r6vccfVcDdtfud9gYjWyaLqzNA033oEGFHINq+R3p7EPYKy3IIzsLO56bS0dtvRK5SIfFWZLZKKEGXQA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527143; 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=PHBzQsEDBEVRIHuOAyWaTN39I9MIBVF06+jKwdAHyh4=; b=dfQxQ/VNWYfVglaXsrqskafwkAnYB4/05IcJH8MqyU+4ByQGZOE+1Qp/0CpVoe+TbhRa6zrEt10SJHde9KYKDHGWxmlC4/JL9l/MarNEfUb9nEO+8PLjmnWp1ipTYHi7Kn8rISjJGW/s+KGQ7lZcZ811J3aStv/2cpB8M5N5m6E= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527143532798.2635794967612; Fri, 4 Sep 2026 06:05:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tar-0007Uc-0t; Fri, 04 Sep 2026 09:04:33 -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 1x2TaD-0006Wv-E1 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:55 -0400 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta0-0003AG-V9 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:49 -0400 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-6a051b737d8so872214a12.1 for ; Fri, 04 Sep 2026 06:03:39 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883927a3sm4653648f8f.11.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D31CB6184A; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527018; x=1789131818; 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=PHBzQsEDBEVRIHuOAyWaTN39I9MIBVF06+jKwdAHyh4=; b=lBLheq27cl5rWfFEoUExlc11oKeruPMPqzPeKuCcvAX40o5lL47Kxmhr5XoDFtlVQl cDw2MDcsX6NFflCHUwBHtC7oTXlKMWlRG8CoZkuMyOZg1OdJdA6TuQOCVHwL4sZfWfFF VLkL/gxMKZRW1/J/sNMeD3eSGM7u7PO2w+uvj7o9q3L/FbefGIhHAKRgMYHoTkmD9sy/ Yhp600okDp70Z97vB8DJrhyGhv9kzFYbALRemU/GEZwgM13G5GYgYACWO7RYHvgz0OAl JMoVMvmjAevNG+dKDqQx3SIKqdV+oc7Ek6Xtwhh6KI+U0JI7sPBv+BHJpUukFvE0rMRi P2Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527018; x=1789131818; 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=PHBzQsEDBEVRIHuOAyWaTN39I9MIBVF06+jKwdAHyh4=; b=niaH1u6jtvmNsbGvXiJqEG/K8Tf570nSozspYNWZmw55SQa5mShc9O/IXamCMc+VjO LCZuAb0qIwFJFAlsPJi0lPAKBZsKa5mAJd9vWDKneJuDRVwTPJ5y47nVxIlKyKu28+SP TaKfER8wZTOK0ov2pepkdtaNnMj9lcCmyZ8eXGtorwrLAZFULO47yrql/xIdRR2FBJ6V P9h0gwTK1odIPPB51S9InSWXil2nQe3tYBTOJmOORPaSUJ2OnB6WGA2o818+WFH1OILO jqz0fe4rDKYqVxCUF+50c86Srv62vioO/B0He8KNJ4AWsRe7xbyGxcD+xHUSgLuhCnGk Iplg== X-Gm-Message-State: AFuF++kToS2sgKnk3xbK2m5wEErjg/3mtQGJkdHzSw0ib4NlO+uUBiwn kkwg/5MK3Urugu9G6+rRBGbMcgNlYkEb9tDas/0oBMNx77w3csT62PmBMWpRTnKRnO8= X-Gm-Gg: AYBFou2/EcSu8vS+duk3XCKCj1fAoCmwer6M4Ika7exuXL9Mo336NacJCpnw8hZ+BVi 6BpmVHo3TQm53XOECFQNcAe0BgeHb3IcgpOSBMhOqfJBDbS0/IfpeZvu7Ab67B59CDuEbBvqm/i jTR+yNh2rFx1wwBdm2LE5KeI3lElmkdC1TzfOO9UqT0cL37Bi/wp0LzwI6VRujNuBUD5+Ys922V i5E9ZBVkfdqZlozVTvTCrG13EGZl/dXsc1OUXHm9qGj2JGAuoszavkzY5Ols7uhU9TVRY4PAZt1 gcOVape5WAfY894bzw51+C6Z9RMwayrxn5jW+HFFY6srpwwuECTYqj1sLvI8kly4IyVCnWXgGCg X78DkQgt9kvlLOT7SztXhPFOWDxv7soQiSVDf4b3sL7m+tognWSxJMiMAnKD6phf4oLWgkoZmwO 4+TclbYubKizLlUr7xu4EtOyrJtSjQsaZu/YF3KceMdSb17FGnW4WutpkCIQA8qdGG126PC4E= X-Received: by 2002:a05:6402:2554:b0:6a7:ee54:f895 with SMTP id 4fb4d7f45d1cf-6a7ee55005bmr1175557a12.25.1788527018127; Fri, 04 Sep 2026 06:03:38 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 036/105] tests/tcg/multiarch: declare user tests Date: Fri, 4 Sep 2026 13:44:50 +0100 Message-ID: <20260904124604.2207440-37-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::534; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x534.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527145067158500 From: Pierrick Bouvier At this point, those tests are just declared and not used yet. Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Alex Benn=C3=A9e Message-ID: <20260827221506.91574-37-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index d16772d498d..536def60b44 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -87,11 +87,18 @@ endif # plugins come first, as we need to build the list test_plugins =3D {} subdir('plugins') +# multiarch comes second, so it can be referenced by other arch after +subdir('multiarch') =20 image_targets =3D {} exe_targets =3D [] # Finally, we can create all test executables and test targets foreach target, plan: tcg_tests + if target.startswith('multiarch-') + # those tests are included by architecture files if needed + continue + endif + # Detect duplicated executables/tests, and report an error to force user= to # choose how to deal with it. built_tests =3D {} diff --git a/tests/tcg/multiarch/meson.build b/tests/tcg/multiarch/meson.bu= ild new file mode 100644 index 00000000000..99af41b3fcc --- /dev/null +++ b/tests/tcg/multiarch/meson.build @@ -0,0 +1,147 @@ +tests =3D [] + +float_helpers =3D files('libs/float_helpers.c')[0] +float_cflags =3D [float_helpers, '-lm'] + +# GCC versions 12/13/14/15 at least incorrectly complain about +# "'SHA1Transform' reading 64 bytes from a region of size 0"; see the gcc = bug +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106709 +# Since this is just a standard piece of library code we've borrowed for a +# TCG test case, suppress the warning rather than trying to modify the +# code to work around the compiler. +sha1_cflags =3D ['-Wno-stringop-overread', '-Wno-unknown-warning-option'] + +# multiarch src path are written to be included from any other arch folder, +# so all arch can directly add those tests without any modification. +multiarch =3D meson.current_source_dir() + +tests +=3D { + multiarch/'catch-syscalls.c': {}, + multiarch/'float_convd.c': { + 'cflags': float_cflags, + 'expected_output': 'float_convd.ref', + }, + multiarch/'float_convs.c': { + 'cflags': float_cflags, + 'expected_output': 'float_convs.ref', + }, + multiarch/'float_madds.c': { + 'cflags': float_cflags, + 'expected_output': 'float_madds.ref', + }, + multiarch/'fnmsub.c': {'cflags': ['-lm']}, + multiarch/'follow-fork-mode.c': {}, + multiarch/'late-attach.c': {}, + multiarch/'munmap-pthread.c': {'cflags': ['-lpthread']}, + multiarch/'overflow.c': {}, + multiarch/'prot-none.c': {}, + multiarch/'segfault.c': {}, + multiarch/'sha1.c': { + 'cflags': sha1_cflags, + 'expected_output': multiarch/'sha1.ref' + }, + multiarch/'sha512.c': {}, + multiarch/'sigbus.c': {}, + multiarch/'signals.c': {'cflags': ['-lrt', '-lpthread']}, + multiarch/'sigreturn-sigmask.c': {'cflags': ['-lpthread']}, + multiarch/'tb-link.c': {'cflags': ['-lpthread']}, + multiarch/'test-mmap.c': {}, + multiarch/'testthread.c': {'cflags': ['-lpthread']}, + multiarch/'threadcount.c': {'cflags': ['-lpthread']}, +} + +# Linux tests +tests +=3D { + multiarch/'linux/linux-madvise.c': {}, + multiarch/'linux/linux-shmat-maps.c': {}, + multiarch/'linux/linux-shmat-null.c': {}, + multiarch/'linux/linux-sigrtminmax.c': {}, + multiarch/'linux/linux-test.c': {}, + multiarch/'linux/test-vma.c': {}, +} + +# GDB tests +tests +=3D { + multiarch/'sha1.c': { + 'gdb_test': ['--test', files('gdbstub/sha1.py')], + }, +} +tests +=3D { + multiarch/'sha1.c': { + 'test_name': 'qxfer-auxv-read', + 'gdb_test': ['--test', files('gdbstub/test-qxfer-auxv-read.py')], + }, +} +tests +=3D { + multiarch/'sha1.c': { + 'test_name': 'proc-mappings', + 'gdb_test': ['--test', files('gdbstub/test-proc-mappings.py')], + }, +} +tests +=3D { + multiarch/'segfault.c': { + 'test_name': 'qxfer-siginfo-read', + 'gdb_test': ['--test', files('gdbstub/test-qxfer-siginfo-read.py')], + }, + multiarch/'testthread.c': { + 'test_name': 'thread-breakpoint', + 'gdb_test': ['--test', files('gdbstub/test-thread-breakpoint.py')], + }, + multiarch/'sha512.c': { + 'test_name': 'registers', + 'gdb_test': ['--test', files('gdbstub/registers.py')], + }, + multiarch/'prot-none.c': { + 'gdb_test': ['--test', files('gdbstub/prot-none.py')], + 'env_var': 'PROT_NONE_PY=3D1', + }, + multiarch/'catch-syscalls.c': { + 'gdb_test': ['--test', files('gdbstub/catch-syscalls.py')], + }, + multiarch/'late-attach.c': { + 'gdb_test': ['--no-suspend', '--test', files('gdbstub/late-attach.py')= ], + 'env_var': 'LATE_ATTACH_PY=3D1', + }, +} + +tests +=3D { + multiarch/'follow-fork-mode.c': { + 'test_name': 'follow-fork-mode-child', + 'gdb_test': ['--test', files('gdbstub/follow-fork-mode-child.py')], + }, +} +tests +=3D { + multiarch/'follow-fork-mode.c': { + 'test_name': 'follow-fork-mode-parent', + 'gdb_test': ['--test', files('gdbstub/follow-fork-mode-parent.py')], + }, +} + +# Specific plugin tests +# Test plugin memory access instrumentation +tests +=3D { + multiarch/'plugin/test-plugin-mem-access.c': { + 'plugin_test': { + 'plugin': 'mem', + 'args': ['print-accesses=3Dtrue'] + }, + 'wrapper': [prog_check_plugin_output, + find_program('plugin/regex-compare.sh')], + }, + multiarch/'plugin/test-plugin-set-pc.c': { + 'plugin_test': { + 'plugin': 'setpc', + } + }, + multiarch/'test-plugin-syscall-filter.c': { + 'plugin_test': { + 'plugin': 'syscall', + } + }, +} + +tcg_tests +=3D { + 'multiarch-linux-user': { + 'tests': tests + } +} diff --git a/tests/tcg/multiarch/sha1.ref b/tests/tcg/multiarch/sha1.ref new file mode 100644 index 00000000000..4a8a114634f --- /dev/null +++ b/tests/tcg/multiarch/sha1.ref @@ -0,0 +1 @@ +SHA1=3D15dd99a1991e0b3826fede3deffc1feba42278e6 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528304; cv=none; d=zohomail.com; s=zohoarc; b=UZZE3JqwWuWe2ZfuiDTgoARbZ02xQJW+RwtqvxBpwyuhODU+jS5UBHMo0uLNBKOBhGrW1CoG3Fh2lPkI/Sb63WB5rOujUC/pHozoil0oQzE/pehDrQlZ7WVn26EuSNAycqAZWdDC4Rqu7RVx+vzOetpvhfYdR/vVUWt7gcSsheg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528304; 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=tOTYcu87ro6PtDq6th4kzuspvF4cJxXqC3d7gEkpF5A=; b=Ze8fLqEj0yiWf0KMmJnV7pUP54aeiQ+DBBaZ4UF8r8Zp9WgJmsoIWYX+BkzjQKbvJS92Jg8CG9t1GAgzlIxsHvxAYT+CHQCSCTyt/fhX6GLhVhO61g8g9mPG2KZ3YVZuERe4sjlnmwMrH79270n0TYeWKwIoElRJxQtvFyeXKhU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528304076454.7079913584171; Fri, 4 Sep 2026 06:25:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtL-0005Xe-Kl; Fri, 04 Sep 2026 09:23:39 -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 1x2TtI-0005WO-QW for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:36 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtG-0008JY-SQ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:36 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-485888b3c3dso912766f8f.2 for ; Fri, 04 Sep 2026 06:23:34 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883c81c3sm6051919f8f.26.2026.09.04.06.23.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EB5CE61891; Fri, 04 Sep 2026 13:46:07 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528213; x=1789133013; 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=tOTYcu87ro6PtDq6th4kzuspvF4cJxXqC3d7gEkpF5A=; b=evBTZRTRxd+N/l3q3FoVtaUcDj6l306WZpmIOv31jE/P73XmaEe8fLXICm51ta0qcs ypDMZUuVGnE23/Pw0AEu37Eb7aYAl9eJIA/EaqutTPkkIb+60/wfffcHnfymtpnYOkoF xfagsyTD2tRtckMNTAL1Vk16jUFZC3UX+1QnvTXAWGXpKBlpiW8DiMlJkzFXuB7LnrOs FnSpW2blXfVCgaRYVoI1i0aYNx1+2f9fFpw2vILUMeOFHWVdQcrqTXW7VHKbggXDTUx/ jQ16T0gz+OcDHkZa8rEAu7zmrL66eNcq53RrhoyMKQGnBAymH83KoF+CAmIO4xapMosg xQag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528213; x=1789133013; 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=tOTYcu87ro6PtDq6th4kzuspvF4cJxXqC3d7gEkpF5A=; b=WAAKPlyyPzRNEt6ChbZZyNgGaB2LDmS5/AZnpMAxtwvlUpaZ9M2Q0XXWnFP+SHbAsn g4qXl7Nos3kIPwbdGIGveh+E6Au97mRfpQbI6z3uKe36o3cwX1mBVyKUYL1KSLnWIaZu m+qiKMQ51BhhT/IbC54JyQAshD8j+RK8nbbaOV48z+BuBl3T+/54tEBgmtmOKM+hkMHw 9MSkU2h3CjVtF4AgnKoCaGYBtAAclbfmsaIrBLb8Q4fHWmzFkOmYiHr5qbiZ1/xVt6hF 05Pihru8Z8VlDYoW6I9LhF2eoHIf/ql0BIo9QvnPBMRAVvZ6LiXg8OVKKeTcc23S9yLj biBw== X-Gm-Message-State: AFuF++nhEmW/in0cvPpTY70d0dv48mQkVz6/R4hTt1KHQPLVMJPW6sdJ 4gvYmAo1saLzMNmvQhw7qLrBAqQe4XK3dIlkSM110jOhMrHi35KhFytYw7J7761LGgo= X-Gm-Gg: AYBFou31UQnuKvNhvijBy9Gh+1IrievytUZy+EKm8OSvtdeDtnLTNvS4RPZEDxKtZPY sNa3qO1e/Cui/iGIG627HSIODnBs3VPyrbk6AYxJfSqwikFTIGtxL+jqXAcLx+Qwfdn5QsksCdm 06WWP+G4ZORElbIlrdIMgQ9zt+WiPDZAJ4RwnnUkLGq/OzRZLhAQhHGikONtFNZPtnaHGxGjLeG /X2uq8ZXeQKRp966kF/Lrhq0ft5/EqSURDzpSqZONLwd99fEoKkfeeaiX8zA3GTdAF8H1GC4Ptj 58lL380grY0QT+AkAxyY7Gd0g/AERTPUgoIuy8pUzn2aMvqBOQ8D0Ru2b8OEuQpVkohlUsO/+IE lQAEiKm6hsTH3JtXiirLzaPMhyltSZ4GZzuLzPvs28nwRCHk0XTsfOdOglo5fTfG1WyJKxsCrI0 VHicCOZE652HzqERlEyH59dDpY2z6pV8TS1GkVjRr2mhlwFI4FMly3gGvyGEl0 X-Received: by 2002:a5d:5d83:0:b0:485:8c16:5eec with SMTP id ffacd0b85a97d-4858c166045mr3229425f8f.38.1788528213160; Fri, 04 Sep 2026 06:23:33 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 037/105] tests/tcg/multiarch: declare system tests Date: Fri, 4 Sep 2026 13:44:51 +0100 Message-ID: <20260904124604.2207440-38-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528305818158500 From: Pierrick Bouvier We now declare all multiarch system tests. Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-38-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/meson.build b/tests/tcg/multiarch/meson.bu= ild index 99af41b3fcc..508fdb585b7 100644 --- a/tests/tcg/multiarch/meson.build +++ b/tests/tcg/multiarch/meson.build @@ -1,3 +1,5 @@ +subdir('system') + tests =3D [] =20 float_helpers =3D files('libs/float_helpers.c')[0] diff --git a/tests/tcg/multiarch/system/meson.build b/tests/tcg/multiarch/s= ystem/meson.build new file mode 100644 index 00000000000..f71c12db38e --- /dev/null +++ b/tests/tcg/multiarch/system/meson.build @@ -0,0 +1,53 @@ +tests =3D [] + +# multiarch src path are written to be included from any other arch folder, +# so all arch can directly add those tests. +multiarch =3D meson.current_source_dir() + +tests +=3D { + multiarch/'hello.c': {}, + multiarch/'interrupt.c': {}, + multiarch/'memory.c': {}, +} + +tests +=3D { + multiarch/'memory.c': { + 'gdb_test': ['--test', files('../gdbstub/memory.py')] + }, + multiarch/'interrupt.c': { + 'gdb_test': ['--test', files('../gdbstub/interrupt.py')] + }, + multiarch/'hello.c': { + 'test_name': 'untimely-packet', + 'gdb_test': ['--gdb-args', '-ex \'set debug remote 1\'', + '--output', '/dev/stdout', + '--stderr', '/dev/stdout'], + 'wrapper': [prog_run_and_check_forbidden_output, + 'Packet instead of Ack, ignoring it'] + } +} + +tests +=3D { + multiarch/'memory.c': { + 'test_name': 'registers', + 'gdb_test': ['--test', files('../gdbstub/registers.py')] + } +} + +tests +=3D { + multiarch/'memory.c': { + 'test_name': 'memory-access', + 'plugin_test': { + 'plugin': 'mem', + 'args': ['region-summary=3Dtrue'], + }, + 'wrapper': [prog_check_plugin_output, + find_program('./validate-memory-counts.py')] + } +} + +tcg_tests +=3D { + 'multiarch-softmmu': { + 'tests': tests + } +} --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526137; cv=none; d=zohomail.com; s=zohoarc; b=lP77IrgQVyNnPRxB6YLytVh1YlRANcjWEt3VCLu+EkKHyQPPRdDOeQQsTNaanRGw7pSNQA4q+QwIUkEukZQ+mPzcRBzujpD0Xj2zTlSfb3MFR0lqFeMtRlNRGCt9PmSbQc4oCLgp8dPlSaPFM8ixDnxFDG30lgmV2k/dpo3pQKY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526137; 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=nUIcJrjFJ80wCZeo0bUeHBBQhirzWNDdtOPABszpkkA=; b=UQCjoLc0odYV7ll7sdpGJVQhXRnTOWpy+l5s2BQ9ohSwRzSZAmkreLFksnLzxS6WZtAqG8JwNflPqNwJaOnaqr+KGT4VUuv+HQsS7VgR2WJveYlaPxR6X2qHQBdqZv3xo25mGsOk1BpsN8DnKELAvWAyUSAOfLmEu8BJTAYtZXI= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526137219919.1244472186786; Fri, 4 Sep 2026 05:48:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJP-0006Cp-OC; Fri, 04 Sep 2026 08:46:31 -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 1x2TJH-00068f-5g for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJD-0006qt-FB for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:22 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-49b8687630fso8923635e9.3 for ; Fri, 04 Sep 2026 05:46:18 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee6024a8sm156765385e9.6.2026.09.04.05.46.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:17 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0C395618BA; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525978; x=1789130778; 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=nUIcJrjFJ80wCZeo0bUeHBBQhirzWNDdtOPABszpkkA=; b=h1r+KMTflS12OFpQWi6WzaBcO7m0fNlyUp1pIvIKiNcRuZKADcGboMUex3dBXhDS1P YFXOaKbAg+vu5eAwyb/I9p7myWtMLe/AWqJwGVreaDis4bOTjLKNOB1MDqhAV1N9t5Fs DrEVwiaXv9Mi0Gi6RK98MntS8TkchezwXdv6Thix1p1WmbuaKOCTAwEBwbCl9CfHvgi7 dSJ/lB9lcm98e8s96r9en1HfxFWpTonqOyzOkYQ0ea4wyLwdOg+kwE/rzID5C3BeVjFN Qh9BJjSDCnOzWk52uWMkKWXY90enBtQCj87lbh2tTp5n+VEcyh2SnAelF+Ma43H3lMHM 8FiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525978; x=1789130778; 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=nUIcJrjFJ80wCZeo0bUeHBBQhirzWNDdtOPABszpkkA=; b=on+kxGRrduaf+3YhqFOX8oZCbYYpqVLwvSQJQM5Q7oyEhLIxEX1QG05RMGUIqbxJsD aXWXsN2zYzyJfB1x34zgGWRwkhG3ysM+T++ejnspqr469nh3PFGlpSt9VbCJ2ralTrfO fl0yL1+xdfg3tU4OWkcMmdZeBhNDDFS6na7X7a2ClypDtF8KFHVSo7ayw+bmqWLCt/3Y nBDqJVpfa72xYtFH+natThJp4+StaHD0u9EbbGooiQEEqcH4zMURZ22A5O6hQgxbeeOG sQt/dA56Ef1bkeyghgXBBe2Wsp+wh0p0eVVpaIsv4yXOilqwNMRYHr1hZk9uw9DOt5kH aBZg== X-Gm-Message-State: AFuF++kTfrzXFTQKoFXGojYKrW/yhd6f+Z/e6JPPmNGlSptICeVhjOK8 obNGxXCFUV7p1PzF3emK6Jw8kxUNeicou4m6bNJ5L0rbSK27wIooGwSSZboF3yyYLio= X-Gm-Gg: AYBFou39WDrItH8NFYoaGO582hC64xZCH6wJaJs+dqMk5K1opnv91Dkd8Wrv4ALx803 aB90Gq2yTgxZdtsKNY0tm25agMNkbwoS7rSXI8mFhWOL96d8Aj3LSt0xct1YcD5ozuKthTMCItz jZH0CdwXP/4fuxIRAOODweOfBxOKwgaMeSWgpJ3yOQZ3YYsPnl65wTLQnbmEWJM0mJ5Xfrupex+ 5VJsZyqHCZqBJ/SZEZC7vYFIlCvVbq9ssb9XVwussiYQnAncjbpMnKD8mEJ2AOm+WfOfb5SSarE PGL3vijuJ73Kd/ZcOY8kNdf3EZiip2chTcaVAPdDUDkagHPt4zWAxV2Q9wuHPxEsViCV80wqXNa 1t63aS4+2hOiubDtajEOmQgdF9shZdH+VJdeg0dIdUka6CGRi9xEJgqHvXw+Z/VCedcgdI4ICQ5 NOektYf8qOImNtdjXA0+E/527XuaWj22Yau9daHYbB6jpe0rUcwfE+xvG+KPTE X-Received: by 2002:a05:600c:6819:b0:49c:de80:b833 with SMTP id 5b1f17b1804b1-49cf81fb1acmr58690195e9.2.1788525977863; Fri, 04 Sep 2026 05:46:17 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 038/105] tests/tcg/meson.build: add generic plugin tests Date: Fri, 4 Sep 2026 13:44:52 +0100 Message-ID: <20260904124604.2207440-39-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::334; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x334.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526138614154100 From: Pierrick Bouvier We add one test for each plugin by picking a different user and system multiarch test. Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-39-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 536def60b44..16292d4d7b0 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -90,6 +90,51 @@ subdir('plugins') # multiarch comes second, so it can be referenced by other arch after subdir('multiarch') =20 +# Generic Plugin tests +# add a single test for each plugin in user/system multiarch set +plugin_tests_exclude =3D ['patch'] +foreach target: ['multiarch-linux-user', 'multiarch-softmmu'] + plugin_tests =3D [] + tests =3D tcg_tests[target]['tests'] + normal_tests =3D [] + + # filter tests that are not plugin or gdb tests + foreach t: tests + foreach src, setup: t + if 'plugin_test' in setup or 'gdb_test' in setup + continue + endif + normal_tests +=3D {src: setup} + endforeach + endforeach + + idx =3D 0 + foreach plugin_name, _: test_plugins + if plugin_name in plugin_tests_exclude + continue + endif + + # pick one different test for each plugin + foreach src, setup: normal_tests[idx % normal_tests.length()] + # copy existing setup and remove existing cflags + new_setup =3D {} + foreach key, val: setup + if key =3D=3D 'cflags' + continue + endif + new_setup +=3D {key: val} + endforeach + new_setup +=3D {'plugin_test': {'plugin': plugin_name}} + plugin_tests +=3D {src: new_setup} + endforeach + + idx +=3D 1 + endforeach + + # replace list of tests with old and new ones + tcg_tests +=3D {target: {'tests': tests + plugin_tests}} +endforeach + image_targets =3D {} exe_targets =3D [] # Finally, we can create all test executables and test targets --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526229; cv=none; d=zohomail.com; s=zohoarc; b=Q8T2ujfBl3R5F8eQVMMheu3g2BLj+0pW+xqHz3jwrFDMmRrTF0hQ57Fa/DR/S3mtqunVy9sP14RqSbcSEv4Cr2auDOeP/rSJT0GhpdrVYcck1yZi6FW5wug8oN6/GilQAlGGtObQSOE391TF4grKnyDY4FqfH17UR3m/lMIq3us= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526229; 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=g5//nCM3pmvphFdrXdMpuw8XsMrA3mZsffpPB3jrr14=; b=bapLnZCRH3umbfhlJ1TLacXvC25KJts8G8g7lGqccP6IBCcBL4RpfoNf5sdqtxFmCuMOIIpWV3pyqX+0FMYpa/VZs39jOnNsvzw7GYXYFDrE7JA1xxr8GI8VqCZG5OiX3kcPHhOPFVsrUcfiC+gdDYUxld/Bprqtice8Bl3zxDc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526226191983.2542314257441; Fri, 4 Sep 2026 05:50:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJN-0006Bw-1G; Fri, 04 Sep 2026 08:46:29 -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 1x2TJH-00069I-TN for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:25 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJE-0006rC-UB for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:23 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-485888b3c3dso872050f8f.2 for ; Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858ac2b4cdsm4587385f8f.16.2026.09.04.05.46.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:18 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 262EE618C3; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525979; x=1789130779; 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=g5//nCM3pmvphFdrXdMpuw8XsMrA3mZsffpPB3jrr14=; b=H+4gA4W9QErtVPR1BZuVe8G4qm4gv8nDf6B0wu+dXBGQl2vaWWZ7fyBC3O7b7qqKL4 mMEDkRQYxBE5qYNztJxvWYXzcChNpnYeT1T62/KDTAhHLHdd4aDTzuw6UPe37911dqaO tUmAajDMWrnUAlDZtevi794bS/yb6UCxt2mL5kgFKGdsfdi+Umce+aC/n2kdxxh26Bfc USwAAgM9BaZC1LbKmFqHro6ns4KRmgL+h5N1xqxTcjGrV7tPtlONeEKRhdDrc/gCpYze mzAi6htYTBNhhg0g6rlXKYx9Zsi5K9Dk7p2ac+I8/aIgfplSfaKA1pqCQ99SblY1Tplh V8kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525979; x=1789130779; 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=g5//nCM3pmvphFdrXdMpuw8XsMrA3mZsffpPB3jrr14=; b=an7Sj9kLS8ErQA3zm9q1EzPBQ0pG1WCz9OwGj8ZWLJwI/n/TXq5c+5Sn+Hc0XxJxYk qlzup6tZgN47unV/gt0V8fnDd2y3VMwjUDFEsxMOPvSYM3gRQOhjnYnwGmCO6KIdYKPV KGJTbkbFFOuu2SWmEkkXA75hMhb8otZC2O9kqIWiO3qFA5jSOPMZfa8JC1Aa7riM6hve oRrWRwAZRxQJGaCLqqUGrkqcJRk18xYZueM9yBn8mYY7hfSs5WN+eDnKkExI9boS6LqI Fj0jxt5J+yWwtaDJbckftJIBzZsclBbYcd1OprFz3JB6LBoTVMmEKMLgguzFpoUcPVGM vCYQ== X-Gm-Message-State: AFuF++kt/iM9pJP6XWEPucLvgIjUW5V/qanDhfI8BJfcZAVZkT6sHjHW u1Zvpf5du7jnAPANiTRqcCtnA5g1ri2gpPs3DoMzUFqzgUbvDPotqawlH1F6qkXfHls= X-Gm-Gg: AYBFou2hdSCJamD2osBIXacXXiJu/x8IZhERtie0h6Sg/kPWuqvfyVxqhE9k2djbDbH yonD5AxpDy2iJ2Fl8AMzEnPFqv5eLFGkZuoUFD13eW24qZdCSD1OeTfcsTtFRMYG9g0Cz1zrjKE dq4EWAzrnM0u8XBza4gtLl/eUIrX51aGK0OtKy2iZfN3kR8+yUBjkaIsim08xAor/3p3Rab7ZzE eflBOSQ/TDXD4chij8dFnv1J0oDxVszBJ6YrCrRFuiejxrjK0efCKgRNHb33JqTGhuRIkXRBHLt uWDB80ghkJqSCJBBEvqiciaIR+10tPwR8hY7lsmF0yAyab3DUY9ldOg7DNK2Vdz+Qe21vMFW4fx sEuDbHoDhHJXybcxNUFDca/KLnMFBNC3UF6u7niKVYZrrqmDeIYAjeQgnH9b2+WAtfXhUtQxesa QfGMas5eyeKm7fcNVLSwMLVnSx4B4lXsG9V4EuVOy3D/Adn2dKnbq+wokHIITK X-Received: by 2002:a05:6000:46c7:b0:485:847f:fd97 with SMTP id ffacd0b85a97d-485870914ccmr6111641f8f.4.1788525978818; Fri, 04 Sep 2026 05:46:18 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 039/105] tests/tcg/arm/fcvt.c: use raw opcode for FPRCVT Date: Fri, 4 Sep 2026 13:44:53 +0100 Message-ID: <20260904124604.2207440-40-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42e; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526233263154100 From: Pierrick Bouvier fcvtzs d0,s31 requires fprcvt support in compiler, which is only available from gcc-16. Since our debian-all-test-cross container has gcc-aarch64-14, this test will never run in CI. Replace the concerned instruction with raw opcode, obtained from: $ echo "fcvtzs d0, s31" | llvm-mc-22 -triple=3Daarch64 -mattr=3Dfprcvt --sh= ow-encoding fcvtzs d0, s31 // encoding: [0xe0,0x03,0x36,0x9e] Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Alex Benn=C3=A9e Message-ID: <20260827221506.91574-40-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/arm/fcvt.c b/tests/tcg/arm/fcvt.c index 7c0cc4367e7..8c81ba8a1bc 100644 --- a/tests/tcg/arm/fcvt.c +++ b/tests/tcg/arm/fcvt.c @@ -173,9 +173,11 @@ static void convert_single_to_integer(void) output =3D input; #else #ifdef FPRCVT - asm("fcvtzs d0, %s1\r\n" + asm("fmov s31, %s1\n\t" + /* "fcvtzs d0, s31\n\t" */ + ".byte 0xe0,0x03,0x36,0x9e\n\t" "fmov %0, d0" : - "=3Dr" (output) : "w" (input)); + "=3Dr" (output) : "w" (input) : "s31", "d0"); #else asm("fcvtzs %0, %s1" : "=3Dr" (output) : "w" (input)); #endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526492; cv=none; d=zohomail.com; s=zohoarc; b=eXaLLVnE4Qy8BfuJqosWhLewNQGtB+Eo0lhHtrhjPdRouaAVC0jNEI1+kxhiACDmdRkY+idH3a4xL22gpISx8nFaSt4RP3VATTumb6rVolMzbuRI2as9g482ewZ8DlplA1uaLL+6yS2epz+g2ysoTk4TxG4Xh8Wh+nB/26a47zY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526492; 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=WBNqG4GybkncYnaDkTwXM8xIq45fyGnwWtOxupKElFs=; b=bcYr5s8aaMIoPQ+Tm81YULeegsdYqe/jJL30N0teU/7cOi1RrT2S6MHT5HNqxiA7gqOXPn1bp+Q1IUkBjwKLo1Nw2JCGdXEqDkOtdjGUjrVZVM3Aq3y1TrwlWCVP/b/JuO+e7onbFp2apkoZisbru8EWy6zR+xcyt6UnQAfJmc0= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526492214798.3926214726162; Fri, 4 Sep 2026 05:54:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQT-0001n6-GS; Fri, 04 Sep 2026 08:53:49 -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 1x2TQR-0001lU-L4 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:47 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQP-0000lJ-09 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:47 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49cd77e0f95so8552185e9.3 for ; Fri, 04 Sep 2026 05:53:44 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf755c22esm68796225e9.0.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:36 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3FD30618D2; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526423; x=1789131223; 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=WBNqG4GybkncYnaDkTwXM8xIq45fyGnwWtOxupKElFs=; b=dOdf7tCLTZac4sB7e4ARjDE6ZYnmm2z/5pQPuj8UO4vRpnTMm9MPI2iy/EhYIPvO8t gTbVReZSpNOejs1bmUl8nlzoO3SWRU4ZOAgi3v3/4LNx/ZuX2pLTtnyIIy4oh/QchjCE qtuDxu53Epg3WZCY/eBJbc+Dmb/4FS4m1udLhd6KEp2wF9frwimyfL4eJvKe17u8IdC1 N9i0hT++gNSdUk4Saby7s4DW/rWhwxmJQByj6i8/587AM5LSRaRBpewQVmXbhgBBkCCg iaMCufJTD48dh5qGf61OOQ7A7OM64vYLQl823BxVXJRmj5KYsdltRkrcY5GIXoqmPixd BvoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526423; x=1789131223; 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=WBNqG4GybkncYnaDkTwXM8xIq45fyGnwWtOxupKElFs=; b=VW1fVd2bXAF2y6uYOlz6izKQreQ63ohqa/NPj66eN7zjHcz8+EAXgsZFNWjnCzTWJg AtNUMNBvBsTz1nyOrZpYdZsNhzMOYkbd3y9e4EUt1AZby7uNfhC8kHfyhximG65wHduy dkfClH+yDb0nJs8bJlPMmGaefX4ycE1iWySMMfdSWF2JyLEdFe8qy/wUh2VpgJ4PD9Hs kqXUR+JSzx0IlQcuohEtvo8N8/5LS0Am3tg59X841ARO7ZBdtTLeqzzsPu9j8aS7U7ZT B4PiwmDz0mWbHlze09lvGd+b5YytYGpZhgrtdpkFoWKb1+KA2rE9vWuC7FTp7vjZ6WY2 AHHA== X-Gm-Message-State: AFuF++m7MLBBWpkGvpE2XM6aYK19ntZSsLN22H4VvuD85pUKuD2vaPy5 L1mhoCA1yLvS2UPTLmPyLF5z4BYjIqJm8gYo498oYZFfTWHEiuAdYFTXCxtdJzXp5EjpSWcpOhu FFWj+p4Q= X-Gm-Gg: AYBFou1wiwp9jz3FhKTM0n+60EQqiPoVQW7UCN+u3xHtEMyx3vk9wOUoNzT1Me6QfI5 Uzzj8tI1KbGDIiNwd9gG43vEiNn0rOP8IPTQPcodl7eGrHfnEjn7GTZnJN0nf8Ay32fHhIiZX+1 QX9WewyDt6X/Qdk6/3SPAVTe1d0QyCiSGFugp6Wrp5ccUp8zhywJcxGp9sO1YDHjCbEhF/XzvL3 ZJbD0hOTlBf1G5nXD6t9eL4L5EUafDzM/5D4DqO2+Af7YG1pIAi/XUBsum8xJoODMeF0+UQv0Qu 4ddXvkd88jEUiTqdrbY6WuUUKBNQMCK0+bD9USs24xiW/IrkAY0te/lbSALJeusAYMPGa0YbvRQ q96iDkflac894dNY+Xq+eBeJCS2VU5wTpRXICGaDXmiEuEQgq8jOZTsCvjlwuP8+HVxj2gBU2x7 zztOPiJctjY1MtaD5AhdfrMb6gsQ+VzR6sYNUx9/DInqMgQWn9kvosBIQDqaCQHW7x5oPdTVE= X-Received: by 2002:a05:600c:310d:b0:49c:dc14:d681 with SMTP id 5b1f17b1804b1-49cf81e5449mr61041005e9.3.1788526420223; Fri, 04 Sep 2026 05:53:40 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 040/105] tests/tcg/aarch64: user tests Date: Fri, 4 Sep 2026 13:44:54 +0100 Message-ID: <20260904124604.2207440-41-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526493560158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-41-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile= .target deleted file mode 100644 index 6cc81bf854f..00000000000 --- a/tests/tcg/aarch64/Makefile.target +++ /dev/null @@ -1,211 +0,0 @@ -# -*- Mode: makefile -*- -# -# AArch64 specific tweaks - -ARM_SRC=3D$(SRC_PATH)/tests/tcg/arm -VPATH +=3D $(ARM_SRC) - -AARCH64_SRC=3D$(SRC_PATH)/tests/tcg/aarch64 -VPATH +=3D $(AARCH64_SRC) - -# Base architecture tests -AARCH64_TESTS=3Dfcvt pcalign-a64 lse2-fault -AARCH64_TESTS +=3D test-2248 test-2150 - -fcvt: LDFLAGS+=3D-lm - -run-fcvt: fcvt - $(call run-test,$<,$(QEMU) $<) - $(call diff-out,$<,$(AARCH64_SRC)/fcvt.ref) - -config-cc.mak: Makefile - $(quiet-@)( \ - fnia=3D`$(call cc-test,-fno-integrated-as) && echo -fno-integrated-as= `; \ - $(call cc-option,-march=3Darmv8.1-a+sve, CROSS_CC_HAS_SVE); \ - $(call cc-option,-march=3Darmv8.1-a+sve2, CROSS_CC_HAS_SVE2);= \ - $(call cc-option,-march=3Darmv8.2-a, CROSS_CC_HAS_ARMV8_= 2); \ - $(call cc-option,-march=3Darmv8.3-a, CROSS_CC_HAS_ARMV8_= 3); \ - $(call cc-option,-march=3Darmv8.5-a, CROSS_CC_HAS_ARMV8_= 5); \ - $(call cc-option,-mbranch-protection=3Dstandard, CROSS_CC_HAS_ARMV8_= BTI); \ - $(call cc-option,-march=3Darmv8.5-a+memtag, CROSS_CC_HAS_ARMV8_= MTE); \ - $(call cc-option,-Wa$(COMMA)-march=3Darmv9-a+sme $$fnia, CROSS_AS_HAS= _ARMV9_SME); \ - $(call cc-option,-march=3Darmv9-a+fprcvt, CROSS_CC_HAS_ARMV9_= FPRCVT)) 3> config-cc.mak --include config-cc.mak - -ifneq ($(CROSS_CC_HAS_ARMV9_FPRCVT),) -AARCH64_TESTS +=3D fcvt-fprcvt -fcvt-fprcvt: LDFLAGS +=3D -lm -fcvt-fprcvt: CFLAGS +=3D $(CROSS_CC_HAS_ARMV9_FPRCVT) -DFPRCVT -fcvt-fprcvt: fcvt.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) -run-fcvt-fprcvt: fcvt-fprcvt - $(call run-test,$<,$(QEMU) $<) - $(call diff-out,$<,$(AARCH64_SRC)/fcvt.ref) -endif - -ifneq ($(CROSS_CC_HAS_ARMV8_2),) -AARCH64_TESTS +=3D dcpop -dcpop: CFLAGS +=3D $(CROSS_CC_HAS_ARMV8_2) -endif -ifneq ($(CROSS_CC_HAS_ARMV8_5),) -AARCH64_TESTS +=3D dcpodp -dcpodp: CFLAGS +=3D $(CROSS_CC_HAS_ARMV8_5) -endif - -# Pauth Tests -ifneq ($(CROSS_CC_HAS_ARMV8_3),) -AARCH64_TESTS +=3D pauth-1 pauth-2 pauth-4 pauth-5 test-2375 -pauth-%: CFLAGS +=3D $(CROSS_CC_HAS_ARMV8_3) -test-2375: CFLAGS +=3D -march=3Darmv8.3-a -run-pauth-1: QEMU_OPTS +=3D -cpu max -run-pauth-2: QEMU_OPTS +=3D -cpu max -# Choose a cpu with FEAT_Pauth but without FEAT_FPAC for pauth-[45]. -run-pauth-4: QEMU_OPTS +=3D -cpu neoverse-v1 -run-pauth-5: QEMU_OPTS +=3D -cpu neoverse-v1 -endif - -# BTI Tests -# bti-1 tests the elf notes, so we require special compiler support. -ifneq ($(CROSS_CC_HAS_ARMV8_BTI),) -AARCH64_TESTS +=3D bti-1 bti-3 -bti-1 bti-3: CFLAGS +=3D -fno-stack-protector $(CROSS_CC_HAS_ARMV8_BTI) -bti-1 bti-3: LDFLAGS +=3D -nostdlib -endif -# bti-2 tests PROT_BTI, so no special compiler support required. -AARCH64_TESTS +=3D bti-2 - -# MTE Tests -ifneq ($(CROSS_CC_HAS_ARMV8_MTE),) -AARCH64_TESTS +=3D mte-1 mte-2 mte-3 mte-4 mte-5 mte-6 mte-7 mte-8 mte-9 m= te-10 -mte-%: CFLAGS +=3D $(CROSS_CC_HAS_ARMV8_MTE) -endif - -# SME Tests -ifneq ($(CROSS_AS_HAS_ARMV9_SME),) -SME_TESTS =3D sme-outprod1 sme-smopa-1 sme-smopa-2 sme-fmopa-1 sme-fmopa-2= sme-fmopa-3 -AARCH64_TESTS +=3D $(SME_TESTS) -$(SME_TESTS): CFLAGS +=3D $(CROSS_AS_HAS_ARMV9_SME) -endif - -# GCS Tests -GCS_TESTS +=3D gcsstr gcspushm gcsss -AARCH64_TESTS +=3D $(GCS_TESTS) -$(GCS_TESTS): gcs.h - -# System Registers Tests -AARCH64_TESTS +=3D sysregs - -AARCH64_TESTS +=3D test-aes -test-aes: CFLAGS +=3D -O -march=3Darmv8-a+aes -test-aes: test-aes-main.c.inc - -# Vector SHA1 -# Work around compiler false-positive warning, as we do for the 'sha1' test -sha1-vector: CFLAGS=3D-O3 -Wno-stringop-overread -sha1-vector: sha1.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) -run-sha1-vector: sha1-vector run-sha1 - $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) - $(call diff-out, sha1-vector, sha1.out) - -TESTS +=3D sha1-vector - -# Vector versions of sha512 (-O3 triggers vectorisation) -sha512-vector: CFLAGS=3D-O3 -sha512-vector: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -TESTS +=3D sha512-vector - -ifneq ($(CROSS_CC_HAS_SVE),) -# SVE ioctl test -AARCH64_TESTS +=3D sve-ioctls -sve-ioctls: CFLAGS +=3D $(CROSS_CC_HAS_SVE) - -sha512-sve: CFLAGS=3D-O3 -march=3Darmv8.1-a+sve -sha512-sve: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -sve-str: CFLAGS=3D-O1 -march=3Darmv8.1-a+sve -sve-str: sve-str.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -TESTS +=3D sha512-sve sve-str - -ifneq ($(GDB),) -GDB_SCRIPT=3D$(SRC_PATH)/tests/guest-debug/run-test.py - -run-gdbstub-sysregs: sysregs - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-sve.py, \ - basic gdbstub SVE support) - -run-gdbstub-sve-ioctls: sve-ioctls - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-sve-ioctl.py, \ - basic gdbstub SVE ZLEN support) - -EXTRA_RUNS +=3D run-gdbstub-sysregs run-gdbstub-sve-ioctls - -ifneq ($(CROSS_AS_HAS_ARMV9_SME),) -# SME gdbstub tests - -run-gdbstub-sysregs-sme: sysregs - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-sme.py \ - -- test_sme --gdb_basic_za_test, \ - basic gdbstub SME support) - -ifeq ($(GDB_HAS_SME_TILES),y) -run-gdbstub-sysregs-sme-tile-slice: sysregs - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-sme.py \ - -- test_sme --gdb_tile_slice_test, \ - gdbstub SME ZA tile slice support) -else -run-gdbstub-sysregs-sme-tile-slice: sysregs - $(call skip-test,"gdbstub SME ZA tile slice support", \ - "selected gdb ($(GDB)) does not support SME ZA tile slices") -endif - -run-gdbstub-sysregs-sme2: sysregs - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-sme2.py, \ - gdbstub SME ZA tile slice support) - -EXTRA_RUNS +=3D run-gdbstub-sysregs-sme run-gdbstub-sysregs-sme-tile-slice= run-gdbstub-sysregs-sme2 - -endif - -ifeq ($(GDB_HAS_MTE),y) -run-gdbstub-mte: mte-8 - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-mte.py \ - -- --mode=3Duser, \ - gdbstub MTE support) - -EXTRA_RUNS +=3D run-gdbstub-mte -endif - -endif -endif - -ifneq ($(CROSS_CC_HAS_SVE2),) -SVE2_TESTS =3D test-826 sve-while-ptr -$(SVE2_TESTS): CFLAGS +=3D $(CROSS_CC_HAS_SVE2) -AARCH64_TESTS +=3D $(SVE2_TESTS) -endif - -TESTS +=3D $(AARCH64_TESTS) diff --git a/tests/tcg/aarch64/meson.build b/tests/tcg/aarch64/meson.build new file mode 100644 index 00000000000..9ec8df169d5 --- /dev/null +++ b/tests/tcg/aarch64/meson.build @@ -0,0 +1,208 @@ +cc =3D 'aarch64-linux-gnu-gcc' +cc_dockerfile =3D 'debian-all-test-cross' +cc_docker_host_arch =3D ['aarch64', 'x86_64'] + +cc_feat_cflags =3D { + 'aes': '-march=3Darmv8-a+aes', + 'sve': '-march=3Darmv8.1-a+sve', + 'sve2': '-march=3Darmv8.1-a+sve2', + 'v8.2': '-march=3Darmv8.2-a', + 'v8.3': '-march=3Darmv8.3-a', + 'v8.5': '-march=3Darmv8.5-a', + 'bti': '-mbranch-protection=3Dstandard', + 'mte': '-march=3Darmv8.5-a+memtag', + 'sme': '-Wa,-march=3Darmv9-a+sme', + 'fprcvt': '-march=3Darmv9-a+fprcvt', +} + +gdb_feat_version =3D { + 'sme-tiles': '14.1', + 'mte': '15.1', + 'mte-baremetal': '16.0', +} + +tests =3D [] + +# Multi arch tests +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +# Base architecture tests +tests +=3D { + '../arm/fcvt.c': {'cflags': '-lm', 'expected_output': 'fcvt.ref'}, + 'pcalign-a64.c': {}, + 'lse2-fault.c': {}, + 'test-2248.c': {}, + 'test-2150.c': {}, +} + +tests +=3D {'dcpop.c': {'cc_feat': 'v8.2'}} +tests +=3D {'dcpodp.c': {'cc_feat': 'v8.5'}} + +# Pauth Tests +cpu_max =3D ['-cpu', 'max'] +cpu_neoverse =3D ['-cpu', 'neoverse-v1'] +tests +=3D { + 'test-2375.c': {'cc_feat': 'v8.3'}, + 'pauth-1.c': {'cc_feat': 'v8.3', 'qemu_args': cpu_max}, + 'pauth-2.c': {'cc_feat': 'v8.3', 'qemu_args': cpu_max}, + # Choose a cpu with FEAT_Pauth but without FEAT_FPAC for pauth-[45]. + 'pauth-4.c': {'cc_feat': 'v8.3', 'qemu_args': cpu_neoverse}, + 'pauth-5.c': {'cc_feat': 'v8.3', 'qemu_args': cpu_neoverse}, +} + +# BTI Tests +# bti-1 tests the elf notes, so we require special compiler support. +f =3D ['-fno-stack-protector', '-nostdlib'] +tests +=3D { + 'bti-1.c': {'cc_feat': 'bti', 'cflags': f}, + 'bti-3.c': {'cc_feat': 'bti', 'cflags': f}, +} +# bti-2 tests PROT_BTI, so no special compiler support required. +tests +=3D {'bti-2.c': {}} + +# MTE Tests +tests +=3D { + 'mte-1.c': {'cc_feat': 'mte'}, + 'mte-2.c': {'cc_feat': 'mte'}, + 'mte-3.c': {'cc_feat': 'mte'}, + 'mte-4.c': {'cc_feat': 'mte'}, + 'mte-5.c': {'cc_feat': 'mte'}, + 'mte-6.c': {'cc_feat': 'mte'}, + 'mte-7.c': {'cc_feat': 'mte'}, + 'mte-8.c': {'cc_feat': 'mte'}, + 'mte-9.c': {'cc_feat': 'mte'}, + 'mte-10.c': {'cc_feat': 'mte'}, +} +tests +=3D { + 'mte-8.c': { + 'gdb_test': ['--test', files('gdbstub/test-mte.py'), '--', '--mode=3Du= ser'], + 'gdb_feat': 'mte', + } +} + +# SME Tests +tests +=3D { + 'sme-outprod1.c': {'cc_feat': 'sme'}, + 'sme-smopa-1.c': {'cc_feat': 'sme'}, + 'sme-smopa-2.c': {'cc_feat': 'sme'}, + 'sme-fmopa-1.c': {'cc_feat': 'sme'}, + 'sme-fmopa-2.c': {'cc_feat': 'sme'}, + 'sme-fmopa-3.c': {'cc_feat': 'sme'}, +} +sysregs_sme =3D 'sysregs-sme' +tests +=3D { + 'sysregs.c': { + 'exe_name': sysregs_sme, + 'cc_feat': 'sme', + 'gdb_test': ['--test', files('gdbstub/test-sme.py'), '--', + 'test_sme', '--gdb_basic_za_test'], + } +} +tests +=3D { + 'sysregs.c': { + 'test_name': 'sysregs-sme-tile-slice', + 'exe_name': sysregs_sme, + 'gdb_test': ['--test', files('gdbstub/test-sme.py'), '--', + 'test_sme', '--gdb_tile_slice_test'], + 'gdb_feat': 'sme-tiles', + } +} +tests +=3D { + 'sysregs.c': { + 'test_name': 'sysregs-sme2', + 'exe_name': sysregs_sme, + 'gdb_test': ['--test', files('gdbstub/test-sme2.py')], + } +} + +# GCS Tests +tests +=3D { + 'gcsstr.c': {}, + 'gcspushm.c': {}, + 'gcsss.c': {}, +} + +# System Registers Tests +tests +=3D {'sysregs.c': {}} + +# Crypto Tests +tests +=3D {'test-aes.c': {'cc_feat': 'aes'}} + +# Vector SHA1 +# Work around compiler false-positive warning, as we do for the 'sha1' test +tests +=3D {'../multiarch/sha1.c': { + 'exe_name': 'sha1-vector', + 'cflags': ['-O3', '-Wno-stringop-overread'], + 'expected_output': '../multiarch/sha1.ref', + }} + +# Vector versions of sha512 (-O3 triggers vectorisation) +tests +=3D {'../multiarch/sha512.c': { + 'exe_name': 'sha512-vector', + 'cflags': ['-O3'], + }} + +# SVE Tests +tests +=3D { + 'sve-ioctls.c': {'cc_feat': 'sve'}, + '../multiarch/sha512.c': { + 'exe_name': 'sha512-sve', + 'cc_feat': 'sve', + }, + 'sve-str.c': {'cc_feat': 'sve', 'cflags': ['-O1']}, +} +tests +=3D { + 'sysregs.c': { + 'exe_name': 'sysregs-sve', + 'cc_feat': 'sve', + 'gdb_test': ['--test', files('gdbstub/test-sve.py')], + }, + 'sve-ioctls.c': { + 'gdb_test': ['--test', files('gdbstub/test-sve-ioctl.py')], + }, +} + +# SVE2 Tests +tests +=3D { + 'test-826.c': {'cc_feat': 'sve2'}, + 'sve-while-ptr.c': {'cc_feat': 'sve2'}, +} + +# FPRCVT test +tests +=3D { + '../arm/fcvt.c': { + 'exe_name': 'fcvt-fprcvt', + 'cflags': ['-DFPRCVT', '-lm'], + # fprcvt is available only from gcc-16. + # Use raw opcode until it's available in cross container. + # 'cc_feat': 'fprcvt', + 'expected_output': 'fcvt.ref'}, +} + +# Semihosting tests +# Add -I path for semicall.h +semihosting_cflags =3D ['-I', meson.current_source_dir()] + +tests +=3D { + '../multiarch/arm-compat-semi/semiconsole.c': { + 'cflags': semihosting_cflags, + 'wrapper': [prog_run_with_input, 'X'], + }, + '../multiarch/arm-compat-semi/semihosting.c': {'cflags': semihosting_cfl= ags}, +} + +if 'qemu-aarch64' in emulators + tcg_tests +=3D { + 'aarch64-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'aarch64', + 'gdb_arch': 'aarch64', + 'gdb_feat_version': gdb_feat_version, + 'qemu': emulators['qemu-aarch64'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 16292d4d7b0..76d7dbe045b 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -135,6 +135,9 @@ foreach target: ['multiarch-linux-user', 'multiarch-sof= tmmu'] tcg_tests +=3D {target: {'tests': tests + plugin_tests}} endforeach =20 +# Now let's go through all architectures +subdir('aarch64') + image_targets =3D {} exe_targets =3D [] # Finally, we can create all test executables and test targets --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526087; cv=none; d=zohomail.com; s=zohoarc; b=DpENs35vGMlD6+tkxCdPezkHjc+zZc2hIyl6yb/RSaIZ2f2jKSa9Q+NdQyEU00FccC7CNDFPGhQIrWdhOUPX8OgxQ0Kwhu2d58McGGtq3oDf27isbmFJpgcG7OgUyx31xDbln9e2Yciw4gu1wtDFKz3uKiwtPszP6GLZPGA2Ne0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526087; 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=Bfljn+s2Wnq05dseDvNEV2VlwDUR1SUHuwTQSSUXeOU=; b=EVLa7JbQqbqMGCtPxg6EwwHnl6l47wue+/qMeIkTTkwqOLroWGO7pGwwLi13a2CxTNpojgctbWmLI6kfTbK3aaT18aQtOexlM0zh50+0xF4Dk17QH0a7aXsf+kWBMOc59q4X+pMqPGxZFa85IWyToRy7YV6vm34EDZ+200ez+xE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852608718049.080342579494754; Fri, 4 Sep 2026 05:48:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJO-0006CG-2F; Fri, 04 Sep 2026 08:46:30 -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 1x2TJK-0006Aq-HP for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:26 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJH-0006tJ-0f for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:26 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-499ac87c92bso10671715e9.1 for ; Fri, 04 Sep 2026 05:46:22 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7710aa5sm68090895e9.7.2026.09.04.05.46.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 55F8B618D5; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525981; x=1789130781; 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=Bfljn+s2Wnq05dseDvNEV2VlwDUR1SUHuwTQSSUXeOU=; b=aYtDPtRCf+fziNiGccN0+e3mLlWrf9/jV9+m5vNy8rFtwGAcrevrW+DQFTpi2X/VpL 5lgbYBkMenKxluHx0omE/GHo+1mMSJhJHQfI0wufiCL+Bu/pxdv3nxxAcG2lFH4b6NRj tlsBs4NGETDWjxkhf2e0Zkzovr+v8pRcM/kncgTRPMd0FWV5ovr/rBDAYJMk81DH66GQ uVNUh+nwqZSa74VCJIMBJNz2N8sHpRmt0iIcGw82bCUQ7RsY4B1rzZ0mmaeYFAx9IVZk 6J+nKuGQBJtqJ32pnCJWi7tXCCOcIXB87cLfXA1BdDpLB6W6Rxg0tymsc/9Om7ey38Lr cahQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525981; x=1789130781; 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=Bfljn+s2Wnq05dseDvNEV2VlwDUR1SUHuwTQSSUXeOU=; b=CS8RRXQIM8TMrFjtsrhvswi9jjIuGY2igspsxyTKSD2rPH7ZC1kmpem9X09HpnC0CE XhcHazP8TdC7mVM3Yjwr6rqeVXsvW5MT9fnnJdR7g+gEUKTY3YL7G+LqDXNnLfKOnTJa iXucoMFLaqLiYKFz9twvcOcSCjj3s7gDIbzaSULwh1+Gpf+O9JehHcCCVcK0FSvSXJW9 lyBPRYRValEUvlXc8r0waUrbX501rwq1NQDJGsuoMW1Q+/QlwqczV/wk/Gp21sDajFik 1ceMaeWuPmaIfL/wkTOXuxSVzw/k0IK0yba69rNagZ2wBlJn86vd4ZRdfpGW4SNkssp3 RCNg== X-Gm-Message-State: AFuF++lPOZO7c0nzMLcEOZj6tIUV40mazUtUtnJ6ReaZYK6Txtme5zSV culutkNdMtLHlXd4Cx4FqpzGVp9XFO2rNw2vCLf5j7woPbPGFI0a6RnvnjT8152hORk= X-Gm-Gg: AYBFou0Ks9ENMbQ8ml7hTazoMl6EsaUZ5f9B/vTknr2i6VYmDosfB5g1qe/iOIuAxlU +SadTpdlPBNaEtlwKpbaMo3pAdpLBCdjTSbpngQ5CaqH0nKW2wHsRk/yWm0zZiXGRcCif05Zp2Z OFXLVyrK4W3yrJcFhegsltk6My9lN9lItdcmpVUFzBupyzK3B5JPm8E/HQSEVf0uNKjo5stQXi7 eiUyvyrnTXzevfZkVID/+2xL0Nge3/laVyaxhLbIZQj+fLahOLMOyACBrxclyGr+u/SeMIsoGDa qrnAh2KFZJ9Z4uGq/RYWExhVRW9SBUbv07Y20KhwvMfvOii6SKNghw0boH0gIvvyH5cxWdgAMST XgqTUJMIYEKdtbxptq2Bbtqfco0+rnStpHk7sXG5OOAAd83I8QVn4vfJOwSWbkZAIrYiDmZLQjx dKkKE2MPc+naRG4qJyZDIVpsIuRmHTAAPPCJFc0by4WF4eyiMvE7++GjEECDzA9NxdXUArUU0= X-Received: by 2002:a05:600c:6383:b0:49c:f4ff:e872 with SMTP id 5b1f17b1804b1-49cf820507cmr56993755e9.5.1788525981558; Fri, 04 Sep 2026 05:46:21 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 041/105] tests/tcg/aarch64/system/gpc-test.c: remove unused variables Date: Fri, 4 Sep 2026 13:44:55 +0100 Message-ID: <20260904124604.2207440-42-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788526087937154100 From: Pierrick Bouvier Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-42-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/aarch64/system/gpc-test.c b/tests/tcg/aarch64/system= /gpc-test.c index f26b23efafe..0ce0ffea277 100644 --- a/tests/tcg/aarch64/system/gpc-test.c +++ b/tests/tcg/aarch64/system/gpc-test.c @@ -28,7 +28,6 @@ const uint32_t gpis_per_64_bits =3D 16; =20 int main(uint64_t sp) { - uint64_t out; uint64_t pfr0; uint64_t gpt_base; uint64_t rme_status; @@ -38,10 +37,6 @@ int main(uint64_t sp) uint64_t gpt_table0_addr =3D (uint64_t) realms_gpt0; uint64_t gpt_table1_addr =3D (uint64_t) realms_gpt1; =20 - /* Mask is FNG1, FNG0, and A2 */ - const uint64_t feature_mask =3D (1ULL << 18 | 1ULL << 17 | 1ULL << 16); - const uint64_t in =3D feature_mask; - get_sys_reg("CurrentEL", currentel_raw); currentel =3D (currentel_raw >> 2) & 0x3; =20 --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527188; cv=none; d=zohomail.com; s=zohoarc; b=LMDfZJ3GADqdd1BpJkivSVyaAGuDVFgC2z2eFwv6ug9q0zs4YVMTD9dDbRYvDXrJ55hS7LmjWBefOfOUCN7TUrXYJUG17+c5eiT3w5yeGfzBjNY6gzPzz7Z2Ss1j0UAgXniOUC1MhNW5HVSaRYvpaPmv7N3P6mAbXT09+jk40Jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527188; 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=WucCoEbwOaJ6yFrDTrkuFcra5z9cb0XgU8deFVQYTuI=; b=Sbow634KKUxr899T+WbUEjcNHIEkglqZh951XtDlB4LT3iVk1TNLXd+U8mQxIs31w7bBlWulB/+otPdYHRCN5bmi2c0uGI71CBe5Qh0t96NB3oh/Me57qMTODlP1hkEi5ItuhUAyuDM5swiIwLs5G6F6ZA0N+oivQUhl+kx77tQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527188464821.7969152218294; Fri, 4 Sep 2026 06:06:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tb5-0000Fs-QS; Fri, 04 Sep 2026 09:04:47 -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 1x2Ta8-0006VL-JM for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:51 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZz-000398-59 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:47 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-495437bb891so7388495e9.1 for ; Fri, 04 Sep 2026 06:03:36 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf755c22esm69452665e9.0.2026.09.04.06.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6FD515FFE5; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527016; x=1789131816; 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=WucCoEbwOaJ6yFrDTrkuFcra5z9cb0XgU8deFVQYTuI=; b=zMgnoR2E0dPnZusXP+l4YNTuGTbaBIIvLPSzCvoJX/dyjj8iXqfmAbaSK8vVXxYN9F aufNcdJOnI9ZKUeotdAV2Fq5UEt60AGFGnep5eUlCgfbLf9WyDLyNjjaxRJHAfN2pH6Z RmqclavLGKiaoi5bQ8lu5+E8AkM16HIvK4fuuy6PAKr0595Tk94v7lhg5x/eBVJ8aeHl b6pq1HILIdm71J/AgIsum+njRFUFr/4ZlZcxAFbD5KP0cFhG68wJc7jhoIWuV1zZJZRW iPe+ULxT61hFdW4yIULSmW9Wdw2VW6p2UJqnM9IssGthypK8inTLBP47AjHZsQtQgsM/ OPHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527016; x=1789131816; 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=WucCoEbwOaJ6yFrDTrkuFcra5z9cb0XgU8deFVQYTuI=; b=HaG3bo14BsmBoE+6xkZW6wq0OPZyPQv0koMhXK2KPKNB5hsOP7WSIDN72uzi1uCTq8 eLeQvfHLETHxuL3Ki6PcuYc4wwcWSmOIMJUR/ZyLK77y3yG13MgJN4KuifYGuekLBufI UJJw1PnDm4dr9xqBbX0dOywOUroYgejGRYRzLJyP5n/tqVT67nU9IcoAoMK+4nNPJBJp CUu8JpJIy1jsqtNJmbPwOmOTDhNY/OehjOEFZjMg2g/b7O1PXelhNDr0+k5C0ksdjS9y rrqqWS/9Rzi2YogWRnM8SCfM2JrCCRUgjQOtm6AG1NA38Qkvc020RVB3e46YVUI6/C6E 2bJA== X-Gm-Message-State: AFuF++luWPpdbNt/kVlY30RwLT3BuB98nyWyh3K0iHJNhjMYc0lH3UhZ Bzfcs6EwTDxQSqRCVb3eiyLVnOoxLZo3MpVbNvTYY7I16eTzDj9ohipNncwUwpOzWR4= X-Gm-Gg: AYBFou2TIxBB7owL9st7bkHWI/U08krXPDJHPU1GU7o4qSJ593W/+c0cl8+b+9QNzb9 nF/Xmq66ymED0YoBfkwbFuTYAAyU/hbUQK4Q99dzq9THjduPRnC9gxk9NE671LMTpJEgoXj16/8 11r2gYmgqatGn32zueRvgZkWsFVXQcwxIeR3xz9EfARrIlOIm7e9ddiD12LQRLmczhlo4bSzTgw a2cT6aYdAJ00a8+49X6t5CNNMr201n5MSyWFQ1lSTdGs8wHmphb9v3xKEOjWfxvpI5kOz+26CDC fz7qdMwtfrGA++vnR/BRNRkHu52CHt47ags6f1AANX0M82393OUGtUTanxyx5/c+RO42jekcLtj r97RbnUZLX9cFke5UnXsEcM2l8eRZ5SZlR9GAETwHaqG1dG0qiedBmzemrMf6VAlboIDO5oUnZe H8CG8ZYYRhu6GQrvCITrGJuAdL/9uwkgrfmTcy6o7/8R5mpBl67YG6ohm8xmVZ4nTod4ezKh6r3 Q== X-Received: by 2002:a05:600c:6303:b0:493:f783:c46a with SMTP id 5b1f17b1804b1-49cf82cbab5mr42070715e9.6.1788527015782; Fri, 04 Sep 2026 06:03:35 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 042/105] tests/tcg/aarch64: system tests Date: Fri, 4 Sep 2026 13:44:56 +0100 Message-ID: <20260904124604.2207440-43-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788527189343158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-43-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/= Makefile.softmmu-target deleted file mode 100644 index 3f30be6c5d6..00000000000 --- a/tests/tcg/aarch64/Makefile.softmmu-target +++ /dev/null @@ -1,147 +0,0 @@ -# -# Aarch64 system tests -# - -AARCH64_SRC=3D$(SRC_PATH)/tests/tcg/aarch64 -AARCH64_SYSTEM_SRC=3D$(AARCH64_SRC)/system - -VPATH+=3D$(AARCH64_SYSTEM_SRC) - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -AARCH64_TEST_C_SRCS=3D$(wildcard $(AARCH64_SYSTEM_SRC)/*.c) -AARCH64_TEST_S_SRCS=3D$(AARCH64_SYSTEM_SRC)/mte.S - -AARCH64_C_TESTS =3D $(patsubst $(AARCH64_SYSTEM_SRC)/%.c, %, $(AARCH64_TES= T_C_SRCS)) -AARCH64_S_TESTS =3D $(patsubst $(AARCH64_SYSTEM_SRC)/%.S, %, $(AARCH64_TES= T_S_SRCS)) - -AARCH64_TESTS =3D $(AARCH64_C_TESTS) -AARCH64_TESTS +=3D $(AARCH64_S_TESTS) - -CRT_PATH=3D$(AARCH64_SYSTEM_SRC) -LINK_SCRIPT=3D$(AARCH64_SYSTEM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -TESTS+=3D$(AARCH64_TESTS) $(MULTIARCH_TESTS) -EXTRA_RUNS+=3D$(MULTIARCH_RUNS) -CFLAGS+=3D-nostdlib -ggdb -O0 $(MINILIB_INC) -LDFLAGS+=3D-static -nostdlib $(MINILIB_OBJS) -lgcc - -config-cc.mak: Makefile - $(quiet-@)( \ - $(call cc-option,-march=3Darmv8.3-a, CROSS_CC_HAS_ARMV8_3); \ - $(call cc-option,-march=3Darmv8.5-a+memtag, CROSS_CC_HAS_ARMV8_MTE)) = 3> config-cc.mak --include config-cc.mak - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -vector_log_boot.o: $(CRT_PATH)/boot.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DLOGGING_VECTOR_TABLE -x assembler-with-= cpp -Wa,--noexecstack -c $< -o $@ - -%.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -= c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) boot.o - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 - -memory-sve: memory.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) boot.o - -memory-sve: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 -march=3Darmv8.1-a+sve -O3 - -gpc-test: gpc-test.c $(LINK_SCRIPT) vector_log_boot.o $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) vector_log_boot.o - -TESTS+=3Dmemory-sve gpc-test - -# Running -QEMU_BASE_MACHINE=3D-M virt -cpu max -display none -QEMU_BASE_ARGS=3D-semihosting-config enable=3Don,target=3Dnative,chardev= =3Doutput -QEMU_OPTS+=3D$(QEMU_BASE_MACHINE) $(QEMU_BASE_ARGS) -kernel - -# console test is manual only -QEMU_SEMIHOST=3D-serial none -chardev stdio,mux=3Don,id=3Dstdio0 -semihost= ing-config enable=3Don,chardev=3Dstdio0 -mon chardev=3Dstdio0,mode=3Dreadli= ne -run-semiconsole: QEMU_OPTS=3D$(QEMU_BASE_MACHINE) $(QEMU_SEMIHOST) -kernel -run-semiconsole: semiconsole - $(call skip-test, $<, "MANUAL ONLY") - $(if $(V),@printf " %-7s %s %s\n" "TO RUN" $(notdir $(QEMU)) "$(QEMU_OPT= S) $<") -run-plugin-semiconsole-with-%: semiconsole - $(call skip-test, $<, "MANUAL ONLY") - -# vtimer test needs EL2 -QEMU_EL2_MACHINE=3D-machine virt,virtualization=3Don,gic-version=3D2 -cpu = cortex-a57 -smp 4 -QEMU_EL2_BASE_ARGS=3D-semihosting-config enable=3Don,target=3Dnative,chard= ev=3Doutput,arg=3D"2" -run-vtimer: QEMU_OPTS=3D$(QEMU_EL2_MACHINE) $(QEMU_EL2_BASE_ARGS) -kernel - -# gpc tests need EL3 and RME -QEMU_EL3_MACHINE=3D-machine virt,virtualization=3Don,secure=3Don,gic-versi= on=3D3 -cpu max,x-rme=3Don -QEMU_EL3_BASE_ARGS=3D-semihosting-config enable=3Don,target=3Dnative,chard= ev=3Doutput,arg=3D"3" -run-gpc-test: QEMU_OPTS=3D$(QEMU_EL3_MACHINE) $(QEMU_EL3_BASE_ARGS) -kern= el -run-gpc3-test: QEMU_OPTS=3D$(QEMU_EL3_MACHINE) $(QEMU_EL3_BASE_ARGS) -kern= el - -# Simple Record/Replay Test -.PHONY: memory-record -run-memory-record: memory-record memory - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -icount shift=3D5$(COMMA)rr=3Drecord$(COMMA)rrfile=3Drecord.bin \ - $(QEMU_OPTS) memory) - -.PHONY: memory-replay -run-memory-replay: memory-replay run-memory-record - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -icount shift=3D5$(COMMA)rr=3Dreplay$(COMMA)rrfile=3Drecord.bin \ - $(QEMU_OPTS) memory) - -EXTRA_RUNS+=3Drun-memory-replay - -ifneq ($(CROSS_CC_HAS_ARMV8_3),) -pauth-3: CFLAGS +=3D $(CROSS_CC_HAS_ARMV8_3) -# This test explicitly checks the output of the pauth operation so we -# must force the use of the QARMA5 algorithm for it. -run-pauth-3: QEMU_BASE_MACHINE=3D-M virt -cpu max,pauth-qarma5=3Don -displ= ay none -else -pauth-3: - $(call skip-test, "BUILD of $@", "missing compiler support") -run-pauth-3: - $(call skip-test, "RUN of pauth-3", "not built") -endif - -ifneq ($(CROSS_CC_HAS_ARMV8_MTE),) -QEMU_MTE_ENABLED_MACHINE=3D-M virt,mte=3Don -cpu max -display none -QEMU_OPTS_WITH_MTE_ON =3D $(QEMU_MTE_ENABLED_MACHINE) $(QEMU_BASE_ARGS) -k= ernel -mte: CFLAGS+=3D-march=3Darmv8.5-a+memtag -mte: mte.S $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) boot.o - -run-mte: QEMU_OPTS=3D$(QEMU_OPTS_WITH_MTE_ON) -run-mte: mte - -ifeq ($(GDB_SUPPORTS_MTE_IN_BAREMETAL),y) -run-gdbstub-mte: QEMU_OPTS=3D$(QEMU_OPTS_WITH_MTE_ON) -run-gdbstub-mte: mte - $(call run-test, $@, $(GDB_SCRIPT) \ - --output run-gdbstub-mte.out \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "-chardev null$(COMMA)id=3Doutput $(QEMU_OPTS)" \ - --bin $< --test $(AARCH64_SRC)/gdbstub/test-mte.py -- --mode=3Dsystem, \ - gdbstub MTE support) - -EXTRA_RUNS +=3D run-gdbstub-mte -else # !GDB_SUPPORTS_MTE_IN_BAREMETAL -run-gdbstub-mte: - $(call skip-test "RUN of gdbstub-mte", "GDB does not support MTE in barem= etal!") -endif -else # !CROSS_CC_HAS_ARMV8_MTE -mte: - $(call skip-test, "BUILD of $@", "missing compiler support") -run-mte: - $(call skip-test, "RUN of mte", "not build") -endif diff --git a/tests/tcg/aarch64/meson.build b/tests/tcg/aarch64/meson.build index 9ec8df169d5..28498e82cba 100644 --- a/tests/tcg/aarch64/meson.build +++ b/tests/tcg/aarch64/meson.build @@ -21,6 +21,8 @@ gdb_feat_version =3D { 'mte-baremetal': '16.0', } =20 +subdir('system') + tests =3D [] =20 # Multi arch tests diff --git a/tests/tcg/aarch64/system/meson.build b/tests/tcg/aarch64/syste= m/meson.build new file mode 100644 index 00000000000..94e16ba3300 --- /dev/null +++ b/tests/tcg/aarch64/system/meson.build @@ -0,0 +1,109 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script] +qemu_base_args =3D ['-display', 'none', + '-semihosting-config', 'enable=3Don', + '-kernel'] +qemu_def_args =3D ['-M', 'virt', '-cpu', 'max', qemu_base_args] + +# Multi arch tests - add cflags only once per src +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D1' + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +tests +=3D { + '../../multiarch/system/memory.c': { + 'exe_name': 'memory-sve', + 'cc_feat': 'sve', + 'cflags': [cflags, '-DCHECK_UNALIGNED=3D1', '-O3'], + 'qemu_args': qemu_def_args, + }, +} + +tests +=3D { + 'asid2.c': {'cflags': cflags, 'qemu_args': qemu_def_args}, + 'feat-xs.c': {'cflags': cflags, 'qemu_args': qemu_def_args}, + 'gpc-test.c': { + 'cflags': [cflags, '-DLOGGING_VECTOR_TABLE', + '-Wno-main', '-Wno-unused-but-set-variable'], + 'qemu_args': ['-M', 'virt,secure=3Don,virtualization=3Don,gic-version= =3D3', + '-cpu', 'max,x-rme=3Don', + '-semihosting-config', 'enable=3Don,arg=3D3', + qemu_base_args], + }, + 'rme_gdi.c': {'cflags': cflags, 'qemu_args': qemu_def_args}, + 'semiheap.c': {'cflags': cflags, 'qemu_args': qemu_def_args}, + 'semiconsole.c': { + 'cflags': cflags, + 'qemu_args': ['-serial', 'none', '-chardev', 'stdio,mux=3Don,id=3Dstdi= o0', + '-semihosting-config', 'enable=3Don,chardev=3Dstdio0', + '-mon', 'chardev=3Dstdio0,mode=3Dreadline', + qemu_def_args], + 'wrapper': [prog_run_with_input, 'X'] + }, + '../../multiarch/system/memory.c': { + 'test_name': 'memory-record-replay', + 'qemu_args': qemu_def_args, + 'wrapper': [prog_record_replay], + }, + 'vtimer.c': { + 'cflags': cflags, + 'qemu_args': ['-M', 'virt,virtualization=3Don,gic-version=3D2', + '-cpu', 'cortex-a57', '-smp', '4', + '-semihosting-config', 'enable=3Don,arg=3D2', + qemu_base_args] + }, +} + +tests +=3D { + 'pauth-3.c': { + 'cc_feat': 'v8.3', + 'cflags': cflags, + 'qemu_args': ['-M', 'virt', '-cpu', 'max,pauth-qarma5=3Don', qemu_base= _args], + } +} + +tests +=3D { + 'mte.S': { + 'cc_feat': 'mte', + 'cflags': cflags, + 'qemu_args': ['-M', 'virt,mte=3Don', '-cpu', 'max', qemu_base_args], + 'gdb_test': ['--test', files('../gdbstub/test-mte.py'), '--', '--mode= =3Dsystem'], + 'gdb_feat': 'mte-baremetal', + } +} + +if 'qemu-system-aarch64' in emulators + tcg_tests +=3D { + 'aarch64-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'aarch64/system', + 'gdb_arch': 'aarch64', + 'gdb_feat_version': gdb_feat_version, + 'qemu': emulators['qemu-system-aarch64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527076; cv=none; d=zohomail.com; s=zohoarc; b=hTY5wr1mPREb/7ht1/AI7aBo1tcmBosss8T544Z0Udp0EnAW9KK89EE/z37x4l0Qs/n7Ih+9PtNSHmXrQGG6gLYjundWrXOZG7shO0qpjygzxya4KjgvNh0A3cZlVA124O6UAO8qjEiXtDv0KYjwaoC+twy8Le58LLmuR2T8tpM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527076; 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=VNYduESDtmcDFsqNFOi+JuL1O/4wUrbP18At2xpgW/8=; b=C63ziXeazTcdvgUrmZi/jex7oykaV6AV+LkoWiv0k6Mt1sfGk3XrvmKqKM5cvtHZ3V3L2JZMAXWcHAcLQt8xA63GpuuTlpjno8qhsJRZNDWsuse0vi6I16RZjKOMir/4TMF9kzZWaV2we8qSAcYn1PFl1HeziRHaDK9DdTNKvJQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527076208614.6815250018793; Fri, 4 Sep 2026 06:04:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Ta8-0006Uq-Ii; Fri, 04 Sep 2026 09:03:51 -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 1x2TZq-0006Nc-5t for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:32 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZm-00033s-Qt for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:29 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-c15e592da74so113210966b.1 for ; Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883be709sm6042247f8f.21.2026.09.04.06.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 890F8618F9; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527005; x=1789131805; 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=VNYduESDtmcDFsqNFOi+JuL1O/4wUrbP18At2xpgW/8=; b=PzWkzQYOp8YnZx2F8SKPihdKeFz7znoioX0X8vZZmhKkdpXm40ikQLPi3o6+nJHN+P lNGwCEqNV2q5Io8xz5UqaTQy/C2F9ke19rFp+ehX8EqaV802KLM6V7SwQOqabRiDWuw+ MV6SrrCj395yWuvnIMtdbxhlRmrz4PacsGz5NODZKGyKGpdWat/4w3efViaYkv7psxuT DRHiM2IXpcF/r+guhX4sOHmIFNM6QC6oZe7+Kn02eJiYT2ToRQjy7shhmh8SyFsTNe3Z id3wuNoASiEkeWokiWksxhHpKNYR0edQ64oDUncCMQ3gyTZY4j28EfR5JGCzoWZZb4Ka nkaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527005; x=1789131805; 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=VNYduESDtmcDFsqNFOi+JuL1O/4wUrbP18At2xpgW/8=; b=rbFSTJEVpFt1Z9mDx8/bAyFZHDiqHRap8NtKffsQMtFi+l+JQrUDmJWP3M5yTGOtXS pTypGjGKtrLCJe1TTTa6OmqZtjSMRcRzz/eXCoyN2TZpCF52nY9ybsBzzd837sRO0B5w DrxJUgZsDeHAFRzg4Jh+Fq1UCe1lRv4L96rqSfLZ4H138QMb4APG5YUv3RfnCiKlcO5z Vo4WtRAgcDPOiWKywtK0Dk13E2T59q0oE4V5hgorcIbF+DqFd71b+7g8F8+lissbwz7z IICgoq/n+E/9BiuJQkgGNIwJcLRiX3KCpbGFygt7M9Ph4PfFqeH2Uy6cInFhRxo+mPz/ /fkw== X-Gm-Message-State: AFuF++lX4xyKNGZ3EP/BaM+xs3QdC+yfAfx/bWo7sp33YG8ZIarIwXgp 4DmCRjvKJOHhQL5JdEyH1BRng+O+XjmSGcl3MlkxRRLuqo8NC1Ce3+Wce9+pJjIFtcU= X-Gm-Gg: AYBFou2w4OTY5ekRmLGXHBtKEhXOrio4+PC21aZRQQ8yglizqLODVm4b1JajfGEXyEK 4HMBT88jTWJKjW5i+xraDHjbplIUO3jv5HQTw9J1jP5Pcm6+kPskCgOH1XjJr1SynJK6k0iogfE iNgm1FiFvuhgpoWOdbWEge88KPpFeWGfUDwxd/xHtzUAAYnCg+tJrcW6b8GS2I/aCSIJQKhEoRH rUbHCruVxUCboLhkv+/LMuDVUe8sRvw/WXUQb8S8jvxjocnCtpqSAyLDivb+5foPPNfD+rtEdzL u5LXdJyNrTWY3Ezt+3o0Iw+SiniYX7bVtOY4lOuyzpdwSbuEOF5pkFC/Y0YDTKruEiZd0QUfaeB O6fIGRE6nsNaqiKV4fBNZAsBQ0k59bDoxiWMMOPlSVB78BfyKHCqD8dKb/zOAGDg+ZCp7MqhBNJ l7hnANERSNRiYJpBYMZEcx1Yf3vv6hYDTqI3v3Srg+cM085XND//tY/kvuuBiGxHig+r7oAys= X-Received: by 2002:a17:907:3e8c:b0:c26:19de:9acc with SMTP id a640c23a62f3a-c2619dea6e2mr109602066b.36.1788527004915; Fri, 04 Sep 2026 06:03:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 043/105] tests/tcg/aarch64_be: user tests Date: Fri, 4 Sep 2026 13:44:57 +0100 Message-ID: <20260904124604.2207440-44-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::62e; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527078837158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-44-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/aarch64_be/Makefile.target b/tests/tcg/aarch64_be/Ma= kefile.target deleted file mode 100644 index cbe5fa0b2db..00000000000 --- a/tests/tcg/aarch64_be/Makefile.target +++ /dev/null @@ -1,17 +0,0 @@ -# -*- Mode: makefile -*- -# -# A super basic AArch64 BE makefile. As we don't have any big-endian -# libc available the best we can do is a basic Hello World. - -AARCH64BE_SRC=3D$(SRC_PATH)/tests/tcg/aarch64_be -VPATH +=3D $(AARCH64BE_SRC) - -AARCH64BE_TEST_SRCS=3D$(notdir $(wildcard $(AARCH64BE_SRC)/*.c)) -AARCH64BE_TESTS=3D$(AARCH64BE_TEST_SRCS:.c=3D) -#MULTIARCH_TESTS =3D $(MULTIARCH_SRCS:.c=3D) - -# We need to specify big-endian cflags -CFLAGS +=3D-mbig-endian -ffreestanding -LDFLAGS +=3D-nostdlib - -TESTS +=3D $(AARCH64BE_TESTS) diff --git a/tests/tcg/aarch64_be/meson.build b/tests/tcg/aarch64_be/meson.= build new file mode 100644 index 00000000000..9ea111f9885 --- /dev/null +++ b/tests/tcg/aarch64_be/meson.build @@ -0,0 +1,22 @@ +tests =3D [] + +# As we don't have any big-endian libc available, +# the best we can do is a basic Hello World. +tests +=3D { + 'hello.c': {'cflags': ['-mbig-endian', '-ffreestanding', '-nostdlib']}, +} + +if 'qemu-aarch64_be' in emulators + tcg_tests +=3D { + 'aarch64_be-linux-user': { + 'cc': 'aarch64-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['aarch64', 'x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'aarch64_be', + 'gdb_arch': 'aarch64_be', + 'qemu': emulators['qemu-aarch64_be'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 76d7dbe045b..d878581b660 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -137,6 +137,7 @@ endforeach =20 # Now let's go through all architectures subdir('aarch64') +subdir('aarch64_be') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528278; cv=none; d=zohomail.com; s=zohoarc; b=jUXQVwPR6ilCqkrbcZcqKMJI0Yrjc0D1oOsqMBhGFJcUgoU2cfaXNLAqRbheNI3p9VjJS64ye9qxIaWybV/k3dISJZZwim6Q0tQ0k9fF3zWbvXH3Qfxvdif7ji8X+LKXCtKan1r7rvtgLmv4WsE/q3vNLKo4pfzBnk6K1u1d8iQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528278; 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=6935DWCHkLROQyfQf15J/OSWYOtSH7W/s/JibA27/HA=; b=b7hfM8UUHKhD3Xy9RIhiXxgfN8uJ95cvN+Mgou+TbHaBiVnkk4iNScgV1hAAszDxEaXZCqxbzIbkC+VDdA0XfmalAPZCE78TFLuQEtT3qtjo6ACxQ7NGgGseZWO2kbwlUySle4M1y7DdifqWIg+VQurZLXDZBjArKMBHPE3Qb8Y= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528278069658.8474790404237; Fri, 4 Sep 2026 06:24:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtR-0005bS-1Z; Fri, 04 Sep 2026 09:23:45 -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 1x2TtO-0005Yp-UD for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:42 -0400 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtJ-0008LZ-GZ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:42 -0400 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-6a18840e2abso1523437a12.0 for ; Fri, 04 Sep 2026 06:23:37 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885bbb51sm6408169f8f.30.2026.09.04.06.23.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:33 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id ADD986191C; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528216; x=1789133016; 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=6935DWCHkLROQyfQf15J/OSWYOtSH7W/s/JibA27/HA=; b=vn4ao/cVXeNYuKMRoDujUENuAWWUe5mC0W6kCqPYcAI9agjjXOLLuS5yRwgxhKnZQm 00aVeKBNXSZjQQa6m3cFVLRL+NjloSnwal7AtgPkE/cjb5YhRmPMyq45KOAVk4Czyq3o udLKwurImgrqcaTxL2bLGIjNGzsuE5nmsZ8EgKJ4I0cvLfpUvz6QITaKXhJFJUyKLcvK uuqUbW3LDuNs8W/RRN8pRXlNys0ketl6mnlznpQ0NVMwVleK32I8Ky8vjb/cPKl404rD 6V4hrUozt+NDyy49LJFO2SB58DqZo5WlnWhlzLHbyXbSP4eGZLku+aM2v5otBFnnh8QZ qB1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528216; x=1789133016; 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=6935DWCHkLROQyfQf15J/OSWYOtSH7W/s/JibA27/HA=; b=sMClB+e4UW22AbXBIvw5h/Cm0PBZOx0qG0iHbA3DCd45mXlBDe8/qLTd6iNFtj+ssS nWryP7b8kLUPfVn0qXsVQDvnfJXA0+/aA27sLJ6aQjX37qCBVjx+/FX6iLA9JpDWps2z iRWmlVCnhiweQnz6H53fO+DvtZZjBsP2Q3yfxTZKM7PK7p43QsehiBRZxNus2+o7HjpB td+l5a+H6LvqNPKcmBOakVU1tRobdYXPNB5Rt1WNADJMTc10X+KD+O5+oF/im5Wh9N/v yxSLX05tj5VcqfkG8TiTAeIq4LXvOLTg56i5VDiptc7GKL1jIw3+PUueHMtObKC16RP3 vI+w== X-Gm-Message-State: AFuF++nPztHltuDFSy3nVPN+ZNKRzmG065TvbP8QzrYTxhT4TgzfB9WF 96KSqSe23I5HcKcRUmQi0mu/aY08Jb6qBN8uU7GTB8IDjCE90+Nxd2ZiScYS7tQIu+3nxZLq/PN 8qUvT7gM= X-Gm-Gg: AYBFou0+md3+ugRJ1kFUygyo4ezdIG83YVtbe72NVbfSu7Y0ihQfs1Cus1dVooG1XoV mMY7sQANYlr3THigbAzRRSu8ZBjIk2N/oB/kOkHMacO7p1jCeKr8zYq6lyW1b7JbrfDYQoz4MJP 4B6yVSP9gpcq1FpF8ErIitFh3/VN+pGqUVZlhEY38U2jyA04poG5XxO49y1ADObj98JI0mwSL6o D11kAHTtwNOOiyiz8D2v3GQwd9/EPHfz3fUXphRNHtzvc4BpaptB8/uYmeI9kWww9s8AAQwxzgk NKzUNukupjTQI8Ik7IhI98w/07p7y3sut1eREDaCLBJAFFUevSCODhOmPIrllYmHbORb7AbIrQz ND1VjQaeM1aZLxaSTlHA4PE++mWJo7UCmsWUVdA28znqYbwwjLLEqKKyi91bBRJzFL4lxVCRvY6 yGON77OgTZFxO8Pxs7SPndut7LfsHAe6aG97wOGdZsmq/cbP2XhfCKsjqRKntM X-Received: by 2002:a05:6402:454d:b0:6a6:7305:2dff with SMTP id 4fb4d7f45d1cf-6a7e8e95808mr1753129a12.12.1788528214474; Fri, 04 Sep 2026 06:23:34 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Richard Henderson Subject: [PULL 044/105] tests/tcg/alpha: add float reference files Date: Fri, 4 Sep 2026 13:44:58 +0100 Message-ID: <20260904124604.2207440-45-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::529; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x529.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528279952158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-ID: <20260827221506.91574-45-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/alpha/float_convd.ref b/tests/tcg/alpha/float_convd.= ref new file mode 100644 index 00000000000..75c2139d608 --- /dev/null +++ b/tests/tcg/alpha/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (OK) + to int32: 0 () + to int64: 5575456338684674048 () + to uint32: 0 () + to uint64: 5575456338684674048 () +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (OK) + to int32: 0 () + to int64: 7936327705845301248 () + to uint32: 0 () + to uint64: 7936327705845301248 () +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (OK) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (OK) + to int32: 0 () + to int64: 5575456338684674048 () + to uint32: 0 () + to uint64: 5575456338684674048 () +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (OK) + to int32: 0 () + to int64: 7936327705845301248 () + to uint32: 0 () + to uint64: 7936327705845301248 () +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (OK) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (OK) + to int32: 0 () + to int64: 5575456338684674048 () + to uint32: 0 () + to uint64: 5575456338684674048 () +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (OK) + to int32: 0 () + to int64: 7936327705845301248 () + to uint32: 0 () + to uint64: 7936327705845301248 () +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (OK) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (OK) + to int32: 0 () + to int64: 5575456338684674048 () + to uint32: 0 () + to uint64: 5575456338684674048 () +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (OK) + to int32: 0 () + to int64: 7936327705845301248 () + to uint32: 0 () + to uint64: 7936327705845301248 () +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW ) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (OK) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW ) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) diff --git a/tests/tcg/alpha/float_convs.ref b/tests/tcg/alpha/float_convs.= ref new file mode 100644 index 00000000000..3c9f29faf92 --- /dev/null +++ b/tests/tcg/alpha/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding upwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding downwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding to zero +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 0 () + to int64: 0 () + to uint32: 0 () + to uint64: 0 () +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: 0 (INVALID) + to int64: 0 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) diff --git a/tests/tcg/alpha/float_madds.ref b/tests/tcg/alpha/float_madds.= ref new file mode 100644 index 00000000000..76996f432db --- /dev/null +++ b/tests/tcg/alpha/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526521; cv=none; d=zohomail.com; s=zohoarc; b=DNPy6y4WyGkRqCc5q3wsIcUFgthtcWBvCMrB3DgXo7uHBvPZ7wK0HFev7rMq5pFHa8I8qDupXXxniPvytpR8rGiMF2hmfwNg5zf67Y/cp34NZlNALpWGfU7FgQ4BcFiPSEURril2y3UqX905B6J3p09gHWlgL4qK0qs48DbxTw4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526521; 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=fEpiMCX5c1LEj+yVlkZvbJZSIzMATPO1z46HiNdFhtw=; b=db9bo/82MKf/H8r3dHvwemNY5/s+JtwnKU3RlJGyd0x/DeZOm40DdaTX+Y/aHrApYPJsD/H4X1DUjAFp9sMSHR6MamPIEnOsUpa9dCTTh+j2m/VgTjI5yklhkr+rWSyq65Ma+2JUCn58JBc7hy40O4oRcfbih7Isq+MYe7cuAAQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526521479934.162963371367; Fri, 4 Sep 2026 05:55:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQR-0001lS-Fp; Fri, 04 Sep 2026 08:53:47 -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 1x2TQQ-0001kJ-5T for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:46 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQO-0000l8-BV for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:45 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-498028b3d5eso9038765e9.1 for ; Fri, 04 Sep 2026 05:53:43 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5d476esm169041705e9.1.2026.09.04.05.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:40 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id CCFC361926; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526423; x=1789131223; 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=fEpiMCX5c1LEj+yVlkZvbJZSIzMATPO1z46HiNdFhtw=; b=yk+yuB34QCJi3N4Tz59p6BeM1rNKD4gz/8tWOs1vSiKMeP5IC9cylSr5H2P3esTPSx XFgC6ZArCFQYcoMzNC7biNxksXa4wO+c46zQTRfGdfBwqHV/QudsLxGvW/m9uR5UiMxx 4PsaHnoyUpKyCeGKPG3u8NWqoMqgaDU0PFWMh+8KcGsSbpzHZXCnG8NFIQUw3lceSu1x FDGQY51S7RjhSCev56aWN/oNFruyW7yg4JqFiXIwmC5QX93jT5qhreU6OukDDLjX22pT W0OHBCvF6K2dsg52yp87mvohHMvXs7OcKNvR5EE73q9VPUAEkxYdYgxKqOWQ7g42wPdg dVDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526423; x=1789131223; 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=fEpiMCX5c1LEj+yVlkZvbJZSIzMATPO1z46HiNdFhtw=; b=EP1g9r6HCOfphvprGpTWk9PS/FIO8Q5Nr7diA0m4mQb8GWtnzf9V1GfL4SwnTQVe72 aEI3+GnJtM8aS9K17xhXSkq4L71czZdtm2N8mvfYmbWQbbs0Z18RE7sNMj4hBSYnkiTG JZxjTe13yz3an5RHutI19mfsasITOswnZOzzCPSqZPuGxByQ8ZSceayzxCEnM2Fz1Gsl wuJ2Jmu5r4etRELETHzD4/dWed+z9Y3RSd9/j3NCJfNS83FpMWjOMTvWi0O2X+hKsMaS y3X/rZKBSQ9CC35lylINHOAqauQ1JQKC8GJO/cDh+VeqSFhJjxiIN0oWON4+azS5Cgfy kN2A== X-Gm-Message-State: AFuF++lgjh/KJ7Lni5hVgbXroQVoyRgVIvY+iC70ln73Cxcz2oSyOiCO QZckkGi/UOqA5hsv9XJ3rQk+Z1ElA5D/yITSvTSp80jxA2Xyu+3Hsq30GQhTqakQKeI= X-Gm-Gg: AYBFou1TLWm4OWYd9+trvuEIfsSelUtQGuCMldX8NSeccgvTkA0/04b6Q+fTQmosYdX 1e6d1BCLLLsIgCH9Tl4kI8Bv7iISxjI7vHMaivW+nGHcpYqzSTDqcVNqFsykR+FUzU0mUU6ILEl tWNIuYdbDMp/MM1vfG8JiscvkR42xA6DJTTruYtpSqj00HGl0o/BXItfAscOe0NuZ8WhpyBDblX DXc4iqRO1kiGOY0deuECos/bsb3AsM08eVoheb0minMcvb0lw4frK8/0RztRDUbHmM9IxGVBnOk uKaF4fjmQ3KF0BjWqm0famPgwCiRaJCJb8YDzKhZ/U/7ondJXhn4dj1ew5CZ/mpn3Om/mONaKlW QlPQNNgbDug5zNOfARxeqjdQVags0OdwS/KrcJ8K/EyrxPM3awXQtf+u9soS528PYtAa/DOizHI P/RdyGjBAWu2fFXm0G0nBbvJNmyxjfXujm2iqflCeg50drctFo8QnxaIvwRxQqsaJ/EumwcJY= X-Received: by 2002:a05:600c:190e:b0:49c:fa21:1c82 with SMTP id 5b1f17b1804b1-49cfa211d3dmr37257265e9.23.1788526422868; Fri, 04 Sep 2026 05:53:42 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 045/105] tests/tcg/alpha: user tests Date: Fri, 4 Sep 2026 13:44:59 +0100 Message-ID: <20260904124604.2207440-46-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526521671158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-ID: <20260827221506.91574-46-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/alpha/Makefile.target b/tests/tcg/alpha/Makefile.tar= get deleted file mode 100644 index 36d8ed1eaea..00000000000 --- a/tests/tcg/alpha/Makefile.target +++ /dev/null @@ -1,18 +0,0 @@ -# -*- Mode: makefile -*- -# -# Alpha specific tweaks - -ALPHA_SRC=3D$(SRC_PATH)/tests/tcg/alpha -VPATH+=3D$(ALPHA_SRC) - -ALPHA_TESTS=3Dhello-alpha test-cond test-cmov test-ovf test-cvttq -TESTS+=3D$(ALPHA_TESTS) - -test-cmov: EXTRA_CFLAGS=3D-DTEST_CMOV -test-cmov: test-cond.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -# Force generation of byte read/write -test-plugin-mem-access: CFLAGS+=3D-mbwx - -run-test-cmov: test-cmov diff --git a/tests/tcg/alpha/meson.build b/tests/tcg/alpha/meson.build new file mode 100644 index 00000000000..08e371116c3 --- /dev/null +++ b/tests/tcg/alpha/meson.build @@ -0,0 +1,53 @@ +cc =3D 'alpha-linux-gnu-gcc' +cc_dockerfile =3D 'debian-all-test-cross' +cc_docker_host_arch =3D ['aarch64', 'x86_64'] + +tests =3D [] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-linux-user']['tests'] + foreach src, setup: t + new_cflags =3D [] + if 'cflags' in setup + new_cflags =3D setup['cflags'] + endif + # Force generation of byte read/write + if fs.stem(src) =3D=3D 'test-plugin-mem-access' + new_cflags +=3D ['-mbwx'] + endif + if src not in multi_src + setup +=3D {'cflags': new_cflags} + multi_src +=3D src + endif + tests +=3D {src: setup} + endforeach +endforeach + +tests +=3D { + 'hello-alpha.c': {}, + 'test-cond.c': {}, + 'test-cvttq.c': {}, + 'test-ovf.c': {}, +} + +tests +=3D { + 'test-cond.c': { + 'cflags': ['-DTEST_CMOV'], + 'exe_name': 'test-cmov' + }, +} + +if 'qemu-alpha' in emulators + tcg_tests +=3D { + 'alpha-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'alpha', + 'gdb_arch': 'alpha', + 'qemu': emulators['qemu-alpha'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index d878581b660..e0789d9c1eb 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -138,6 +138,7 @@ endforeach # Now let's go through all architectures subdir('aarch64') subdir('aarch64_be') +subdir('alpha') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527202; cv=none; d=zohomail.com; s=zohoarc; b=m6ZatO+7Gl2ip9rUGTeege2ZflEY2Kp8Yl8ZXig/4grmJyrIikN4A5AwFNz1gX7dlW1TdwWmobgHtK5AZIOaI/w711WmhBiZDGjc6+BGdzCQQHm98ooJ9eT0515s56esFGMRnJN1ZfZjyTDr4h+IfU9ik+XeUyNOVfyi65M4mK8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527202; 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=79ufYTClA2Zki0fcHzVVYb5ccPOkGeEIREeOR0gRlYQ=; b=B+slDYH9VWiNhFNmtYXy+od2OLhloFvNz63iwl9zzbO5xeoApmp4205Jr7kj3B4J+jWFrfK4DJtAUa3Ap/j3f9UVbaMvoB9OIlxn30XspzzLou43+cd2WYD6c7fX8SZVYTDYxbUbifhMNckbnNQyTvhXFu6DoZr+QTxgHyM6B2Y= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527202483699.792205420036; Fri, 4 Sep 2026 06:06:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaW-0006m1-AG; Fri, 04 Sep 2026 09:04:12 -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 1x2TaF-0006X0-Kh for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:55 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta5-0003CW-2r for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:54 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-482e4998d28so715224f8f.2 for ; Fri, 04 Sep 2026 06:03:44 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee60bae6sm185291215e9.9.2026.09.04.06.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E7DBE5F9CF; Fri, 04 Sep 2026 13:46:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527024; x=1789131824; 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=79ufYTClA2Zki0fcHzVVYb5ccPOkGeEIREeOR0gRlYQ=; b=s7F+J74tu7YTI69bxDLkPWcVwguKwu0LvxrE1iMcJsf1UAoAlGZnwMspHDIQOEXIm3 NLxQ2fe67jFw3Z1ku9z5Lco1Z2vnE4AtcY/Z6j4A0iLfgWXAkHXktqFwPDEjKam49EbS N1fF0PXc8wApHovMX7TYn8rcWM2EIfFHORwXdrkNfIltrc0oYIkedCl21LxFiM6+l1N8 hfNL14SCYtARp8YvVwKStDc8b5wYtC0h6wv9oDIZ6pQaJ0E4j2a8gxBX+CvamIXIuvrF 9yRcNKiEf1eg19D0KMZwlHyc1v9MTIW9yAX6W34fo0Ejoz+lSFiOh2WwPuXU0Puz2hPH QlRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527024; x=1789131824; 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=79ufYTClA2Zki0fcHzVVYb5ccPOkGeEIREeOR0gRlYQ=; b=f27cz+Z19wJSwz0m5m5mMZ4bkS/fJlJy2YchT0W3EfTucfsfpfIiBFOItTdV2KFmGe T8VgwCHYYYIEgSRHn1wzP9RgwIBFeO7qGJOKuQc+9VqWeUQ/9qUrZLKqNnHF0LcLWLIX zf5VXw52zFLLWfKuM6anyAH6GU8fwsT/AYJCW6XLa/m/TFzT3IaxwOsRQA0+mrrnXp2v 82VM9q2wtQWFnrPRrSlhrVvl0N89JYqGK/kMrZOIXCwguXfXeMcDPg+w343YLV83v+8c oMjH2jCoKAZ2CAuoQLfvl2fU9CHZaPinsBQAENss+m8AwSgxS+yz3tijlfFGNABK960h 5cEw== X-Gm-Message-State: AFuF++lQ6oVfw5Qu16C8UNWnjIz6kfVV67h8jYVriTnROtEjfkU1MyaW zZHxNo3jLnxpsaZy6+cEomhjAUoxuiqROSLo6V1yTlVPsUrW1IsxTDi/x+trtm91IIo= X-Gm-Gg: AYBFou3ZLyAUifxCs7SLB9lSxTGbHM05Gh+8pFBCVnmcCo097Nob5kuZpvJS+ZaFqKD i124Q+Wi7QGNKb7GG4gNIhS6IoFuupanLBsdAzKA9eekwoD4Z4hp0nQ8KhpsbiDtb9wubtt3fDd xYpkBg/VMi675ZUUINRUrr989PupeMKsk+GIinPoH3uPLAjEpNx0LUyi2jVBkkixb/XOLnybGkI E4carI5MKCqBMr7PS69T1jZM2PXts4dx0j1Xr2JJ3TEHsvSXLSjZ6NRttPv2VLSVcrF6HEi/QOx JiygRt3n9u+5WyR4xPBgxpbGUNyRlxebstS5pFx2OGQ9sE72OFsyuRCU04QeIkBJIfsT9PssF6c dLz4EOtICpVaom5QgW9bIsPaYL3WB10UhYYpHPSU9TXq6aA+6BrN6KEFrYWD9Ywx0w4aOrD17Br Mmg70bGpTTgdO0m6MjtQFw6a/0Ttm5C/YxEMjkbKOQ4VmJw8VHEQ4epEIRvt5k X-Received: by 2002:a05:600c:4f43:b0:49c:fc6e:a3d9 with SMTP id 5b1f17b1804b1-49cfc6ea7b4mr34576785e9.24.1788527022053; Fri, 04 Sep 2026 06:03:42 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 046/105] tests/tcg/alpha: system tests Date: Fri, 4 Sep 2026 13:45:00 +0100 Message-ID: <20260904124604.2207440-47-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527203418158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-ID: <20260827221506.91574-47-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/alpha/Makefile.softmmu-target b/tests/tcg/alpha/Make= file.softmmu-target deleted file mode 100644 index a944102a3ce..00000000000 --- a/tests/tcg/alpha/Makefile.softmmu-target +++ /dev/null @@ -1,34 +0,0 @@ -# -# Alpha system tests -# - -ALPHA_SYSTEM_SRC=3D$(SRC_PATH)/tests/tcg/alpha/system -VPATH+=3D$(ALPHA_SYSTEM_SRC) - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -ALPHA_TEST_SRCS=3D$(wildcard $(ALPHA_SYSTEM_SRC)/*.c) -ALPHA_TESTS =3D $(patsubst $(ALPHA_SYSTEM_SRC)/%.c, %, $(ALPHA_TEST_SRCS)) - -CRT_PATH=3D$(ALPHA_SYSTEM_SRC) -LINK_SCRIPT=3D$(ALPHA_SYSTEM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -TESTS+=3D$(ALPHA_TESTS) $(MULTIARCH_TESTS) -CFLAGS+=3D-nostdlib -g -O1 -mcpu=3Dev6 $(MINILIB_INC) -LDFLAGS+=3D-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -%.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -= c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D0 -mbwx - -# Running -QEMU_OPTS+=3D-serial chardev:output -kernel diff --git a/tests/tcg/alpha/meson.build b/tests/tcg/alpha/meson.build index 08e371116c3..fe60ce2496a 100644 --- a/tests/tcg/alpha/meson.build +++ b/tests/tcg/alpha/meson.build @@ -2,6 +2,8 @@ cc =3D 'alpha-linux-gnu-gcc' cc_dockerfile =3D 'debian-all-test-cross' cc_docker_host_arch =3D ['aarch64', 'x86_64'] =20 +subdir('system') + tests =3D [] =20 # Multi arch tests diff --git a/tests/tcg/alpha/system/meson.build b/tests/tcg/alpha/system/me= son.build new file mode 100644 index 00000000000..b10f2c3e28d --- /dev/null +++ b/tests/tcg/alpha/system/meson.build @@ -0,0 +1,47 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script, + '-mcpu=3Dev6', + '-Wl,--no-warn-rwx-segments', + '-lgcc'] +qemu_def_args =3D ['-display', 'none', + '-serial', 'stdio', + '-kernel'] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D ['-DCHECK_UNALIGNED=3D0', '-mbwx'] + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +if 'qemu-system-alpha' in emulators + tcg_tests +=3D { + 'alpha-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'alpha/system', + 'gdb_arch': 'alpha', + 'qemu': emulators['qemu-system-alpha'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526254; cv=none; d=zohomail.com; s=zohoarc; b=iOsvy/mO/RUYbHFwsKcgFaXaSaYq6FU7mIgjbA5pYcScAquZFYwakKn2aa4lusittS5UqomLIuMRuwFoVRIGPBanfEgo2rBpVr4uutg0bzGt2g9Dn89WFvK31UqiaOrQguYf5/n1GOyU5isMGzSw61RJUvwhrleRGdQ8nwRzY+Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526254; 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=3dgVuutlV7hrgQvHehoq33u4nkPWd6zJN4Tj9pV47lc=; b=bclGguJETCHvn5MrVA4v7pEsZtiJizZl1LjKr58vDyXQaNGLcZow8k73InASJgpGlEcFaxLwDy0N5zQvxAP8BGqa+OAVPJQuT0uJ/R50E/oO4/+rdajVTtFfGXTXifypQl7EYaILiiKbZ1hr2poK6IL40hJWenLVAmP3JiLsovo= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526248334772.7175692088715; Fri, 4 Sep 2026 05:50:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJQ-0006Dk-Rz; Fri, 04 Sep 2026 08:46:32 -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 1x2TJM-0006BI-8j for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:28 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJH-0006tY-MU for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:27 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-48589798dbbso595942f8f.3 for ; Fri, 04 Sep 2026 05:46:23 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885be1c1sm6033442f8f.32.2026.09.04.05.46.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0FEE261929; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525982; x=1789130782; 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=3dgVuutlV7hrgQvHehoq33u4nkPWd6zJN4Tj9pV47lc=; b=XzLoBBhDbgd32U4e9QcVkm/KHj2QccZ2HRtjVP+o41gefahFR6IL8eOLkJQIKtKDEp 5idbjOjY9VlqjIb6HNmDwQ6fHsxZsQDswmxinMrGxQC857a9lad+2N3wVT8VZT3eKlBm NfcgTljbZJISn+CoPYOvjEU4eoOpgRDpcgRNkC8lGRxUuwovtYs2Zb/BsivFahGVS+ON Y53ItSy08kUuPUTqPwBP4oDsjSMfqdcWh1zLkq/ZhVNk3kjE20PPYA6OnZW4NReHuO6C m5Bay5yd5tK7siGoph0m4Bn/AEEm7IRB9XPAJPQ41vZFQajKU/uJ46Ny89ReOj+Z9L/L jN9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525982; x=1789130782; 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=3dgVuutlV7hrgQvHehoq33u4nkPWd6zJN4Tj9pV47lc=; b=gj1LroyT06p08Q5UnpAS6S0w63STpWWEnSd/mLg1hzTCD9C8lW/C8bCR6ChskpTwR7 GB81jvVuRyBe1Pc3JYFyc8PjBCiHWWGgYD1XS8wTare4ErvfCeVOQgFMD5yQKm9qgIbZ bCNqL7OUdj/wcAwgJY77aVHhdh1QsW1/ZxlKN0qR/XOV22dWLUpg46RTouDhAW/+n6zd cYtK1f8uYlPeytD8yaQVINtsO5uimydrZcTx1QvKsaX2Tf1kH8TR3icX2IvVfAwp1z58 IfJT+Fzj5JUMrmbAIhC7q6qFvhp+/fjNbZ0EAYSYLUiT0KbKfUdSf1LNc6o/3aZD8tpx fJuA== X-Gm-Message-State: AFuF++nzr8RpBk9heuKVt0px4ppJUJK60F3cCBetFygRDybSamVm6WJw M0+JMFBMxfjf3bmlBEvZpGXSbeWf4dkFMLLp65ha95why641EulZ1UotYH0wkRhBXQ1kR3gxIH8 NuqP4ZE0= X-Gm-Gg: AYBFou2cBIhKFOHY4e2M/Vf268Nzs9eV+ZToE4OBVuW1zFkcCYDVwtkD0EtSA0OqFGq e3tLFttaeEvl5bOMZUvLZ1uSq774SgQokzNoo291NLBryo3yUtreGIBKAEjj9q7HkxiCymPaFwt XvTp2bPs2qB7IqzocHZic7OTFa5C/pYHvyubX5cXSVsDPKWT+DssZXWTe+oW0jP1OF/jZPoDtER +Qt9NcU5VQCL+k5gWwhUqv9EZxRLFGCEXG8UQGlZv9jgsWw2NI+mrOH2HvTSY9SlXswJ7+XRNW1 YTiPsUmKGu056TO4o+lrsnetllgX4tn7Sz9Jb9XitfNcJ//lH4nprNYLuoU3SiPcnkct+klINwS 1qfTYsCkAsfgBuuiSfWCMJF07cn+DpjTYa13ks3BP5PcmDOBvzrGp4siiGN03ZEUvrYTJmmJQ4b +QnjiFea2J6zqS2t/ldth72aclzM2GXOmFrWIiiGk/HVB/37fSNxRZJ7S4+J3G X-Received: by 2002:a05:6000:2408:b0:485:8a46:7067 with SMTP id ffacd0b85a97d-4858a467280mr4974369f8f.57.1788525982082; Fri, 04 Sep 2026 05:46:22 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 047/105] tests/tcg/arm: user tests Date: Fri, 4 Sep 2026 13:45:01 +0100 Message-ID: <20260904124604.2207440-48-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788526261670154100 From: Pierrick Bouvier Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-48-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target deleted file mode 100644 index 613bbf0939a..00000000000 --- a/tests/tcg/arm/Makefile.target +++ /dev/null @@ -1,87 +0,0 @@ -# -*- Mode: makefile -*- -# -# ARM - included from tests/tcg/Makefile -# - -ARM_SRC=3D$(SRC_PATH)/tests/tcg/arm - -# Set search path for all sources -VPATH +=3D $(ARM_SRC) - -config-cc.mak: Makefile - $(quiet-@)( \ - $(call cc-option,-fno-integrated-as, CROSS_CC_HAS_FNIA)) 3> config-cc= .mak --include config-cc.mak - -float_madds: CFLAGS+=3D-mfpu=3Dneon-vfpv4 - -# Basic Hello World -ARM_TESTS =3D hello-arm -hello-arm: CFLAGS+=3D-marm -ffreestanding -fno-stack-protector -hello-arm: LDFLAGS+=3D-nostdlib - -# Float-convert Tests -ARM_TESTS +=3D fcvt -fcvt: LDFLAGS +=3D -lm -fcvt: CFLAGS +=3D -march=3Darmv8.2-a+fp16 -mfpu=3Dneon-fp-armv8 -run-fcvt: fcvt - $(call run-test,fcvt,$(QEMU) $<) - $(call diff-out,fcvt,$(ARM_SRC)/fcvt.ref) - -# PC alignment test -ARM_TESTS +=3D pcalign-a32 -pcalign-a32: CFLAGS+=3D-marm - -ifeq ($(CONFIG_ARM_COMPATIBLE_SEMIHOSTING),y) - -# Semihosting smoke test for linux-user -semihosting: CFLAGS +=3D -mthumb - -ARM_TESTS +=3D semihosting-arm -semihosting-arm: CFLAGS +=3D -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME) -semihosting-arm: semihosting.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -run-semihosting-arm: semihosting-arm - $(call run-test,$<,$(QEMU) $< 2> $<.err) - -ARM_TESTS +=3D semiconsole-arm - -semiconsole: CFLAGS +=3D -mthumb - -semiconsole-arm: CFLAGS +=3D -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME) -semiconsole-arm: semihosting.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -run-semiconsole-arm: semiconsole-arm - $(call skip-test, $<, "MANUAL ONLY") - -endif - -ARM_TESTS +=3D commpage - -# Vector SHA1 -# Work around compiler false-positive warning, as we do for the 'sha1' test -sha1-vector: CFLAGS=3D-O3 -Wno-stringop-overread -sha1-vector: sha1.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) -run-sha1-vector: sha1-vector run-sha1 - $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) - $(call diff-out, sha1-vector, sha1.out) - -ARM_TESTS +=3D sha1-vector - -# Vector versions of sha512 (-O3 triggers vectorisation) -sha512-vector: CFLAGS=3D-O3 -sha512-vector: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -ARM_TESTS +=3D sha512-vector - -ifeq ($(CONFIG_PLUGIN),y) -# Require emitting arm32 instructions, otherwise the vCPU might accidental= ly -# try to execute Thumb instructions in arm32 mode after qemu_plugin_set_pc= () -test-plugin-set-pc: CFLAGS+=3D-marm -endif - -TESTS +=3D $(ARM_TESTS) diff --git a/tests/tcg/arm/meson.build b/tests/tcg/arm/meson.build new file mode 100644 index 00000000000..08a863699fb --- /dev/null +++ b/tests/tcg/arm/meson.build @@ -0,0 +1,78 @@ +cc =3D 'arm-linux-gnueabihf-gcc' +cc_dockerfile =3D 'debian-all-test-cross' +cc_docker_host_arch =3D ['aarch64', 'x86_64'] + +tests =3D [] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-linux-user']['tests'] + foreach src, setup: t + new_cflags =3D [] + if 'cflags' in setup + new_cflags =3D setup['cflags'] + endif + if fs.stem(src) =3D=3D 'float_madds' + new_cflags +=3D ['-mfpu=3Dneon-vfpv4'] + elif fs.stem(src) =3D=3D 'test-plugin-set-pc' + # Require emitting arm32 insns, otherwise the vCPU might accidentally + # try to execute Thumb insns in arm32 mode after qemu_plugin_set_pc() + new_cflags +=3D ['-marm'] + endif + if src not in multi_src + setup +=3D {'cflags': new_cflags} + multi_src +=3D src + endif + tests +=3D {src: setup} + endforeach +endforeach + +tests +=3D { + 'commpage.c': {}, + 'hello-arm.c': { + 'cflags': ['-marm', '-nostdlib', '-ffreestanding', '-fno-stack-protect= or'], + }, + 'fcvt.c': { + 'cflags': ['-lm', '-march=3Darmv8.2-a+fp16', '-mfpu=3Dneon-fp-armv8'], + 'expected_output': 'fcvt.ref', + }, + 'pcalign-a32.c': {'cflags': ['-marm']}, +} + +# Vector SHA1 +# Work around compiler false-positive warning, as we do for the 'sha1' test +tests +=3D {'../multiarch/sha1.c': { + 'exe_name': 'sha1-vector', + 'cflags': ['-O3', '-Wno-stringop-overread'], + 'expected_output': '../multiarch/sha1.ref', + }} + +# Vector versions of sha512 (-O3 triggers vectorisation) +tests +=3D {'../multiarch/sha512.c': { + 'exe_name': 'sha512-vector', + 'cflags': ['-O3'], + }} + +# Semihosting tests +semihosting_cflags =3D ['-marm', '-mthumb', '-I', meson.current_source_dir= ()] +tests +=3D { + '../multiarch/arm-compat-semi/semiconsole.c': { + 'cflags': semihosting_cflags, + 'wrapper': [prog_run_with_input, 'X'], + }, + '../multiarch/arm-compat-semi/semihosting.c': {'cflags': semihosting_cfl= ags}, +} + +if 'qemu-arm' in emulators + tcg_tests +=3D { + 'arm-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'arm', + 'gdb_arch': 'arm', + 'qemu': emulators['qemu-arm'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index e0789d9c1eb..17f48bebf98 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -139,6 +139,7 @@ endforeach subdir('aarch64') subdir('aarch64_be') subdir('alpha') +subdir('arm') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526455; cv=none; d=zohomail.com; s=zohoarc; b=eBYAls4M2nxomctC8IDEVBRz025X7Rt25N1zzWdfJ1TZdKbovPAvS034WvqxKIKkepxCKFbTvVzCqgF4An/lj82JsVwxVATQkgMtXIaMwK2QF3SmBmwdC3Mmc0rkWPZftv636AgrjP2z5ETgrqkqajh9xPH9Z0xt3aVgrfMK06k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526455; 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=X65c4epXSG6oxrnDyVNWDxY1k67sZHLow79LP0SYYmQ=; b=PoDS4DifG69rewecEXU56zHuukBDvOYL7+n8+1m1Z5wc9YfHMLjiRaPuoDhX3XPNhmLTHh69uLAVYpvPHbnHuUfINGZmHCKOW5Akn07r2PPMNlBnbYNiLSkvKBjUyawFUvCZ8uqpDQ9z7xrF8GYKY7o9OXwZMPtSh1L/ZyhhwL0= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852645510042.95687336402011; Fri, 4 Sep 2026 05:54:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQF-0001ci-IW; Fri, 04 Sep 2026 08:53:35 -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 1x2TQD-0001ap-61 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:33 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQB-0000fe-4r for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:32 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so10187705e9.1 for ; Fri, 04 Sep 2026 05:53:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfbdacc45sm42034575e9.11.2026.09.04.05.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 29CA961971; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526410; x=1789131210; 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=X65c4epXSG6oxrnDyVNWDxY1k67sZHLow79LP0SYYmQ=; b=quxGsdxvTYnPBV+DDKrJEatPBo3ZAzEqO/8Te2xTsuejtYNGnyQjzjPJfpFd2E7eNC U7NwvTr2a9TwGqlnGyoB2X8mCnJLDxStkLaecR48HR6kYQqT9ARFFUTuJOd/rc7VNvLZ 4KSCXFe09awDn5LuAYED9MnqeXXI1jDzYaTr4jGEIlg4S/DMGkNirD48P56i586H91Rt X7k7tCpNCsHx4FBt/V4ratIKe4MqmrJgIBH+dryXqwr+FjYPW4b82H74b0h/o9l1fiPm w9DhJK2ewETXgAaGC7U3lsynW1ywlHy2vUFZxP81P3FKq+FsQ/OZApRlbgb8bkmOGPxm rXtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526410; x=1789131210; 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=X65c4epXSG6oxrnDyVNWDxY1k67sZHLow79LP0SYYmQ=; b=GbLLsq+x7lJmtFkkl8sMYQfQztLlbzAknBgm/+07yloUAsdFcWBkKpfBjuVay1bj4A oIstWOlXxN2OuwyXp+RgXsZGpPw5I0LvlWnj+B07l3TY93BtVVQhsJ6zuxs5yxb56T7C as4oIwx7tT2wj1TaV5gl9oTMZeBdJApWIcKjGFYLZM7qNI3248Ass3E7AxOf/0W0Pb9D OYGZzjc8vdx0iYGIb2PrAidwFiDFSjHzr/GSYm5egivjJ0Kji2awnBwtFa4VhybGb9JF u+qCYWcK4MnaOTuNZqbyPu4m02jAhSVDTzVqwTiLVQ9UT3SocJwM9BuiL12hq5lva79d dfBQ== X-Gm-Message-State: AFuF++nY9xOPu1ibLYCjPLvThjNTYcHwGPaVdxo3K9eq29XpcCgfiHZp XdNYXTNpLZn37wFZvIGrG7n7e6VhOTUGWHW9DYyE0kgN1drmv/MK5GismT2lV7ZabBk= X-Gm-Gg: AYBFou0Xsob3IkBJ90/pwEbtRRvkOsPHpVOa2OP/hx8vmwSmEjKSZi19p8UFGQmOqs3 VYTCwQExE1wbhsaylgXL6ma9an2IzepYDFX1Rp19k9+iIKxP4NFm9AnKYq3u7DJZqJqt4m1AaOI KtPnFdvZACRlpaKydLzAimxYA7RkEnozvxpxb5l5xCdpUlhXx0d5xmXMySqxSBjpgbjdDKN4vJD 1Aupg560iSXk5YAtg9nPVW15AGZ4JtJ4dA/DbX4DsgiTGI8in0cp6p/svGZoEVKMa1bl189PdnW L3RFE3mbpVdsyTN44JlgDxnjObDlNoEFF7ctz4Y//uO0wAAdC3ArfcUqvcDXMT7xsEspJC4B64F 4WQfBluuDAIyjMFd3EPf5+gspQH50HVbmrECNaSW3kLesdLiTVoLlYT1qYaqOqOjhBjZBtpc9oR WEvQEcxbNf8L6njDmedCqtGnL2GSM/E9wENoXfj9qp6jxWH9F69Ol8u6eM9TnEno9XSR79ioBNR w== X-Received: by 2002:a05:600c:6098:b0:49c:fc6c:be05 with SMTP id 5b1f17b1804b1-49cfc6cbfdbmr33699315e9.28.1788526409508; Fri, 04 Sep 2026 05:53:29 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PULL 048/105] tests/tcg/arm: system tests Date: Fri, 4 Sep 2026 13:45:02 +0100 Message-ID: <20260904124604.2207440-49-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526457507158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-49-pierrick.bouvier@oss.qualcomm.com> [AJB: fix merge conflict] Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/arm/Makefile.softmmu-target b/tests/tcg/arm/Makefile= .softmmu-target deleted file mode 100644 index 3e8a9b4073e..00000000000 --- a/tests/tcg/arm/Makefile.softmmu-target +++ /dev/null @@ -1,80 +0,0 @@ -# -*- Mode: makefile -*- -# -# ARM SoftMMU tests - included from tests/tcg/Makefile -# - -ARM_SRC=3D$(SRC_PATH)/tests/tcg/arm/system - -# Set search path for all sources -VPATH +=3D $(ARM_SRC) - -# Specific Test Rules - -test-armv6m-undef: test-armv6m-undef.S - $(CC) -mcpu=3Dcortex-m0 -mfloat-abi=3Dsoft \ - -Wl,--build-id=3Dnone -x assembler-with-cpp \ - $< -o $@ -nostdlib -static \ - -T $(ARM_SRC)/$@.ld - -run-test-armv6m-undef: QEMU_OPTS=3D-semihosting-config enable=3Don,target= =3Dnative,chardev=3Doutput -M microbit -kernel - -ARM_TESTS+=3Dtest-armv6m-undef - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -ARM_TEST_SRCS=3D$(wildcard $(ARM_SRC)/*.c) -ARM_TESTS+=3D$(patsubst $(ARM_SRC)/%.c, %, $(ARM_TEST_SRCS)) - -CRT_PATH=3D$(ARM_SRC) -LINK_SCRIPT=3D$(ARM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -CFLAGS+=3D-march=3Darmv7-a+fp -ffreestanding -nostdlib -ggdb -O0 $(MINILIB= _INC) -LDFLAGS+=3D-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -%.o: $(ARM_SRC)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -= c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D0 - -# Running -QEMU_BASE_MACHINE=3D-M virt -cpu max -display none -QEMU_OPTS+=3D$(QEMU_BASE_MACHINE) -semihosting-config enable=3Don,target= =3Dnative,chardev=3Doutput -kernel - -# console test is manual only -QEMU_SEMIHOST=3D-serial none -chardev stdio,mux=3Don,id=3Dstdio0 -semihost= ing-config enable=3Don,chardev=3Dstdio0 -mon chardev=3Dstdio0,mode=3Dreadli= ne -run-semiconsole: QEMU_OPTS=3D$(QEMU_BASE_MACHINE) $(QEMU_SEMIHOST) -kernel -run-semiconsole: semiconsole - $(call skip-test, $<, "MANUAL ONLY") - $(if $(V),@printf " %-7s %s %s\n" "TO RUN" $(notdir $(QEMU)) "$(QEMU_OPT= S) $<") -run-plugin-semiconsole-with-%: semiconsole - $(call skip-test, $<, "MANUAL ONLY") - -# Simple Record/Replay Test -.PHONY: memory-record -run-memory-record: memory-record memory - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -icount shift=3D5$(COMMA)rr=3Drecord$(COMMA)rrfile=3Drecord.bin \ - $(QEMU_OPTS) memory) - -.PHONY: memory-replay -run-memory-replay: memory-replay run-memory-record - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -icount shift=3D5$(COMMA)rr=3Dreplay$(COMMA)rrfile=3Drecord.bin \ - $(QEMU_OPTS) memory) - -EXTRA_RUNS+=3Drun-memory-replay - -TESTS +=3D $(ARM_TESTS) $(MULTIARCH_TESTS) -EXTRA_RUNS+=3D$(MULTIARCH_RUNS) diff --git a/tests/tcg/arm/meson.build b/tests/tcg/arm/meson.build index 08a863699fb..1b491cea026 100644 --- a/tests/tcg/arm/meson.build +++ b/tests/tcg/arm/meson.build @@ -2,6 +2,8 @@ cc =3D 'arm-linux-gnueabihf-gcc' cc_dockerfile =3D 'debian-all-test-cross' cc_docker_host_arch =3D ['aarch64', 'x86_64'] =20 +subdir('system') + tests =3D [] =20 # Multi arch tests diff --git a/tests/tcg/arm/system/meson.build b/tests/tcg/arm/system/meson.= build new file mode 100644 index 00000000000..4c77b9c3d62 --- /dev/null +++ b/tests/tcg/arm/system/meson.build @@ -0,0 +1,69 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script, + '-march=3Darmv7-a+fp', + '-lgcc'] +qemu_base_args =3D ['-display', 'none', + '-semihosting-config', 'enable=3Don', + '-kernel'] +qemu_def_args =3D ['-M', 'virt', '-cpu', 'max', qemu_base_args] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D0' + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +tests +=3D { + 'test-armv6m-undef.S': { + 'cflags': ['-mcpu=3Dcortex-m0', '-mfloat-abi=3Dsoft', '-nostdlib', + '-Wl,--build-id=3Dnone', + '-T', files('test-armv6m-undef.ld')], + 'qemu_args': ['-M', 'microbit', qemu_base_args], + }, + 'semiconsole.c': { + 'cflags': cflags, + 'qemu_args': ['-serial', 'none', '-chardev', 'stdio,mux=3Don,id=3Dstdi= o0', + '-semihosting-config', 'enable=3Don,chardev=3Dstdio0', + '-mon', 'chardev=3Dstdio0,mode=3Dreadline', + qemu_def_args], + 'wrapper': [prog_run_with_input, 'X'] + }, + '../../multiarch/system/memory.c': { + 'test_name': 'memory-record-replay', + 'qemu_args': qemu_def_args, + 'wrapper': [prog_record_replay], + }, +} + +if 'qemu-system-arm' in emulators + tcg_tests +=3D { + 'arm-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'arm/system', + 'gdb_arch': 'arm', + 'qemu': emulators['qemu-system-arm'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527055; cv=none; d=zohomail.com; s=zohoarc; b=cxif3T4R5VsZqJjqT1GlHpUqBI1CUkI6AiMvUL3bSZUpXQJA3qU2Oj/+w+YmUre7NpbdVZp0ovC3z+j7J6cOVhP6fODnee5PzWcfZjCIGmx/gQDoWqH5iDVTqgeEbaYKWxgJdyjy7jsb+itKN3AeO3md4m6LeIDjYZWbgfBJB/4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527055; 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=2aEP2arVZ2FHdJqm5ubVDao88BgNS/POQfZZHvg0FCE=; b=STdAYl9fE7ezYWHhwrzvOxdEF2iQ4C3CHspoTT9wjA4cJMWt0PitKst0XXhiYQBalN9hzvmVStJUl5w5phiFNG7EfI4FGchthZwGvi4JbhTPTvFv+mam90edixdS/cuSb4xgHWZj/PykZlfk+ikyExoQH0ZrJYP1YgdMa0/wbuQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527055410249.34818650121292; Fri, 4 Sep 2026 06:04:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaU-0006j0-Qj; Fri, 04 Sep 2026 09:04:10 -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 1x2Ta8-0006VF-HG for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:49 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZw-00037Y-Ud for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-49b0d78a801so9334425e9.2 for ; Fri, 04 Sep 2026 06:03:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5952560sm177216395e9.3.2026.09.04.06.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4454061982; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527012; x=1789131812; 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=2aEP2arVZ2FHdJqm5ubVDao88BgNS/POQfZZHvg0FCE=; b=T7GrNPRJZjageBtrNbE6EbJQt1IddtaVOhFuJSrXNcbDP3p2EUTei9kR9UTaEZjRbl vY3y62VJFY+GT/b2NrSHBcIr1/L+gXk/Rs1tk91edfxW6JsLeeXddC/ZUP+F7agrOVUK Ek5G6gyjY1OfImhTwf0LBAqV2RU7Tq6MK188kaelWsUiSxJnhJsHDD5LBzUxOUx2tKIz pfqwBH4mLZ7f6hbx5HlEgdzdBtKNCpztNHevaMK4of0+UvVSLKmPaOiZv5aCN9rnGPpA 11dHwaWWcCIFkHQntemOYmj3vHMj2Ns0g8a1XTxIoyHcjS7CTQ8A5AWp28Z2sPqEcJn8 NvZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527012; x=1789131812; 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=2aEP2arVZ2FHdJqm5ubVDao88BgNS/POQfZZHvg0FCE=; b=G8Q/nHxhVwCO2z5jJKwmLfxdJsIKCBhcB9soNgMoqdK5KKCwtXl0Iu9Uv9QKdleB3Z VTks5JIEBV3KMVu74v3LhUUnRgfTqJpbNjgFLsR7voBJm2p3mv7EkTdEGMizW6/+uzmq Nly8a193uQHYEnivM4tuq0seFcvpin7Z02/I4zYm2Mj/WMxeMcPX0bkIDzlRva9FCeTx SOFVTgHor0pGMidqsoTXTMLtItDEOHQOGiWoe4asirCf8kuYrvXZ9GujtUjtwUhBpVAF vUrrWR6lKERlvEr5XDoTTphOJUvrgkXuPcgWxCC6huTxGB0EDvqzndNkaSzjz/yaIDJd M0LQ== X-Gm-Message-State: AFuF++mvh1owdNAw3bToWQpaOGWgrChdf8kuXU7Xguv+5hh70AVAbjwx 3Ak377Gu+LvnCelw1y3GZCTcMgL9djrXAXlh8lWG/iaM1uzefCizMNFewb+dAqHfxL4= X-Gm-Gg: AYBFou33zEBrrY5YmvQHIY6XWAZTXb57ceRUY/iCgUisPBxWTmWYucRAkueIVDNEOS8 wKuN61x6WwbpVehnNjgrkEGwCz3Ufd7HARUvAkYT+1P5/EZvs12c0TcbmS8050/f+ACA1qnJOFW EoB5QzA3L31WqiEup3uUix/hWVBUoXxRpDPDwD2baVQvtnqkrGEy3G4S3g09QPhp2ulQus6mOCy 3nMOH4X1oRMb9CdOCwyHBl+WIEN7N1m3IweB7I0n2b8tY9aM1oXRZq4jo90slTeS9AxIMbj/4b+ 9YWTKHKRy45D8hweeLDJqQcu+m5CVuzbzxZzmEdr37pcPV5fkne5KNzWAS13aRETptdWiWQqaTm XRW/CORqgh68TGwfzRdRWrmKp18doffAQVgZZ3v57aCN626MA2vgfD4Li4f5LhzzhxKjQCpC5ML 74pMAh6C30Ej/o2B12np1WZrLsZ30MBsfMFYJIgCgFGRukKSXd4E0+NJP4Y2pR X-Received: by 2002:a05:600c:46d5:b0:49c:fc6c:be06 with SMTP id 5b1f17b1804b1-49cfc6cc142mr31704175e9.29.1788527012046; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Brian Cain , Aniket Sahu Subject: [PULL 049/105] tests/tcg/hexagon/overflow.c: add missing include Date: Fri, 4 Sep 2026 13:45:03 +0100 Message-ID: <20260904124604.2207440-50-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527056696158500 From: Pierrick Bouvier ../tests/tcg/hexagon/overflow.c:59:1: error: unknown type name 'bool' Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Reviewed-by: Brian Cain Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-50-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/hexagon/overflow.c b/tests/tcg/hexagon/overflow.c index 7b5b9ebdde6..9ac2d6eab62 100644 --- a/tests/tcg/hexagon/overflow.c +++ b/tests/tcg/hexagon/overflow.c @@ -15,6 +15,7 @@ * along with this program; if not, see . */ =20 +#include #include #include #include --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528224; cv=none; d=zohomail.com; s=zohoarc; b=cAfnnbTyHpLXUpVqPqesb0qGasyMAWkBw2Cyw8MPRCyLG12cXeZmk/qOdWHz+0cO1yinm883nVLhxQHVqAnnC/OxmL+Cv1OOawbuUOULWaUe3sUdKDw1xD2va57OXCMKPE9K6qPxXY2xoSf4f/QwvEfIU3lkqgPGYK64+pG19Fc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528224; 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=cKQJGHQ+w7edigcXwLoHDig3QPQWeSds/1gr0aT4kEY=; b=ivF4bAN7Jtb9y2anz3YW3G6RlJISgjBWbckabOdQCMxnIXarUcWQEVDxXFinX+p8ELWuGsEWO03S0f2YM6fN4FbCD3u+9uruv8I51O7qpvdIigGpyrpja5gNdgGGPEWnyorUODC9ftA2mnS1tq2MEP+7AxDHwVxvDK9u2ynlH5E= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528224169811.081686405375; Fri, 4 Sep 2026 06:23:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtD-0005T2-SL; Fri, 04 Sep 2026 09:23:31 -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 1x2TtB-0005SL-Gb for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:29 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Tt8-0008GC-NK for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:29 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4957eefd361so7690915e9.1 for ; Fri, 04 Sep 2026 06:23:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf772bd2asm64104485e9.11.2026.09.04.06.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6024E61996; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528205; x=1789133005; 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=cKQJGHQ+w7edigcXwLoHDig3QPQWeSds/1gr0aT4kEY=; b=yc/x+NB0G7D9BfGWWThINCdDPyIA3ttGzrN0IG+Qxv+4kbBDF1mwLtxO4s/CxltZtC cLBdj+U/U2nUlYCIPWN2ONbvMM/ilu8INwJfHQ5ed0V9Pz6f5vNxu2B1Yr286EN3HBWG 1hnzEosRJA1r0iJyzWI0odN6a3gVG9G7yriX3EpCHrg+qBVa5u9p3fN8f3uv4BVaeZNf Yt3nE7dRD70LnK7+5UxjW1WJhmsNNQMvBzElMvbtbPGCMl70xeh2OzhtCFStSbr7oiXb IzQ7QtKcpf35hvjDi9ESBF520AI8sWMOfFkxgv2qQIr2vWUs+9khDUh7m4a7GAfnNsgL cuRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528205; x=1789133005; 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=cKQJGHQ+w7edigcXwLoHDig3QPQWeSds/1gr0aT4kEY=; b=k3tQDcI8eW86yFJxwklSP/g9zFEqSFpAx4jLNAkTn0epneX3Tm1mjCbd7W9Ovl64Zk UYlKwoVAdCHSGvyHChszb8DGcSSHc0f/pfgw2JdaShprXrrDKdIVLMM25YXZoi2BIrRb lA3TUN6eNmV31lDymExodUCu1/BqmjgDRtHdY3VgfxZ6/VXoYxcjneWMELDZTuPTNMRw 8gTzFPGEYQNtasXCWdbB87eu0f2asTDVsZJRBJqhi3ZYhA2Hq7HS6SJKYvoz2zrD8wVP XAjiO2lKVSus8JQiF0lCXnGQse74EouZeqsC1CGcAf3KJDtxI1I9chiXVxnMZu3yiuHQ A8Kg== X-Gm-Message-State: AFuF++lsphNA3zZsgCJyvFtfcQ9nxYRaoeu3rigYjTLvwSLLNWHici61 VcLd7XpUHziuwV+AxH3dN2INFaYRPs4H+IKWCmRD0NdH4j837E1o4UaSWIfmI7tDKLg= X-Gm-Gg: AYBFou0p1Ekn85YG0cDBLMJs2cuEteW9lfFjP48CKplF5yr8vGoPh8UM9Zn4HzJvnmP tBLqPWw3tRVAIei4oDGcyBMKWPiGyB4hdqL02rmqguWiez76tuwSlKfMZN6mBM07hks/3x6TKky dI7feoK5igeFh5wVpySupsyV76TIJyVUMkg/Zki+RIC/gMwoQG5JD4yEm3l1XPsG10LTRyRkOqB uF3tyhzNKqfYS3U3ZtilJ9/t7GsiGT/7BlXh7Bx4+g6glmwUQZNVQ+LYrBedo5uY7DJiJtNFM8F 8o1SaQW33jGzukJ1oWL6oY8vYilD8+xB7MyH4qUvKkLUDZYHKTfih3Y3jyYLJCJu7TEqJQgKLeN pBcSkMwP2WcJwniaBjmFS7RHPQo3BSw+ZfBorqnzAwrQNWgDhQGUVEabpU5wgo7hjZecCMzR3nX 2JNcdYSk20b7t1lzcWwxLloO4wKdDxcDvU73xyPJPV8fK62pQUN4qGXGSiG7jv X-Received: by 2002:a05:600d:6501:10b0:49c:f2f4:edca with SMTP id 5b1f17b1804b1-49cf825c891mr50597475e9.15.1788528204654; Fri, 04 Sep 2026 06:23:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Brian Cain , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 050/105] tests/tcg/hexagon: user tests Date: Fri, 4 Sep 2026 13:45:04 +0100 Message-ID: <20260904124604.2207440-51-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528225610158500 From: Pierrick Bouvier Reviewed-by: Brian Cain Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-51-pierrick.bouvier@oss.qualcomm.com> [AJB: fix merge conflict] Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/hexagon/Makefile.target b/tests/tcg/hexagon/Makefile= .target deleted file mode 100644 index f72bb8a6b45..00000000000 --- a/tests/tcg/hexagon/Makefile.target +++ /dev/null @@ -1,166 +0,0 @@ -## -## Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Res= erved. -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, see . -## - -# Hexagon doesn't support gdb, so skip the EXTRA_RUNS -EXTRA_RUNS =3D - -CFLAGS +=3D -Wno-incompatible-pointer-types -Wno-undefined-internal -CFLAGS +=3D -fno-unroll-loops -fno-stack-protector - -HEX_SRC=3D$(SRC_PATH)/tests/tcg/hexagon -VPATH +=3D $(HEX_SRC) - -%: $(HEX_SRC)/%.S $(HEX_SRC)/crt.S - $(CC) -static -mv67 -nostdlib $^ -o $@ - -HEX_TESTS =3D first -HEX_TESTS +=3D hex_sigsegv -HEX_TESTS +=3D misc -HEX_TESTS +=3D usr -HEX_TESTS +=3D preg_alias -HEX_TESTS +=3D dual_stores -HEX_TESTS +=3D multi_result -HEX_TESTS +=3D mem_noshuf -HEX_TESTS +=3D mem_noshuf_exception -HEX_TESTS +=3D circ -HEX_TESTS +=3D brev -HEX_TESTS +=3D load_unpack -HEX_TESTS +=3D load_align -HEX_TESTS +=3D atomics -HEX_TESTS +=3D fpstuff -HEX_TESTS +=3D overflow -HEX_TESTS +=3D signal_context -HEX_TESTS +=3D reg_mut -HEX_TESTS +=3D read_write_overlap -HEX_TESTS +=3D vector_add_int -HEX_TESTS +=3D scatter_gather -HEX_TESTS +=3D hvx_misc -HEX_TESTS +=3D hvx_histogram -HEX_TESTS +=3D fp_hvx -HEX_TESTS +=3D fp_hvx_cvt -HEX_TESTS +=3D fp_hvx_cmp -HEX_TESTS +=3D fp_hvx_disabled -HEX_TESTS +=3D invalid-slots -HEX_TESTS +=3D valid-slots -HEX_TESTS +=3D invalid-encoding -HEX_TESTS +=3D multiple-writes -HEX_TESTS +=3D privileged-insn -HEX_TESTS +=3D unaligned_pc -HEX_TESTS +=3D unaligned_data -HEX_TESTS +=3D icinva - -HEX_TESTS +=3D test_abs -HEX_TESTS +=3D test_bitcnt -HEX_TESTS +=3D test_bitsplit -HEX_TESTS +=3D test_call -HEX_TESTS +=3D test_clobber -HEX_TESTS +=3D test_cmp -HEX_TESTS +=3D test_dotnew -HEX_TESTS +=3D test_ext -HEX_TESTS +=3D test_fibonacci -HEX_TESTS +=3D test_hl -HEX_TESTS +=3D test_hwloops -HEX_TESTS +=3D test_jmp -HEX_TESTS +=3D test_lsr -HEX_TESTS +=3D test_mpyi -HEX_TESTS +=3D test_packet -HEX_TESTS +=3D test_reorder -HEX_TESTS +=3D test_round -HEX_TESTS +=3D test_vavgw -HEX_TESTS +=3D test_vcmpb -HEX_TESTS +=3D test_vcmpw -HEX_TESTS +=3D test_vlsrw -HEX_TESTS +=3D test_vmaxh -HEX_TESTS +=3D test_vminh -HEX_TESTS +=3D test_vpmpyh -HEX_TESTS +=3D test_vspliceb - -HEX_TESTS +=3D check_rev_gating -HEX_TESTS +=3D test_pnew_jump_loads - -HEX_TESTS +=3D v68_scalar -HEX_TESTS +=3D v68_hvx -HEX_TESTS +=3D v69_hvx -HEX_TESTS +=3D v73_scalar - -TESTS +=3D $(HEX_TESTS) - -atomics: atomics.c hex_test.h -brev: brev.c hex_test.h -circ: circ.c hex_test.h -dual_stores: dual_stores.c hex_test.h -fpstuff: fpstuff.c hex_test.h -hex_sigsegv: hex_sigsegv.c hex_test.h -icinva: icinva.c hex_test.h -load_align: load_align.c hex_test.h -load_unpack: load_unpack.c hex_test.h -mem_noshuf_exception: mem_noshuf_exception.c hex_test.h -mem_noshuf: mem_noshuf.c hex_test.h -misc: misc.c hex_test.h -multi_result: multi_result.c hex_test.h -overflow: overflow.c hex_test.h -preg_alias: preg_alias.c hex_test.h -read_write_overlap: read_write_overlap.c hex_test.h -reg_mut: reg_mut.c hex_test.h -test_pnew_jump_loads: test_pnew_jump_loads.c hex_test.h -unaligned_data: unaligned_data.c hex_test.h -unaligned_pc: unaligned_pc.c - -# Compile for v66 so that the ELF selects a v66 CPU; the test then -# exercises revision gating by executing a v68 .word instruction. -run-check_rev_gating: QEMU_OPTS +=3D -cpu v66 -check_rev_gating: check_rev_gating.c - $(CC) $(CFLAGS) -mv66 -O2 $< -o $@ $(LDFLAGS) - -# This test has to be compiled for the -mv67t target -usr: usr.c hex_test.h - $(CC) $(CFLAGS) -mv67t -O2 -Wno-inline-asm -Wno-expansion-to-defined $< -= o $@ $(LDFLAGS) - -# Build this test with -mv71 to exercise the CABAC instruction -misc: misc.c - $(CC) $(CFLAGS) -mv71 -O2 $< -o $@ $(LDFLAGS) -scatter_gather: CFLAGS +=3D -mhvx -vector_add_int: CFLAGS +=3D -mhvx -fvectorize -hvx_misc: hvx_misc.c hvx_misc.h -hvx_misc: CFLAGS +=3D -mhvx -hvx_histogram: CFLAGS +=3D -mhvx -Wno-gnu-folding-constant -v68_hvx: v68_hvx.c hvx_misc.h v6mpy_ref.c.inc -v68_hvx: CFLAGS +=3D -mhvx -Wno-unused-function -v69_hvx: v69_hvx.c hvx_misc.h -v69_hvx: CFLAGS +=3D -mhvx -Wno-unused-function -v73_scalar: CFLAGS +=3D -Wno-unused-function -fp_hvx: fp_hvx.c hvx_misc.h hex_test.h -fp_hvx: CFLAGS +=3D -mhvx -mhvx-ieee-fp -fp_hvx_disabled: fp_hvx_disabled.c hvx_misc.h hex_test.h -fp_hvx_disabled: CFLAGS +=3D -mhvx -mhvx-ieee-fp -fp_hvx_cvt: fp_hvx_cvt.c hvx_misc.h hex_test.h -fp_hvx_cvt: CFLAGS +=3D -mhvx -mhvx-ieee-fp -fp_hvx_cmp: fp_hvx_cmp.c hvx_misc.h hex_test.h -fp_hvx_cmp: CFLAGS +=3D -mhvx -mhvx-ieee-fp - -run-fp_hvx_disabled: QEMU_OPTS +=3D -cpu v73,ieee-fp=3Dfalse - -hvx_histogram: hvx_histogram.c hvx_histogram_row.S - $(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS) - -ifeq ($(CONFIG_PLUGIN),y) -# LLVM is way too aggressive with inlining and dead code elimination even = at -# -O0, which interferes with the test. What looks like dead code in this t= est -# to the compiler isn't actually dead code, so we need to disable all pote= ntial -# LLVM optimization passes. -test-plugin-set-pc: CFLAGS +=3D -Xclang -disable-llvm-passes -endif diff --git a/tests/tcg/hexagon/meson.build b/tests/tcg/hexagon/meson.build new file mode 100644 index 00000000000..4a2826c4276 --- /dev/null +++ b/tests/tcg/hexagon/meson.build @@ -0,0 +1,120 @@ +tests =3D [] + +cflags =3D ['-Wno-incompatible-pointer-types', '-Wno-undefined-internal', + '-fno-unroll-loops', '-fno-stack-protector'] +asmflags =3D [cflags, '-nostdlib', '-mv67', files('crt.S')] + +multi_src =3D [] +foreach t: tcg_tests['multiarch-linux-user']['tests'] + foreach src, setup: t + if 'gdb_test' in setup + # gdb does not support hexagon, ignore test + continue + endif + new_cflags =3D [] + if 'cflags' in setup + new_cflags +=3D setup['cflags'] + endif + new_cflags +=3D cflags + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup} + endforeach +endforeach + +tests +=3D { + 'atomics.c': {'cflags': cflags}, + 'brev.c': {'cflags': cflags}, + # Compile for v66 so that the ELF selects a v66 CPU; the test then + # exercises revision gating by executing a v68 .word instruction. + 'check_rev_gating.c': { + 'cflags': [cflags, '-mv66', '-O2'], + 'qemu_args': ['-cpu', 'v66'], + }, + 'circ.c': {'cflags': cflags}, + 'first.S': {'cflags': asmflags}, + 'fpstuff.c': {'cflags': cflags}, + 'hex_sigsegv.c': {'cflags': cflags}, + 'fp_hvx.c': {'cflags': [cflags, '-mv73', '-mhvx', '-mhvx-ieee-fp']}, + 'fp_hvx_disabled.c': {'cflags': [cflags, '-mv73', '-mhvx', '-mhvx-ieee-f= p'], + 'qemu_args': ['-cpu', 'v73,ieee-fp=3Dfalse']}, + 'fp_hvx_cvt.c': {'cflags': [cflags, '-mv73', '-mhvx', '-mhvx-ieee-fp']}, + 'fp_hvx_cmp.c': {'cflags': [cflags, '-mv73', '-mhvx', '-mhvx-ieee-fp']}, + 'hvx_misc.c': {'cflags': [cflags, '-mhvx', '-mv69']}, + 'hvx_histogram.c': { + 'cflags': [cflags, '-mhvx', '-Wno-gnu-folding-constant', + files('hvx_histogram_row.S')] + }, + 'invalid-encoding.c': {'cflags': cflags}, + 'invalid-slots.c': {'cflags': cflags}, + 'icinva.c': {'cflags': cflags}, + 'load_align.c': {'cflags': cflags}, + 'load_unpack.c': {'cflags': cflags}, + # Build this test with -mv71 to exercise the CABAC instruction + 'misc.c': {'cflags': [cflags, '-mv71', '-O2']}, + 'multiple-writes.c': {'cflags': cflags}, + 'overflow.c': {'cflags': cflags, 'exe_name': 'hex-overflow'}, + 'preg_alias.c': {'cflags': cflags}, + 'dual_stores.c': {'cflags': cflags}, + 'multi_result.c': {'cflags': cflags}, + 'mem_noshuf.c': {'cflags': cflags}, + 'mem_noshuf_exception.c': {'cflags': cflags}, + 'privileged-insn.c': {'cflags': cflags}, + 'read_write_overlap.c': {'cflags': cflags}, + 'reg_mut.c': {'cflags': cflags}, + 'scatter_gather.c': {'cflags': [cflags, '-mhvx']}, + 'signal_context.c': {'cflags': cflags}, + 'test_abs.S': {'cflags': asmflags}, + 'test_bitcnt.S': {'cflags': asmflags}, + 'test_bitsplit.S': {'cflags': asmflags}, + 'test_call.S': {'cflags': asmflags}, + 'test_clobber.S': {'cflags': asmflags}, + 'test_cmp.S': {'cflags': asmflags}, + 'test_dotnew.S': {'cflags': asmflags}, + 'test_ext.S': {'cflags': asmflags}, + 'test_fibonacci.S': {'cflags': asmflags}, + 'test_hl.S': {'cflags': asmflags}, + 'test_hwloops.S': {'cflags': asmflags}, + 'test_jmp.S': {'cflags': asmflags}, + 'test_lsr.S': {'cflags': asmflags}, + 'test_mpyi.S': {'cflags': asmflags}, + 'test_packet.S': {'cflags': asmflags}, + 'test_reorder.S': {'cflags': asmflags}, + 'test_round.S': {'cflags': asmflags}, + 'test_vavgw.S': {'cflags': asmflags}, + 'test_vcmpb.S': {'cflags': asmflags}, + 'test_vcmpw.S': {'cflags': asmflags}, + 'test_vlsrw.S': {'cflags': asmflags}, + 'test_vmaxh.S': {'cflags': asmflags}, + 'test_vminh.S': {'cflags': asmflags}, + 'test_vpmpyh.S': {'cflags': asmflags}, + 'test_vspliceb.S': {'cflags': asmflags}, + 'unaligned_pc.c': {'cflags': cflags}, + 'unaligned_data.c': {'cflags': cflags}, + 'usr.c': { + 'cflags': [cflags, '-mv67t', '-O2', + '-Wno-inline-asm', '-Wno-expansion-to-defined'] + }, + 'v68_scalar.c': {'cflags': [cflags, '-mv68']}, + 'v68_hvx.c': {'cflags': [cflags, '-mhvx', '-Wno-unused-function', '-mv68= ']}, + 'v69_hvx.c': {'cflags': [cflags, '-mhvx', '-Wno-unused-function', '-mv69= ']}, + 'v73_scalar.c': {'cflags': [cflags, '-Wno-unused-function', '-mv73']}, + 'valid-slots.c': {'cflags': cflags}, + 'vector_add_int.c': {'cflags': [cflags, '-mhvx', '-fvectorize']}, +} + +if 'qemu-hexagon' in emulators + tcg_tests +=3D { + 'hexagon-linux-user': { + 'cc': 'hexagon-unknown-linux-musl-clang', + 'cc_dockerfile': 'debian-hexagon-cross', + 'cc_docker_host_arch': ['x86_64'], + 'folder': 'hexagon', + 'gdb_arch': 'hexagon_is_not_supported_by_gdb', + 'qemu': emulators['qemu-hexagon'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 17f48bebf98..27d7aedb8b8 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -140,6 +140,7 @@ subdir('aarch64') subdir('aarch64_be') subdir('alpha') subdir('arm') +subdir('hexagon') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526527; cv=none; d=zohomail.com; s=zohoarc; b=T9IggQVFvOOUaeuFTRwPTgw3Y6o1z9LLfiR7+gOgGNQN6JANbO891nk+jmtaRbDGsgLxilRq9qYaBko70GCZeRHVHlFN6FRuRPbH+DMUT6lyGaAjbwf83l1q8yqUWksfaGrawPKWQ7sUu/yiZUfz+bheil2/0a42aUQrW5rBMQQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526527; 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=XUkDyBtHnyENMgpO/P1nSAPBdpBC7ODMYbtYEBkq9vM=; b=SRkv1k9NpNw8Y/En0uhHx/rjqtiugEGyZ79GUUQVU3C03m5UNMBwRvs7aHoYNIG+OQU6ro7eJQrOA0OWbaaaUQ8wD3WeFgxSLTKNesgwFYfoaiTY5aqvohftiqOdQrjeNPUgKbjA82SrNrzVrnz5DxzpT4Yuoodb9YttEzlGrZc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526527572692.7264530471093; Fri, 4 Sep 2026 05:55:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQK-0001gn-DN; Fri, 04 Sep 2026 08:53:40 -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 1x2TQI-0001fn-Tp for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:38 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQF-0000hn-R5 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:38 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-47f96c5b722so653457f8f.0 for ; Fri, 04 Sep 2026 05:53:35 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858bcefd59sm3457453f8f.19.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 771F76199F; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526414; x=1789131214; 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=XUkDyBtHnyENMgpO/P1nSAPBdpBC7ODMYbtYEBkq9vM=; b=Hc2Nv1Ca7azc52qOhO+qBia+tFOEzXdoklbPz2GB4BcoprCASJl8Q0ilyclxtVj8R6 mKeaj8kgJAwzHHUDe2ch/wC5HJi8l3nwwmMEyCK+dnvmPmATAe9Z8uSKwEnAx/7c3I1K BXPbG3eBg7QAx+mpNcZUKAuk918+9nmSfGtfU4aqu6XwXv4c+KqV1xmVSHbdG9Xan31Y fNdqWO3MqOk7oqSODhYMFPzYbflJGu8lCqpPRnColo1hvu7ChMUC04uY8oP+hs/Ea+6u 4Qdeda/r2ebT0XV5fxYawP2rzUBXxWXcWWaIoSb70lrOm1P+kqoV+ieic7LtD1S9S/Q8 ARzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526414; x=1789131214; 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=XUkDyBtHnyENMgpO/P1nSAPBdpBC7ODMYbtYEBkq9vM=; b=JjQT6n3op9mPbAHeypyvH1efYIruIiNpJiqwkYAJx/2RxCVmD5cw/j2XAxyfgDVopF W4Qbbmdc4QL+3lH6Eiq0HhNZ9lD6zcB29z4V15DQFuTxFdNwMIEAJ6UnEvTgfYMSTn7z PjEMWUxIZA58zSG4kJhCj7dsBwOfSgoCGoUIWnAfCHVUKQGRh/WiVtuP0GOh8x1AS6uo OmRYUVWQT/17O6rPyPLa2rGMcNmX7gOWPbHVXLuA63RKfYA8/MzVZsK3E5MB0Tl5rLuK bimtcMc5tTgA5SbgV7vBL+raQxAIzaOYR/TgFPZr/q52G1QrX4J2aRxU6r3O7qNCS7Te ZgRA== X-Gm-Message-State: AFuF++lHzv7jWoi2XnWAVhLQ9tZ1ewOY4FIP5OlL+ZlulkDCBm6Fuu7S aoMFt4KXTtB9kmADAsViP7aBE1BohAQgxFDEM0zfc29wKm9qJA198Yy9buyizLvOyxQ= X-Gm-Gg: AYBFou0d8xK6Vme7csu3okXwc5WFPHV+cjGWNHBJEJD9blQaaNpuNhzH/QfYebcK8IR 0++Xr3w8KYqFZuY49xYvFN116IBO3YgRTjeWMWpHpsVEIYdL2rZ1bqTMLV376QQO4+jf4XqBnjW koI86q6DSrOBQ+LeEKuCDGcDdJzvDEHMHE7mKBPoUzfb6cHwBN8aXspn6ce2pJOZiWpHf7UlazM y4nYqTk2VRg8/S81ttzS9VyUyf/kWv8wRmDdonGNRTdtxqM9EPdbkSFYu5DkWKuCKcUFSTuFx0E DHBz6o6GoJPD6kXmjmzxkLwBVLWnQHfWTmzFJJ5DHxbQr4yEAX7ApeLBCHFgQGDv+CSnyay5jSl peMak7bMyIKkzH3/8K8BSyvRQ2raFX6PZ7ttkKgBBnuA151nBIqO14pn31ZEd/e5cuUrj4wyZlb 5Zc/LK/WydALb4Ew5kjue2i2Tbf25q6h7e0J/pSvZv4tZLeM8K6jLKiJEjMSVB X-Received: by 2002:a05:6000:712:b0:485:7ca5:b870 with SMTP id ffacd0b85a97d-4858707f19cmr7969482f8f.4.1788526414301; Fri, 04 Sep 2026 05:53:34 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 051/105] tests/tcg/multiarch/sha1.c: fix big endian implementation Date: Fri, 4 Sep 2026 13:45:05 +0100 Message-ID: <20260904124604.2207440-52-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526529687158500 From: Pierrick Bouvier Due to missing endian.h header, BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN were undefined. Thus, for following code, the first branch was always taken: #if BYTE_ORDER =3D=3D LITTLE_ENDIAN #define blk0(i) (block->l[i] =3D (rol(block->l[i],24)&0xFF00FF00) \ |(rol(block->l[i],8)&0x00FF00FF)) #elif BYTE_ORDER =3D=3D BIG_ENDIAN ... Tested-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-52-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/sha1.c b/tests/tcg/multiarch/sha1.c index 0081bd76577..0fcbc3ed605 100644 --- a/tests/tcg/multiarch/sha1.c +++ b/tests/tcg/multiarch/sha1.c @@ -21,6 +21,7 @@ A million repetitions of "a" =20 #define SHA1HANDSOFF =20 +#include #include #include #include --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526526; cv=none; d=zohomail.com; s=zohoarc; b=fs/3otSXeS3dFBgJenZbWTdKmRlWQT0UQzpuulnOzIolXh4IgRQvznSrK1I+fAQTOUJz3S9uICiJWijiz57yLMOICuHtIvq1hY16tR88M6Gs6c/Rv31qUv6fJnNqjODhc00cwybN07rlALZSDiWCoxcfVRpQiuH2+O93ikWLQHY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526526; 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=DlbScBo5RucM7KgxQbcgSArehwUpUBkQ1/DKN+9nOag=; b=kgav8risKyVil3snt9tzLj1EBkFzBw5TcjyUr8GWSvExfUulkfcP9inDgHnBqSNA3LF0DN2weTome95jF9REQ++dyk8vrr/tf9QRNIZRt0clvMfKUiGV7RgHP71wyHdivO+rRx1rlhYeEgnUIRWvS6HI37vPulwaSvEZo4XiD2w= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852652611674.34204451874723; Fri, 4 Sep 2026 05:55:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQM-0001iK-Mi; Fri, 04 Sep 2026 08:53:42 -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 1x2TQJ-0001g6-Lo for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:39 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQD-0000gd-LH for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:39 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-495590dde14so13438525e9.0 for ; Fri, 04 Sep 2026 05:53:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce46696e8sm135883125e9.0.2026.09.04.05.53.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9AB9F619A3; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526412; x=1789131212; 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=DlbScBo5RucM7KgxQbcgSArehwUpUBkQ1/DKN+9nOag=; b=tsQ0g1J8NtKKfpD9w3HY8BGuxB94u/QuV4fLMEuTa8BjZ0yHMi8awCPr8qnSV/jcZE yqdCB4g7PWFJ38HIZiyazib/6nVLfp10JrdIhpXc2j5XePy+QOgYHdqCA9hNQq1ryKbY bnBK2034mXCb85t5ihGaZyB8WllV4lUkFQv/xtICgI1LG5Jtt7tC85QZ9mOIyYfcqU52 iZAMGnJS4emoVUUqJgOJrthH/A1GgYgVzMQlA3qbpIy3R1ul8XalOsox7Sj2k95SM2Au QstaAigkes6ArzdEV6IaEk1rykLz0UTFtKb1S+Cn66CkKMw9PD080huZWuan9shLzXdJ QU1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526412; x=1789131212; 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=DlbScBo5RucM7KgxQbcgSArehwUpUBkQ1/DKN+9nOag=; b=nrJqFDk8vc0jiYnULch+Twbf4++znuMxgo42FgxRmks6RBAuHBlVFN4qeSqaDaP1AL J9BPx9YlYRVkfDAUrePOBk29Kl6G8ahkPAhnT/jaWzw7rhh3H1Ztzfdt/5aOpL6hJQaR erUiDINfziXrjc+lRflE4iwyr+3aiMt0fHOh1jl+9xdns+VFZvc78K/hTlpc/7DoeLNP aFh/2doBZcJKaPJZ4DQ9IiqdNp9vGmeyPETrZ1M3K654m5hRcW4Ays37LEcyceUkIDpS 51Wklc2PGXWa2JPPNYvjCW6wFJd435eUcPyZZkABUoF2btb6QgFfO+XwAXXiiwt6uw7/ ll5g== X-Gm-Message-State: AFuF++mXrx3SyJ1P6vA08AeWivqYNrPlWPJMiC9Kaj2Z5PF9YKJGpgY6 GDvZOorYtCRI2Nf0TROvVEyw+pYxB1yXMd7ItA+DWnCn6K3R0XCUvXmezCTwmqlrHHE= X-Gm-Gg: AYBFou0fk8CQVg27autHkBbYm94wYUmzLVE9Ety8twnp/JSNWIYDGclusnDm61Wm53r tN32pTnkogeCCQb1XeNg4H1bK7IkRWoI1IgFeHa/t4Rcsd+7Sdl0x+wC4V9QOlraGHt/Cqjx5DD HcLuH1Yh40JMtHyu00JdjxgJ6hB8j77eBxJNmiz3IelPdzFmLqjp+Wb0/PCMqHqX/av/4BrvlCI vx8Gb4JS2CDeBop5D6MXIJP1J3EIL4NQBCKFQdFxDN6uuIOTD+ZBJgx5HII+Knkrs6kxoLpFd7D tjlAQd83yQ55Fi9mWOmvgGj8DiLg3+vlG51xbNCe1Z3v2H29asl88TXGZGcJfhKXN6w3S79zhdm 1JrXZlec/iu9RFqPHp0W4h1pV+WjGUfs2z0HY0UzcD4jYx5a0e0iAZDljpLJXSCnLitwbhL4P1P scEqQhX3qGC5mIYfJc5D9ZcLGjAw1QEhxY+wD7jpw42M1xJ2SPCJWKCGWC0XFSFY6YybXdgW0= X-Received: by 2002:a05:600c:a00a:b0:49c:ed94:cdd8 with SMTP id 5b1f17b1804b1-49cf81f6736mr97674555e9.6.1788526411865; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Richard Henderson , Helge Deller Subject: [PULL 052/105] tests/tcg/hppa: add float reference files Date: Fri, 4 Sep 2026 13:45:06 +0100 Message-ID: <20260904124604.2207440-53-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526527895158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-53-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/hppa/float_convd.ref b/tests/tcg/hppa/float_convd.ref new file mode 100644 index 00000000000..194a662f536 --- /dev/null +++ b/tests/tcg/hppa/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(-nan:0xffbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(-nan:0xffbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(-nan:0xffbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(-nan:0xffbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/hppa/float_convs.ref b/tests/tcg/hppa/float_convs.ref new file mode 100644 index 00000000000..079a355ee9f --- /dev/null +++ b/tests/tcg/hppa/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00fff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-nan:0xffbfffff) + to double: f64(-nan:0x00fff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00fff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-nan:0xffbfffff) + to double: f64(-nan:0x00fff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00fff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-nan:0xffbfffff) + to double: f64(-nan:0x00fff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00fff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-nan:0xffbfffff) + to double: f64(-nan:0x00fff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffe0000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/hppa/float_madds.ref b/tests/tcg/hppa/float_madds.ref new file mode 100644 index 00000000000..b4b65f83aed --- /dev/null +++ b/tests/tcg/hppa/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffbfffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffbfffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffbfffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffbfffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffbfffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528285; cv=none; d=zohomail.com; s=zohoarc; b=Tq/C6VSiqy9c0nB9xp5iqQW1nqbc2fq2jEuLjnYxAYpTCHb2dviLwb6/PCIVZFV75WVmvdsQ8NI1UVYu+QIIkLmZnGI618B9oCll30MzaF6a/gPfN0yynckTQ+udNd7ZcsQnWPBumZLZiz0ebzOWWGrvcqMDs3sf9tB5gr5IyWI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528285; 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=yVlrtz6FLvgmtzellkV9rKjHfmAprdw9W5TnjxfHWaM=; b=CHqEffHX9E737ehF8sqnAo9Xdch4mnC9LAQf/LbZwxGew+RquqbwVhnQN180ySh4761wxXzXILzgihW7/9dcuEv2n6ox8JbKFnvfpvMaQJIWsuj7tsxpy/sCXYC8Zq24vTp2j2hJCBEy115EfHDvKArAqH9ojR9ZQ7M8IqqYA2s= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528285478715.5403102161251; Fri, 4 Sep 2026 06:24:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtH-0005Ui-4i; Fri, 04 Sep 2026 09:23:35 -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 1x2TtF-0005U9-Vr for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:34 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtD-0008I0-BT for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:33 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4995b0343c1so13202745e9.3 for ; Fri, 04 Sep 2026 06:23:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee7fec25sm170696855e9.13.2026.09.04.06.23.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B959A6006B; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528210; x=1789133010; 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=yVlrtz6FLvgmtzellkV9rKjHfmAprdw9W5TnjxfHWaM=; b=kynXC2s7PsVxRA+1JEsR7HAfujzCTaksh06mPKf22fEm3Mdeb4DyH+6C/5Oui/etMU NR1KMN2iioNLbZzPtD5CaMWS0DLlIfLoEjahDf6fk7zPbu/mHNxOycBkjRYq+EBgJzHs Xo9Ld//sUJnz+8uS1LIo6bPccx+67IGernVhJUKBLmQYWd63HmzGwL7iMZiUgTeb4+U7 rtUhFdYcUJqAChDSPX4Z2k5mdHrXN/cvp1v+9BM7yBEJKc2UPiS3p/QFiA2nS2oNjkE1 X9io7N7iGjjv89tRJNkaTFcURDdDCSjM1qMMIU//kx7fT/Jew1Rss64tsj834+NFsVzB 83yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528210; x=1789133010; 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=yVlrtz6FLvgmtzellkV9rKjHfmAprdw9W5TnjxfHWaM=; b=BKuNdXQ49P2Z4U5eqDC+FbzdvnavD8dM3WSXEmCLMbxOZcsyRlefdXAyQZx3y5/o8s DTLKIdCqFwejsigixau+E4t3ggCgY3on1JtZUblANzSciDsW+6E36dCzWl1uDOlCVDtH iV9TwKfZp8h6ulmsj/kXdqPVkth7za5l4vEh7ryePRnhUaL2zuPpECc6eB85/vRwXAjC xXAzmNaxN5Uy3BRRrUtAtGMDIns367CT/x3f0x7SyaNDUDBJC/bt4x7Oy3+cGjPUfhlk a72vgFfdepNoAye0EAurC5M1TIZTOFEaj+fxd8ApedExgLo8RRYZfp+MgzikJPXi8Nr/ HrNA== X-Gm-Message-State: AFuF++lPSoo/t84fdu1A79OY+oLapWKxbC1ToC05ksLWVAuj6b2g6eMR sT0h2tgcxAWs2BW+aCzJOHuQBhL67D6n4g5ozZmAg+KuBrRgFOh8p+3JxFXWSeebjfk= X-Gm-Gg: AYBFou3r1+t9mtiaSURqCVArNBX4C5Md2Ftz1Rqc+vkIuBAabJXB25cuFPJKMErdr0o /AQ9ECPn0FpoIKT+4DZi/bhvRJbt7i5vEj+8/PIfJRaW+xLP4+DBf82b7H02/StCTDaO/p8WBlF 2Ytwtuq7o54oqiGA7t7U3QvVBLkss0wu5DeoC7ASJx0V5HYMPwPpNLu0h+AsHKC4D2Fr7EKRxcU 2EjI8btdmZynd8umIkPlvcS5+ZAnFFGMv/0jm7BsQaEMAa9gJlug7rNEIIfHnSu7v59vLMjkdtS LB2L6MbqsrL+m97vIJ9mt0JJf0SFP5fuFk7oV/GM5Pzso8Z8R61KCV8qCp/Kq4+oUqxq8HmNEGc e1CUTLbHRrohEbQtpyae0PIGrhO6bM8NwYMnq6uWoh+hvmafsao+/TTm/YsX514RUg3l+Z4u/vP 7HS6XfTytiEjEgAjHRirDle9Yb0yW2av3YsR+PPYosow/cwwBHH7PH51HzYCxKQdNtsOAByjVCJ g== X-Received: by 2002:a05:600c:1551:b0:49c:fa21:1c89 with SMTP id 5b1f17b1804b1-49cfa211d5fmr42391505e9.30.1788528209739; Fri, 04 Sep 2026 06:23:29 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson , Helge Deller Subject: [PULL 053/105] tests/tcg/hppa: user tests Date: Fri, 4 Sep 2026 13:45:07 +0100 Message-ID: <20260904124604.2207440-54-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528285828158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-54-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/hppa/Makefile.target b/tests/tcg/hppa/Makefile.target deleted file mode 100644 index ea5ae2186df..00000000000 --- a/tests/tcg/hppa/Makefile.target +++ /dev/null @@ -1,14 +0,0 @@ -# -*- Mode: makefile -*- -# -# HPPA specific tweaks - specifically masking out broken tests - -# This triggers failures for hppa-linux about 1% of the time -# HPPA is the odd target that can't use the sigtramp page; -# it requires the full vdso with dwarf2 unwind info. -run-signals: signals - $(call skip-test, $<, "BROKEN awaiting vdso support") - -VPATH +=3D $(SRC_PATH)/tests/tcg/hppa -TESTS +=3D stby - -stby: CFLAGS +=3D -pthread diff --git a/tests/tcg/hppa/meson.build b/tests/tcg/hppa/meson.build new file mode 100644 index 00000000000..9ca8f29fa93 --- /dev/null +++ b/tests/tcg/hppa/meson.build @@ -0,0 +1,22 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'stby.c': {'cflags': ['-pthread']}, +} + +if 'qemu-hppa' in emulators + tcg_tests +=3D { + 'hppa-linux-user': { + 'cc': 'hppa-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'hppa', + 'gdb_arch': 'hppa', + 'qemu': emulators['qemu-hppa'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 27d7aedb8b8..878a391d8fd 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -141,6 +141,7 @@ subdir('aarch64_be') subdir('alpha') subdir('arm') subdir('hexagon') +subdir('hppa') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527092; cv=none; d=zohomail.com; s=zohoarc; b=ECka9ra2+YUqXf+evTUljnVckZmAHl7rqC/Wj9wL5x9FJ9y9GZqv+Ds+X2Oy57Sfv0xfeC3J5sCw/7NIPi3pN+KpB17HKgLmzONFotGK3xLMG1mbaQDBtTYdS0Np/vyL7dWxDHKoHZCaUPnzCgtiFvxYT3syzkMNIgbcg1eiDwU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527092; 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=9YBEyHxK7vQFm8vc1bhQAxhbZS/IMDkibtH2Cefg5bI=; b=NaWF06L6HpBvZ2gDqgq0g7s3d0S5cgcoYjh0VntMEMGvRjz+wgVgS0n2Bf3MP4K/UsdkxxlEaZXSbAK5D5cucQlva2FcWxYd2CJ6e6MmtFDrjOiAE2cBSN8Z3L2S6pUtxnp20ftKC+OImFYGpbAWA0/6dBNvFuomGPLiERcMyfE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527092857149.30163528617118; Fri, 4 Sep 2026 06:04:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tad-0006pc-Bu; Fri, 04 Sep 2026 09:04:20 -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 1x2Ta8-0006VE-Ft for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:48 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZx-00038L-0R for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:46 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-48436251906so1074766f8f.0 for ; Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883c5bc5sm6494829f8f.24.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id DDB0E619F7; Fri, 04 Sep 2026 13:46:09 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527013; x=1789131813; 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=9YBEyHxK7vQFm8vc1bhQAxhbZS/IMDkibtH2Cefg5bI=; b=PPJ4cGSAXAubF8ICNO1jSK4CqMHMBoPgKhPFdAe2fwdcnbfNI4Ma7iXv/exsf5A1JQ XOO+VoPRVvarsTr6u5IV75PoVXvF9MM8/uwMnMGH/O1yS/wFd8Axpx6fSw/H3bCDHQJm HFHmJOn8Hioysfla6CjQelY+o3jfTQxrkmADr4Baaq66Ek3nUoJF0F7lqzFi2da2p6AV kagtxcUi1jyYYZds0t3789+NpfRrLsus5rwDeX/a51LUwen9+VshayVaHsrecnnSNNUv 4GK+NZdwHFGCCL/zFKL0QOM2eH/w4C8TiR4S7nSCI8Ip/TsR6JpfMXU6C66sioXWspaw nzNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527013; x=1789131813; 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=9YBEyHxK7vQFm8vc1bhQAxhbZS/IMDkibtH2Cefg5bI=; b=PcIxV1e9WwK5nvRk/j850Iz3WWIoPImJd0brxQOfaa7MmyDBnJzTNnMHbXXMXQt7hc Z74iedYk1jlG34OqPJtc+P4M4b2JToOMzpHX3MnyX8gMVSB5+CDDJpdxN72BHBc/R9iz SKcsMIpZkeERzaSiA+mKTViSbnMuWzPRwz/F8IrXm5G8LASF+UCsWlQHeNt7oeW3uOY1 1XHXaZv3idqE8UGl3ioEH8c6Jb8/sKQ3vODVrrZq2qmWEZNw22SR0sIb0IMMZdeM/XYn rvWAvnuKCkGAbhvdKdTFTEZngHyp+oMVrSgPtW9/aJ0teJHl9r2YWVZRfes1VDaK0rjo zMFA== X-Gm-Message-State: AFuF++kDz9tvU1MKxghDm5/zJh4H7Jm6TVtaf8vz0U9BTQ82TmjXPxQ+ NRYk0qJJGdsIfM+lwJhw6EsSGr/tps4sB41Pq6Fs9W/y/SnjHmuOTyFGfsIMlY3Mxdw= X-Gm-Gg: AYBFou3ODlmAoptaCMbv2s6d0vb+kzNeaSqRu+lLuqvpYc7m1dWi6R8z8fqkVJfsm2W DNh9EVAxJPOUkG477I91uenYze9qpuAamSVEqpKAEjT/TsBOr0qW6FnhGb/CnypDlC5zainwwK4 q81LZb095J01ajwqcjOFVdA66XBsFHdvM10gOzy6mhrMnQeoAz8ipbLrq/GlwBAJnyeTi7pB/7S OJ47mrieeOm1EiaWcGVtQsQQ+82pTeysHGA3RJCtJf6qkVUU6rIcXxafqvB0m61LLGgGkMDN29E 5B2kphU3cjWSoWYROJjdsK4UwVd70Z0maDRMmhw4q4hu/dQcOsJ2eb23BA2zNZX63eRbDSandAr XTfoSIv/6IHAIAnnobheq+G7mDfxU9Ix1b6mqIUaGAufSjx51pTin+yIYK8p3B2RJL5wOj9wWrZ bwq+yBiz7CY4eaBrzSF5UeCPRdfvUlnlcDCRiUqtrG5CEs80ddaHl1FCpkPerNWtkqJbCyC4s= X-Received: by 2002:a05:6000:41cb:b0:482:f61c:7cdd with SMTP id ffacd0b85a97d-48586e4a6bbmr12265496f8f.4.1788527012312; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Paolo Bonzini , Richard Henderson Subject: [PULL 054/105] tests/tcg/i386: add missing float reference files Date: Fri, 4 Sep 2026 13:45:08 +0100 Message-ID: <20260904124604.2207440-55-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527094838158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Delete float_convd.conf which was unused. It has the same content than float_convd.ref but with some lines in different order. Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-55-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/i386/float_convd.conf b/tests/tcg/i386/float_convd.c= onf deleted file mode 100644 index 7f4040cef88..00000000000 --- a/tests/tcg/i386/float_convd.conf +++ /dev/null @@ -1,988 +0,0 @@ -### Rounding to nearest -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-nan:0xffc00000) - to single: f64(-nan:0x00fff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OVERFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) - to single: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (INE= XACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) - to single: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (INEX= ACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.00000000000000000000p+1:0xc0000000) - to single: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) (OK) - to int32: -2 (OK) - to int64: -2 (OK) - to uint32: -2 (OK) - to uint64: -2 (OK) -from single: f32(-0x1.00000000000000000000p+0:0xbf800000) - to single: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) (OK) - to int32: -1 (OK) - to int64: -1 (OK) - to uint32: -1 (OK) - to uint64: -1 (OK) -from single: f32(-0x0.00000000000000000000p+0:0x80000000) - to single: f64(-0x0.00000000000000000000p+0:0x008000000000000000) (UNDER= FLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(-0x1.00000000000000000000p-126:0x80800000) - to single: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) - to int32: 0 (OK) - to int64: 0 (OK) - to uint32: 0 (OK) - to uint64: 0 (OK) -from single: f32(0x1.00000000000000000000p-126:0x00800000) - to single: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p-25:0x33000000) - to single: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) - to single: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) - to single: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000c00000000000000p-14:0x38800006) - to single: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00400000000000000000p+0:0x3f802000) - to single: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) - to int32: 1 (INEXACT ) - to int64: 1 (INEXACT ) - to uint32: 1 (INEXACT ) - to uint64: 1 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00000000000000000000p+1:0x40000000) - to single: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) - to int32: 2 (OK) - to int64: 2 (OK) - to uint32: 2 (OK) - to uint64: 2 (OK) -from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) - to single: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (INEXAC= T ) - to int32: 2 (INEXACT ) - to int64: 2 (INEXACT ) - to uint32: 2 (INEXACT ) - to uint64: 2 (INEXACT ) -from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) - to single: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (INEXAC= T ) - to int32: 3 (INEXACT ) - to int64: 3 (INEXACT ) - to uint32: 3 (INEXACT ) - to uint64: 3 (INEXACT ) -from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) - to single: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) - to int32: 65503 (OK) - to int64: 65503 (OK) - to uint32: 65503 (OK) - to uint64: 65503 (OK) -from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) - to single: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) - to int32: 65504 (OK) - to int64: 65504 (OK) - to uint32: 65504 (OK) - to uint64: 65504 (OK) -from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) - to single: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) - to int32: 65505 (OK) - to int64: 65505 (OK) - to uint32: 65505 (OK) - to uint64: 65505 (OK) -from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) - to single: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) - to int32: 131007 (OK) - to int64: 131007 (OK) - to uint32: 131007 (OK) - to uint64: 131007 (OK) -from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) - to single: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) - to int32: 131008 (OK) - to int64: 131008 (OK) - to uint32: 131008 (OK) - to uint64: 131008 (OK) -from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) - to single: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) - to int32: 131009 (OK) - to int64: 131009 (OK) - to uint32: 131009 (OK) - to uint64: 131009 (OK) -from single: f32(0x1.00000000000000000000p+31:0x4f000000) - to single: f64(0x1.00000000000000000000p+31:0x0041e0000000000000) (INEXA= CT ) - to int32: 2147483647 (OK) - to int64: 2147483647 (OK) - to uint32: 2147483647 (OK) - to uint64: 2147483647 (OK) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OVERFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -### Rounding upwards -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-nan:0xffc00000) - to single: f64(-nan:0x00fff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OVE= RFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) - to single: f64(-0x1.1874b000000000000000p+103:0x00c661874b00000000) (INE= XACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) - to single: f64(-0x1.c0bab400000000000000p+99:0x00c62c0bab40000000) (INEX= ACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.00000000000000000000p+1:0xc0000000) - to single: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) (OK) - to int32: -2 (OK) - to int64: -2 (OK) - to uint32: -2 (OK) - to uint64: -2 (OK) -from single: f32(-0x1.00000000000000000000p+0:0xbf800000) - to single: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) (OK) - to int32: -1 (OK) - to int64: -1 (OK) - to uint32: -1 (OK) - to uint64: -1 (OK) -from single: f32(-0x0.00000000000000000000p+0:0x80000000) - to single: f64(-0x0.00000000000000000000p+0:0x008000000000000000) (UNDER= FLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(-0x1.00000000000000000000p-126:0x80800000) - to single: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) - to int32: 0 (OK) - to int64: 0 (OK) - to uint32: 0 (OK) - to uint64: 0 (OK) -from single: f32(0x1.00000000000000000000p-126:0x00800000) - to single: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000200000000000000p-25:0x33000001) - to single: f64(0x1.00000200000000000000p-25:0x003e60000020000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) - to single: f64(0x1.ffffe800000000000000p-25:0x003e6ffffe80000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) - to single: f64(0x1.ff801c00000000000000p-15:0x003f0ff801c0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000e00000000000000p-14:0x38800007) - to single: f64(0x1.00000e00000000000000p-14:0x003f100000e0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00400000000000000000p+0:0x3f802000) - to single: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) - to int32: 1 (INEXACT ) - to int64: 1 (INEXACT ) - to uint32: 1 (INEXACT ) - to uint64: 1 (INEXACT ) -from single: f32(0x1.00000000000000000000p-149:0x00000001) - to single: f64(0x1.00000000000000000000p-149:0x0036a0000000000000) (UNDE= RFLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p-149:0x00000001) - to single: f64(0x1.00000000000000000000p-149:0x0036a0000000000000) (UNDE= RFLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p-149:0x00000001) - to single: f64(0x1.00000000000000000000p-149:0x0036a0000000000000) (UNDE= RFLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00000000000000000000p+1:0x40000000) - to single: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) - to int32: 2 (OK) - to int64: 2 (OK) - to uint32: 2 (OK) - to uint64: 2 (OK) -from single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) - to single: f64(0x1.5bf0aa00000000000000p+1:0x004005bf0aa0000000) (INEXAC= T ) - to int32: 2 (INEXACT ) - to int64: 2 (INEXACT ) - to uint32: 2 (INEXACT ) - to uint64: 2 (INEXACT ) -from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) - to single: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (INEXAC= T ) - to int32: 3 (INEXACT ) - to int64: 3 (INEXACT ) - to uint32: 3 (INEXACT ) - to uint64: 3 (INEXACT ) -from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) - to single: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) - to int32: 65503 (OK) - to int64: 65503 (OK) - to uint32: 65503 (OK) - to uint64: 65503 (OK) -from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) - to single: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) - to int32: 65504 (OK) - to int64: 65504 (OK) - to uint32: 65504 (OK) - to uint64: 65504 (OK) -from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) - to single: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) - to int32: 65505 (OK) - to int64: 65505 (OK) - to uint32: 65505 (OK) - to uint64: 65505 (OK) -from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) - to single: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) - to int32: 131007 (OK) - to int64: 131007 (OK) - to uint32: 131007 (OK) - to uint64: 131007 (OK) -from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) - to single: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) - to int32: 131008 (OK) - to int64: 131008 (OK) - to uint32: 131008 (OK) - to uint64: 131008 (OK) -from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) - to single: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) - to int32: 131009 (OK) - to int64: 131009 (OK) - to uint32: 131009 (OK) - to uint64: 131009 (OK) -from single: f32(0x1.00000000000000000000p+31:0x4f000000) - to single: f64(0x1.00000000000000000000p+31:0x0041e0000000000000) (INEXA= CT ) - to int32: 2147483647 (OK) - to int64: 2147483647 (OK) - to uint32: 2147483647 (OK) - to uint64: 2147483647 (OK) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OVERFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -### Rounding downwards -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-nan:0xffc00000) - to single: f64(-nan:0x00fff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OVERFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) - to single: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (INE= XACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) - to single: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (INEX= ACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.00000000000000000000p+1:0xc0000000) - to single: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) (OK) - to int32: -2 (OK) - to int64: -2 (OK) - to uint32: -2 (OK) - to uint64: -2 (OK) -from single: f32(-0x1.00000000000000000000p+0:0xbf800000) - to single: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) (OK) - to int32: -1 (OK) - to int64: -1 (OK) - to uint32: -1 (OK) - to uint64: -1 (OK) -from single: f32(-0x1.00000000000000000000p-149:0x80000001) - to single: f64(-0x1.00000000000000000000p-149:0x00b6a0000000000000) (UND= ERFLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(-0x1.00000000000000000000p-126:0x80800000) - to single: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) - to int32: 0 (OK) - to int64: 0 (OK) - to uint32: 0 (OK) - to uint64: 0 (OK) -from single: f32(0x1.00000000000000000000p-126:0x00800000) - to single: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p-25:0x33000000) - to single: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) - to single: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) - to single: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000c00000000000000p-14:0x38800006) - to single: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00400000000000000000p+0:0x3f802000) - to single: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) - to int32: 1 (INEXACT ) - to int64: 1 (INEXACT ) - to uint32: 1 (INEXACT ) - to uint64: 1 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00000000000000000000p+1:0x40000000) - to single: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) - to int32: 2 (OK) - to int64: 2 (OK) - to uint32: 2 (OK) - to uint64: 2 (OK) -from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) - to single: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (INEXAC= T ) - to int32: 2 (INEXACT ) - to int64: 2 (INEXACT ) - to uint32: 2 (INEXACT ) - to uint64: 2 (INEXACT ) -from single: f32(0x1.921fb400000000000000p+1:0x40490fda) - to single: f64(0x1.921fb400000000000000p+1:0x00400921fb40000000) (INEXAC= T ) - to int32: 3 (INEXACT ) - to int64: 3 (INEXACT ) - to uint32: 3 (INEXACT ) - to uint64: 3 (INEXACT ) -from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) - to single: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) - to int32: 65503 (OK) - to int64: 65503 (OK) - to uint32: 65503 (OK) - to uint64: 65503 (OK) -from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) - to single: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) - to int32: 65504 (OK) - to int64: 65504 (OK) - to uint32: 65504 (OK) - to uint64: 65504 (OK) -from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) - to single: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) - to int32: 65505 (OK) - to int64: 65505 (OK) - to uint32: 65505 (OK) - to uint64: 65505 (OK) -from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) - to single: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) - to int32: 131007 (OK) - to int64: 131007 (OK) - to uint32: 131007 (OK) - to uint64: 131007 (OK) -from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) - to single: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) - to int32: 131008 (OK) - to int64: 131008 (OK) - to uint32: 131008 (OK) - to uint64: 131008 (OK) -from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) - to single: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) - to int32: 131009 (OK) - to int64: 131009 (OK) - to uint32: 131009 (OK) - to uint64: 131009 (OK) -from single: f32(0x1.fffffe00000000000000p+30:0x4effffff) - to single: f64(0x1.fffffe00000000000000p+30:0x0041dfffffe0000000) (INEXA= CT ) - to int32: 2147483647 (OK) - to int64: 2147483647 (OK) - to uint32: 2147483647 (OK) - to uint64: 2147483647 (OK) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OVER= FLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -### Rounding to zero -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-nan:0xffc00000) - to single: f64(-nan:0x00fff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-inf:0xff800000) - to single: f64(-inf:0x00fff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OVE= RFLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) - to single: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) - to single: f64(-0x1.1874b000000000000000p+103:0x00c661874b00000000) (INE= XACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) - to single: f64(-0x1.c0bab400000000000000p+99:0x00c62c0bab40000000) (INEX= ACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(-0x1.00000000000000000000p+1:0xc0000000) - to single: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) (OK) - to int32: -2 (OK) - to int64: -2 (OK) - to uint32: -2 (OK) - to uint64: -2 (OK) -from single: f32(-0x1.00000000000000000000p+0:0xbf800000) - to single: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) (OK) - to int32: -1 (OK) - to int64: -1 (OK) - to uint32: -1 (OK) - to uint64: -1 (OK) -from single: f32(-0x0.00000000000000000000p+0:0x80000000) - to single: f64(-0x0.00000000000000000000p+0:0x008000000000000000) (UNDER= FLOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(-0x1.00000000000000000000p-126:0x80800000) - to single: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) - to int32: 0 (OK) - to int64: 0 (OK) - to uint32: 0 (OK) - to uint64: 0 (OK) -from single: f32(0x1.00000000000000000000p-126:0x00800000) - to single: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p-25:0x33000000) - to single: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) - to single: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) - to single: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000c00000000000000p-14:0x38800006) - to single: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (INEXA= CT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00400000000000000000p+0:0x3f802000) - to single: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) - to int32: 1 (INEXACT ) - to int64: 1 (INEXACT ) - to uint32: 1 (INEXACT ) - to uint64: 1 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x0.00000000000000000000p+0:0000000000) - to single: f64(0x0.00000000000000000000p+0:00000000000000000000) (UNDERF= LOW INEXACT ) - to int32: 0 (INEXACT ) - to int64: 0 (INEXACT ) - to uint32: 0 (INEXACT ) - to uint64: 0 (INEXACT ) -from single: f32(0x1.00000000000000000000p+0:0x3f800000) - to single: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) - to int32: 1 (OK) - to int64: 1 (OK) - to uint32: 1 (OK) - to uint64: 1 (OK) -from single: f32(0x1.00000000000000000000p+1:0x40000000) - to single: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) - to int32: 2 (OK) - to int64: 2 (OK) - to uint32: 2 (OK) - to uint64: 2 (OK) -from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) - to single: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (INEXAC= T ) - to int32: 2 (INEXACT ) - to int64: 2 (INEXACT ) - to uint32: 2 (INEXACT ) - to uint64: 2 (INEXACT ) -from single: f32(0x1.921fb400000000000000p+1:0x40490fda) - to single: f64(0x1.921fb400000000000000p+1:0x00400921fb40000000) (INEXAC= T ) - to int32: 3 (INEXACT ) - to int64: 3 (INEXACT ) - to uint32: 3 (INEXACT ) - to uint64: 3 (INEXACT ) -from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) - to single: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) - to int32: 65503 (OK) - to int64: 65503 (OK) - to uint32: 65503 (OK) - to uint64: 65503 (OK) -from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) - to single: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) - to int32: 65504 (OK) - to int64: 65504 (OK) - to uint32: 65504 (OK) - to uint64: 65504 (OK) -from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) - to single: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) - to int32: 65505 (OK) - to int64: 65505 (OK) - to uint32: 65505 (OK) - to uint64: 65505 (OK) -from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) - to single: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) - to int32: 131007 (OK) - to int64: 131007 (OK) - to uint32: 131007 (OK) - to uint64: 131007 (OK) -from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) - to single: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) - to int32: 131008 (OK) - to int64: 131008 (OK) - to uint32: 131008 (OK) - to uint64: 131008 (OK) -from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) - to single: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) - to int32: 131009 (OK) - to int64: 131009 (OK) - to uint32: 131009 (OK) - to uint64: 131009 (OK) -from single: f32(0x1.fffffe00000000000000p+30:0x4effffff) - to single: f64(0x1.fffffe00000000000000p+30:0x0041dfffffe0000000) (INEXA= CT ) - to int32: 2147483647 (OK) - to int64: 2147483647 (OK) - to uint32: 2147483647 (OK) - to uint64: 2147483647 (OK) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) - to single: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OVER= FLOW INEXACT ) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INEXACT INVALID) -from single: f32(inf:0x7f800000) - to single: f64(inf:0x007ff0000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: 0 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fc00000) - to single: f64(nan:0x007ff8000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) -from single: f32(nan:0x7fe00000) - to single: f64(nan:0x007ffc000000000000) (OK) - to int32: -2147483648 (INVALID) - to int64: -9223372036854775808 (INVALID) - to uint32: 0 (INVALID) - to uint64: -9223372036854775808 (INVALID) diff --git a/tests/tcg/i386/float_convd.ref b/tests/tcg/i386/float_convd.ref new file mode 100644 index 00000000000..adb33e1adf4 --- /dev/null +++ b/tests/tcg/i386/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ffc000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) diff --git a/tests/tcg/i386/float_madds.ref b/tests/tcg/i386/float_madds.ref new file mode 100644 index 00000000000..bb834699311 --- /dev/null +++ b/tests/tcg/i386/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffe00000) +res: f32(-nan:0xffc00000) flags=3DOK (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DOK (28/1) +op : f32(nan:0x7fe00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DOK (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (29/0) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DOK (29/1) +op : f32(-nan:0xffe00000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (29/2) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (30/0) +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(nan:0x7fe00000) +res: f32(-nan:0xffc00000) flags=3DOK (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffe00000) +res: f32(-nan:0xffc00000) flags=3DOK (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DOK (28/1) +op : f32(nan:0x7fe00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DOK (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (29/0) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DOK (29/1) +op : f32(-nan:0xffe00000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (29/2) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (30/0) +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(nan:0x7fe00000) +res: f32(-nan:0xffc00000) flags=3DOK (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffe00000) +res: f32(-nan:0xffc00000) flags=3DOK (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DOK (28/1) +op : f32(nan:0x7fe00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DOK (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (29/0) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DOK (29/1) +op : f32(-nan:0xffe00000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (29/2) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (30/0) +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(nan:0x7fe00000) +res: f32(-nan:0xffc00000) flags=3DOK (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffe00000) +res: f32(-nan:0xffc00000) flags=3DOK (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DOK (28/1) +op : f32(nan:0x7fe00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DOK (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (29/0) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DOK (29/1) +op : f32(-nan:0xffe00000) * f32(nan:0x7fc00000) + f32(nan:0x7fe00000) +res: f32(nan:0x7fc00000) flags=3DOK (29/2) +op : f32(nan:0x7fe00000) * f32(-nan:0xffe00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DOK (30/0) +op : f32(-nan:0xffe00000) * f32(-nan:0xffc00000) + f32(nan:0x7fe00000) +res: f32(-nan:0xffc00000) flags=3DOK (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fe00000) + f32(-nan:0xffe00000) +res: f32(nan:0x7fe00000) flags=3DOK (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526514; cv=none; d=zohomail.com; s=zohoarc; b=P+H9DokJDYDTxOwwAii6Jg1aRYp8QwLCQj0LJeT+Jhs+nKaHIcFzZq/CeInpjXqYakrCIJNud9wN5sd/k5wm2sI6IYuhBag0Wls1kIJ6Wnf4Za86pTsyls3l+mUdbJePYHYeDYyv8mdEno918O+T2XgJ4MduBnaEokywArZ9KKc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526514; 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=WLAOkpCQaMMgtedcgHPNijJ9aJfkfDGolgzGXtHzw1Y=; b=iYe6GF6KB4O2Z4oIhBawl2HlcyaGrWeUEqu3JD0ElCuzSZthd8tSExwiM8B+cl0JxNEHs/lV6LQrIsD9meEPIXVGSULgga4A0ZUdsnjenOTBiigk3ml7BR06EJ9BfP5w98PWonu/aZnO/YxP4QdusepzEV5ZbqppECQmcY0euQs= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526513970985.1729282863403; Fri, 4 Sep 2026 05:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQN-0001j2-HV; Fri, 04 Sep 2026 08:53:43 -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 1x2TQL-0001hn-Q7 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:41 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQH-0000iQ-FI for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:41 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-49557167508so11145105e9.1 for ; Fri, 04 Sep 2026 05:53:37 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfbe5b252sm39798165e9.3.2026.09.04.05.53.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 084C561A0A; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526416; x=1789131216; 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=WLAOkpCQaMMgtedcgHPNijJ9aJfkfDGolgzGXtHzw1Y=; b=QXn5+dOW+1uIc0O6ii3SbzMzFQT5kkskN0UJJlMveWkDUovsrs+8t8oA4btvi0wZ/m 8+jrfjlLh1wUV9gP5FRaOOxkqAPkfTmBBSS/KnaLYuL2HJSJ22dpy3TNjtlWlLM1KQOr tRd2pKFL5/E+8xyOvVNhCL1EFQgqSluz98IhNgxBX5e8zDLgFbjR+WfyU7SEkASkttU7 TSVfyqIISiXwgxsf9RrLOk80Fy6bjzaL9jEnLDr+ju+dVDFSmNUJcYJ9Q+KgUF14h0Mc zABaQdlyBpTbiDr293CfkWjd8mN1c1a+KWrP2Z0p53SK8TwF0/tYtKqu+3ps0IfPlIls Jkeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526416; x=1789131216; 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=WLAOkpCQaMMgtedcgHPNijJ9aJfkfDGolgzGXtHzw1Y=; b=pFxEEke4u0vb6B6Wwki9HpYoFHuLt4Kq3cIZ9b+B2bsZI8BrkLZyii0CtXCW1IT4mW QaMqExwFaMrh4mHCY7eR5CbkEPcvddK+fx8nqhHziKY5H5qMALgsG1YuwNlthlwjq8Cq K8RHZQK+9+0eqPPQwYFnFTNmXJgHl3ek1hVSVJ4yK5WLtrRFd89VPDfcLK3fwwF0iMjB J187te7r/Ok+A63gAIyoa+mivyH2toB0IN9/mBmq07933CdFr7h3D1sL9o9CxOKZ27Ar Z0uPQv2uLhXN4uQbXX2/4H7ccmQxLQhdPERHb+dhSyRxo72b7+RnsOjzWu+HRRPsH4hL l8dQ== X-Gm-Message-State: AFuF++mKG0lGqgNyat/Ox6JAiu7eLVVXU33K7MITWeEGDqQJiaSe0sof hk1FWKfawi5RoIhzERtYro05gUaZJfKZxKRqH6wJeK6lew9ITGW2CEnxJ1OUH7bHtNf/JNHN5Yo ViOC9w2g= X-Gm-Gg: AYBFou2Xuve/Yae15SpWtIbbbTpihdZEFmEulRPYu2wnqik1AJmyO01ZePzxyD7FBQM 3AuNd3JXvz5rwvz+4t/2RklVR7a4XTexkhVxqzqPXnndlqfKlwv/hJ9ts4QoiY/17C9btFA0aMC Z91xrUWPxIm8R2RasPpJoZopb/XqVnyezce7AsM4rA0g54ZiDbqysMfFx2zQmjlUnCVSDlD0XzG jYJDJRaGmNZulgUqbgId7PO0+pac8CtT7TmqVg8HvDaMwY2PNLjHQrCHIKJ2wJUk0wf8lwVOnz2 1BPqPNnfPce5RUx3+WkYckEM4KM0Xn9EnBD9Md5FT7bJerVLuVcoaLGRj6pqLKHqaHffbW048VZ +3i9yjrIhwBzxiKQxvej/Pf//XyPKDzwo77gHMEziw5flmmFXTttyTSUMgOGP9/a8UX6v+91EeR e0DDJiU/2/CL4a6g4sZgdPrK3fW7t3MXHLBamjBzJy1XUq/3t+dbOETbAUo4AS X-Received: by 2002:a05:600c:3f12:b0:49c:c8de:96a9 with SMTP id 5b1f17b1804b1-49cf7fdd2dfmr93805835e9.2.1788526415769; Fri, 04 Sep 2026 05:53:35 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson Subject: [PULL 055/105] tests/tcg/i386: user tests Date: Fri, 4 Sep 2026 13:45:09 +0100 Message-ID: <20260904124604.2207440-56-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526515890158500 From: Pierrick Bouvier Original test-i386-fprem was comparing qemu output and bare metal output. However, those files have differences for now, so remove this part. Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-56-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target deleted file mode 100644 index f1df40411b0..00000000000 --- a/tests/tcg/i386/Makefile.target +++ /dev/null @@ -1,102 +0,0 @@ -# i386 cross compile notes - -I386_SRC=3D$(SRC_PATH)/tests/tcg/i386 - -# Set search path for all sources -VPATH +=3D $(I386_SRC) - -config-cc.mak: Makefile - $(quiet-@)( \ - $(call cc-option,-fno-pie, CROSS_CC_HAS_I386_NOPIE)) 3> config-c= c.mak - --include config-cc.mak - -I386_SRCS=3D$(notdir $(wildcard $(I386_SRC)/*.c)) -ALL_X86_TESTS=3D$(I386_SRCS:.c=3D) -SKIP_I386_TESTS=3Dtest-i386-ssse3 test-avx test-3dnow test-mmx test-flags -X86_64_TESTS:=3D$(filter test-i386-adcox test-i386-bmi2 $(SKIP_I386_TESTS)= , $(ALL_X86_TESTS)) - -test-i386-sse-exceptions: CFLAGS +=3D -msse4.1 -mfpmath=3Dsse -run-test-i386-sse-exceptions: QEMU_OPTS +=3D -cpu max - -test-i386-pcmpistri: CFLAGS +=3D -msse4.2 -run-test-i386-pcmpistri: QEMU_OPTS +=3D -cpu max - -test-i386-bmi2: CFLAGS=3D-O2 -fwrapv -run-test-i386-bmi2: QEMU_OPTS +=3D -cpu max - -test-i386-adcox: CFLAGS=3D-O2 -run-test-i386-adcox: QEMU_OPTS +=3D -cpu max - -test-aes: CFLAGS +=3D -O -msse2 -maes -test-aes: test-aes-main.c.inc -run-test-aes: QEMU_OPTS +=3D -cpu max - -# -# hello-i386 is a barebones app -# -hello-i386: CFLAGS+=3D-ffreestanding -fno-stack-protector -hello-i386: LDFLAGS+=3D-nostdlib - -# test-386 includes a couple of additional objects that need to be -# linked together, we also need a no-pie capable compiler due to the -# non-pic calls into 16-bit mode -ifneq ($(CROSS_CC_HAS_I386_NOPIE),) -test-i386: CFLAGS +=3D -fno-pie - -test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S test-i386.h tes= t-i386-shift.h test-i386-muldiv.h - $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_CFLAGS) -o $@ \ - $( $@,"GENREF","generating $@") - -run-test-i386-fprem: TIMEOUT=3D60 -run-test-i386-fprem: test-i386-fprem test-i386-fprem.ref - $(call run-test,test-i386-fprem, $(QEMU) $<) - $(call diff-out,test-i386-fprem, test-i386-fprem.ref) -else -SKIP_I386_TESTS+=3Dtest-i386-fprem -endif - -# Update TESTS -I386_TESTS:=3D$(filter-out $(SKIP_I386_TESTS), $(ALL_X86_TESTS)) -TESTS=3D$(MULTIARCH_TESTS) $(I386_TESTS) - -sha512-sse: CFLAGS=3D-msse4.1 -O3 -sha512-sse: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -run-sha512-sse: QEMU_OPTS+=3D-cpu max - -TESTS+=3Dsha512-sse - -CLEANFILES +=3D test-avx.h test-mmx.h test-3dnow.h -test-3dnow.h: test-mmx.py x86.csv - $(PYTHON) $(I386_SRC)/test-mmx.py $(I386_SRC)/x86.csv $@ 3DNOW - -test-mmx.h: test-mmx.py x86.csv - $(PYTHON) $(I386_SRC)/test-mmx.py $(I386_SRC)/x86.csv $@ MMX SSE SSE2 SSE= 3 SSSE3 - -test-avx.h: test-avx.py x86.csv - $(PYTHON) $(I386_SRC)/test-avx.py $(I386_SRC)/x86.csv $@ - -test-3dnow: CFLAGS +=3D -masm=3Dintel -O -I. -run-test-3dnow: QEMU_OPTS +=3D -cpu max -test-3dnow: test-3dnow.h - -test-mmx: CFLAGS +=3D -masm=3Dintel -O -I. -run-test-mmx: QEMU_OPTS +=3D -cpu max -test-mmx: test-mmx.h - -test-avx: CFLAGS +=3D -mavx -masm=3Dintel -O -I. -run-test-avx: QEMU_OPTS +=3D -cpu max -test-avx: test-avx.h diff --git a/tests/tcg/i386/meson.build b/tests/tcg/i386/meson.build new file mode 100644 index 00000000000..62074b86c9e --- /dev/null +++ b/tests/tcg/i386/meson.build @@ -0,0 +1,56 @@ +cc =3D 'i686-linux-gnu-gcc' +cc_dockerfile =3D 'debian-i686-cross' +cc_docker_host_arch =3D ['x86_64'] + +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'hello-i386.c': { + 'cflags': ['-ffreestanding', '-fno-stack-protector', '-nostdlib'], + }, + 'test-aes.c': {'cflags': ['-O1', '-msse2', '-maes']}, + 'test-i386-adcox.c': {'cflags': ['-O2']}, + 'test-i386-bmi2.c': {'cflags': ['-O2', '-fwrapv']}, + 'test-i386-f2xm1.c': {}, + 'test-i386-fbstp.c': {}, + 'test-i386-fisttp.c': {}, + 'test-i386-fldcst.c': {}, + 'test-i386-fp-exceptions.c': {}, + # TODO: original test-i386-fprem test was comparing output between qemu = and + # bare-metal. At the moment, files are not matching, so deactivate compa= re. + 'test-i386-fprem.c': {}, + 'test-i386-fpatan.c': {}, + 'test-i386-fscale.c': {}, + 'test-i386-fxam.c': {}, + 'test-i386-fxtract.c': {}, + 'test-i386-fyl2x.c': {}, + 'test-i386-fyl2xp1.c': {}, + 'test-i386-pcmpistri.c': {'cflags': ['-msse4.2']}, + 'test-i386-pseudo-denormal.c': {}, + 'test-i386-snan-convert.c': {}, + 'test-i386-sse-exceptions.c': {'cflags': ['-msse4.1', '-mfpmath=3Dsse']}, + 'test-i386.c': { + 'cflags': [files('test-i386-code16.S'), files('test-i386-vm86.S'), + '-lm', '-fno-pie', '-Wl,--no-warn-rwx-segments'], + }, + '../multiarch/sha512.c': { + 'exe_name': 'sha512-sse', + 'cflags': ['-msse4.1', '-O3'], + }, +} + +if 'qemu-i386' in emulators + tcg_tests +=3D { + 'i386-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'i386', + 'gdb_arch': 'i386', + 'qemu': emulators['qemu-i386'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 878a391d8fd..4d74891a30b 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -142,6 +142,7 @@ subdir('alpha') subdir('arm') subdir('hexagon') subdir('hppa') +subdir('i386') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.t= arget index c48767fef85..9994dff4c44 100644 --- a/tests/tcg/x86_64/Makefile.target +++ b/tests/tcg/x86_64/Makefile.target @@ -6,7 +6,7 @@ # $(SRC_PATH)/tests/tcg/i386/ # =20 -include $(SRC_PATH)/tests/tcg/i386/Makefile.target +#include $(SRC_PATH)/tests/tcg/i386/Makefile.target =20 X86_64_TESTS +=3D test-2413 =20 @@ -20,7 +20,7 @@ X86_64_TESTS +=3D test-1648 X86_64_TESTS +=3D test-2175 X86_64_TESTS +=3D cross-modifying-code X86_64_TESTS +=3D fma -TESTS=3D$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64 +TESTS=3D$(MULTIARCH_TESTS) $(X86_64_TESTS) #test-x86_64 else TESTS=3D$(MULTIARCH_TESTS) endif @@ -33,9 +33,9 @@ run-plugin-test-i386-ssse3-%: QEMU_OPTS +=3D -cpu max cross-modifying-code: CFLAGS+=3D-pthread cross-modifying-code: LDFLAGS+=3D-pthread =20 -test-x86_64: LDFLAGS+=3D-lm -lc -test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h - $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) +#test-x86_64: LDFLAGS+=3D-lm -lc +#test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h +# $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) =20 %: $(SRC_PATH)/tests/tcg/x86_64/%.c $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526441; cv=none; d=zohomail.com; s=zohoarc; b=CCFEvDOB1hTgtQTeE4Gn4FtMijKKYp/R65g1fladOkY9anZ8u6T/Lh72DPrOfV9DOhZ9P05Ngh1aNNOplorLQ9Zc0pxkN/8ROJ3Mvy0YoE6C0IQcKwW0BwY+b51WNFpTgNyiE9J9fybevMzB1JghLoj6N3f3SwTsBRCrMxq3aPY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526441; 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=UnmKO2ob2L7C7bBg61d15470Yo2AiPl5MYNd4/DA6PM=; b=jt7ARW7uWCiFS5mfR9aBMztyFoqs9P45ATH7XRQ6ot1xQhmBTJVGMVtgIRv8M3htEmgXArJkI6K67pXEpJULWDE5NAZACfpSj05YgLfUhWQczIg6CLMrvJ6ZgriLC0pRBe2PKu5JfFyqp8ZEKfnTkpu5Vdl0ZE54GrB65s9VAJU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526441174358.15178522262545; Fri, 4 Sep 2026 05:54:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQC-0001aT-QH; Fri, 04 Sep 2026 08:53:32 -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 1x2TQB-0001a5-SN for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:31 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ9-0000f7-V7 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:31 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-482dbe4d247so573149f8f.2 for ; Fri, 04 Sep 2026 05:53:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885bbb51sm6243212f8f.30.2026.09.04.05.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 2050C61A5B; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526408; x=1789131208; 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=UnmKO2ob2L7C7bBg61d15470Yo2AiPl5MYNd4/DA6PM=; b=jXaz107/5Fahh+YunZ/DFrEzMfTBcZ3VLuxEVMovCluYlqOkSwFO8eq2iXBJ1mDxxi /G+eyAcur1UwHERwXiMsUnKgzab69DRVveqDTDM5TkEcy52aungtrd579a6jSKOLjILY 7VGGUAI+BTiAvcLgTkG26HHrldhW1lwLZwaedPfqm84HEpYoPPXQNaPF63HeRbCYr8tG xrR09SYCe9Exn7Z0iCskkYCpVeYjwhJvDtN4vcU2T9daN4Cs5ObV9wqrbkHOtU6QZgjh 4IBRoCUji1TS0OyfEwYMVszQuXBD2fsxuFrY7zfB+RF+LYHW4d9dYDp+bEig5/c1Axn3 GK8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526408; x=1789131208; 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=UnmKO2ob2L7C7bBg61d15470Yo2AiPl5MYNd4/DA6PM=; b=iIttYCic0u+KXq4GtnKki4uwL3P/zNesBM8zuVtTa5XMHXW9PjJw+e9mRlBHxqDKZ4 WHI+ZM87T6jQvjGaYVWw0HDxT4gtpebgsanUdxqZXyXvi3PI4o18IrX7Q7eu7RBdGy89 jeW06CuuK7eRcFRJ2OP+DwiywFTtCLvdqAQD2zmTuhFP///gVn21nL7iWdjNGsw6so/V iggzRS9RhegKxGhs8mP++T2uhZkqagxwJ3VnPl+aKWb8DoYaO4dw5KTWKdLFcj61u1Mt 2EwU7fKYIfVZcXJVWi6dW6Hn8dpARIc2o09xWV/gxFPRacEOILhyRY7U5gLjSoFkkY00 k8UQ== X-Gm-Message-State: AFuF++mmC/U6n0Jqx8tDbAriU2g+a/BDmvxoQWEpoV+mru9Y0tSUro+I zr6zUvXxceD7LU9anJ00dLG/1HNkdrxRbK7CxFRjoS+iFEkKOeFoWVyfZldNFgdZBng= X-Gm-Gg: AYBFou33Wy+UNslhHuzBU8azWHatpDfLcLVyahmaZdi4GVXMfvqAhOI4r0yInTMUpA8 0jOylS8sVPvUZflZNpHgyptKwUwPJzsNCJ2RVUBCviRX5YzN4Rf/gFPYd0rGWQzl8VDmsH+5Pfp kAICDOr7J3Afu8zyGNyS5+lUzIKTcKaF7wbNYV8FNejeUbxx24kaXgsuvwPvNSWGhTlq6R2cMOT 6AarT/lwpE/IoQn7OLvm6ynBlnPP5/j2f/Aqesbsn+ThkPH3xIFOTaAPkJWqCe5sWL4FdCGzIrh Ykb84QBlZR/aFR2u/XOQD4YdpEpNjOim5auiyaQ8u9ZE82fukmhPHz8rEGqREB1tyfY+H/PLHQT dSPZInrGZx78U6CIJiHbBfQbH8HOVFcUs/cjJ+APszvg3+rg/laytZeRq0oQPhS0NHfGdegGWqu 3jWeK6GS0RiVjFWn7dNZ/ct5tmsDOfHcS2v/9txbFbAQaGC1tsuDduuEM+QxLH X-Received: by 2002:a05:6000:29c9:b0:484:3314:eff6 with SMTP id ffacd0b85a97d-4858709b390mr8818158f8f.28.1788526408373; Fri, 04 Sep 2026 05:53:28 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson Subject: [PULL 056/105] tests/tcg/i386: system tests Date: Fri, 4 Sep 2026 13:45:10 +0100 Message-ID: <20260904124604.2207440-57-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526443552158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-57-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/i386/Makefile.softmmu-target b/tests/tcg/i386/Makefi= le.softmmu-target deleted file mode 100644 index 4096a1cf31f..00000000000 --- a/tests/tcg/i386/Makefile.softmmu-target +++ /dev/null @@ -1,37 +0,0 @@ -# -# x86 system tests -# -# This currently builds only for i386. The common C code is built -# with standard compiler flags however so we can support both by -# adding additional boot files for x86_64. -# - -I386_SYSTEM_SRC=3D$(SRC_PATH)/tests/tcg/i386/system -X64_SYSTEM_SRC=3D$(SRC_PATH)/tests/tcg/x86_64/system - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -CRT_PATH=3D$(I386_SYSTEM_SRC) -LINK_SCRIPT=3D$(I386_SYSTEM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -Wl,-melf_i386 -CFLAGS+=3D-nostdlib -ggdb -O0 $(MINILIB_INC) -LDFLAGS+=3D-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc - -TESTS+=3D$(MULTIARCH_TESTS) -EXTRA_RUNS+=3D$(MULTIARCH_RUNS) - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -%.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack -c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 - -# Running -QEMU_OPTS+=3D-device isa-debugcon,chardev=3Doutput -device isa-debug-exit,= iobase=3D0xf4,iosize=3D0x4 -kernel diff --git a/tests/tcg/i386/meson.build b/tests/tcg/i386/meson.build index 62074b86c9e..5cda03655fa 100644 --- a/tests/tcg/i386/meson.build +++ b/tests/tcg/i386/meson.build @@ -2,6 +2,8 @@ cc =3D 'i686-linux-gnu-gcc' cc_dockerfile =3D 'debian-i686-cross' cc_docker_host_arch =3D ['x86_64'] =20 +subdir('system') + tests =3D [] =20 tests +=3D tcg_tests['multiarch-linux-user']['tests'] diff --git a/tests/tcg/i386/system/meson.build b/tests/tcg/i386/system/meso= n.build new file mode 100644 index 00000000000..d3f73997c7f --- /dev/null +++ b/tests/tcg/i386/system/meson.build @@ -0,0 +1,49 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script, + '-Wl,-melf_i386', + '-Wl,--no-warn-rwx-segments', + '-lgcc'] +qemu_def_args =3D ['-display', 'none', + '-device', 'isa-debugcon,chardev=3Dstdio', + '-chardev', 'stdio,id=3Dstdio', + '-device', 'isa-debug-exit,iobase=3D0xf4,iosize=3D0x4', + '-kernel'] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D1' + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +if 'qemu-system-i386' in emulators + tcg_tests +=3D { + 'i386-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'i386/system', + 'gdb_arch': 'i386', + 'qemu': emulators['qemu-system-i386'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526470; cv=none; d=zohomail.com; s=zohoarc; b=WzFNL5EpGZEpZ/3LuNRPGNk4Wx5gsMoLBVuxFtFr1Qwjha8ACAHNpdxqgc6ajUig8QQBnl6w232DVxQXwDWL8Cf+X2RBNeI7g9LOSoa53CKxVXbVh5JzxsM+7+llsbSQ9awQOaFp1QdHSFKHvyLHuG2yZxHA4QIiUQQnbOWi8NI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526470; 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=Bq7/bBVHMX4neHA7eeRRgfN06htohj1B67tRUHuq5gc=; b=Tr/7lDca/KZnDhGt+SDXxe7bf4k/lOHtITy2Ur40wr8fBATi45OpQx6Nys/WVr1NiiF9aIGQYwM/ffYmmjKbOBQ6W8+YrMK5M4A8J2PQrlo6OAoOOcJwkH4a2JUJKyXtIQWILgq9PF8C/jiBiW9q5rldu6OOMa9Im5zEkVBHZgQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526470547420.950201752862; Fri, 4 Sep 2026 05:54:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQG-0001dZ-N2; Fri, 04 Sep 2026 08:53:36 -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 1x2TQE-0001cK-TE for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQD-0000gQ-5G for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-49b8f86c6deso6382785e9.0 for ; Fri, 04 Sep 2026 05:53:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf75cd8d0sm62087115e9.2.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3CAA861AE2; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526412; x=1789131212; 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=Bq7/bBVHMX4neHA7eeRRgfN06htohj1B67tRUHuq5gc=; b=vy7JRmPKNdayg74mBpIxYKwgACm6/KLdO8tWBV4JLNhM6hecU25920oqvcGupi4J5n bZ0oSoAZHJ8I02egeO8PJuoHKRp3XT6vwnf0XkYPsPxTxvchaqUuDYs0mHcOQuBReoaP GqCfESU0KCNM3GzQxPQ1MLsM9t7ApSU3cuWcVpfRGFRivBREQooubVINnFilxGM4llRy 5Lus4mncrh/t7VwPudpQNil6mtilYBFS0Hl0B3aj6mrErb9v8cTM3gy5S4sFLJZstnS8 1wEgQHtoa/e1SXaGg9679yUpca6hvdldSNdU6tlAkV9709DdEKmU4R7hT5lkhilvI+hj +nGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526412; x=1789131212; 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=Bq7/bBVHMX4neHA7eeRRgfN06htohj1B67tRUHuq5gc=; b=Yrk6h3Uor+Oj/foNJVcmQO/qmYkNBSyWI322LwTfnJkK6F3RE9wu+8SwRowL7+CvEd huf52XJrP4U6ft76HhDUJLd3ON88ylAmw8DYMCANcX26/J63uh2vgQtxZ8SpiiZT3EcF bJnYk0uvx3mx2G5cjDCw4gF5T4CGMJ2ctPn4IPV5fykpIkbOYGAFB4ELCmJWBmT+818w LTBfOHIFd0ScJ6jKUDrmD56tEEWoBRS6g0l8z1SgnDM3/cpeqZBBh76XgQQf3wUf/nKz wWFJwFkxORPcRrSBy6YcPCj47eeMyBg/4uPRx1Mh/cmvLpytQgr7qjY6++K6vbOBbh4s QbZw== X-Gm-Message-State: AFuF++myFX3QEpQIfqMbRWnZPIAIUH10kU/FaJh/5mYjTklS1UbafUDi Q+9zjimC5CDOysBnaA5GjjfZwkiMs3L8t0Y4zgKI8mWPyjNpYu7IRTPRU348y6v8G/U= X-Gm-Gg: AYBFou1S9pPkuL2GDFY1gy96vs41Pjee7pwuLZF4OVYSrUIkgLzbgtCtWu/RCLHzuOO MzovhuOJ7gK6vFwYE81xvd4O1gwrTmIHkTR8++4wdrmiOV8dW+FI+9dBx7LNOhprDj/ANVzGN3o wJuzS9r7+OUsPq6AdrfEQMLIz4YP9kpNFgdcLx6WWiJunyCFrc2TkK38FMkz/Sq9MwlAQ8t7NoN WF7eUUIcDoQ2MGe+zw2wwiNG/Lrdsq/0DK39TCMbhugxp4tP2iY8GjvffbxV4XAdrjJYC8V8jCB ZFmPfUEcHEE1N6GhvGZ1FmTwaVH/5Nt9u+3nx1rt5O4qya+YjYIgxueidGH2m+M/S8OUoDW29qm z8qSCESi57Yg5n3fFpYKugB8nwYa3YwUeVevQhu+9yPCQPWUwAllytiKAWGmJeI16dmjPEfiBDA ppCBb5jiywlPFuSqihPUOjzGxGU8N24HZAMgCtvufhW7XFRzNqJTjqyZMrYQqm X-Received: by 2002:a05:600c:a01:b0:499:7219:122f with SMTP id 5b1f17b1804b1-49cf8222d53mr58014925e9.4.1788526411855; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , Song Gao <17746591750@163.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Bibo Mao , Xianglai Li Subject: [PULL 057/105] tests/tcg/loongarch64: user tests Date: Fri, 4 Sep 2026 13:45:11 +0100 Message-ID: <20260904124604.2207440-58-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526471573158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Reviewed-by: Song Gao <17746591750@163.com> Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-58-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/loongarch64/Makefile.target b/tests/tcg/loongarch64/= Makefile.target deleted file mode 100644 index 00030a10266..00000000000 --- a/tests/tcg/loongarch64/Makefile.target +++ /dev/null @@ -1,20 +0,0 @@ -# -*- Mode: makefile -*- -# -# LoongArch64 specific tweaks - -# Loongarch64 doesn't support gdb, so skip the EXTRA_RUNS -EXTRA_RUNS =3D - -LOONGARCH64_SRC=3D$(SRC_PATH)/tests/tcg/loongarch64 -VPATH +=3D $(LOONGARCH64_SRC) - -LDFLAGS+=3D-lm - -LOONGARCH64_TESTS =3D test_bit -LOONGARCH64_TESTS +=3D test_div -LOONGARCH64_TESTS +=3D test_fclass -LOONGARCH64_TESTS +=3D test_fpcom -LOONGARCH64_TESTS +=3D test_pcadd -LOONGARCH64_TESTS +=3D test_fcsr - -TESTS +=3D $(LOONGARCH64_TESTS) diff --git a/tests/tcg/loongarch64/meson.build b/tests/tcg/loongarch64/meso= n.build new file mode 100644 index 00000000000..209179fd96c --- /dev/null +++ b/tests/tcg/loongarch64/meson.build @@ -0,0 +1,30 @@ +cc =3D 'loongarch64-unknown-linux-gnu-gcc' +cc_dockerfile =3D 'debian-loongarch-cross' +cc_docker_host_arch =3D ['x86_64'] + +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'test_bit.c': {}, + 'test_fclass.c': {}, + 'test_fcsr.c': {}, + 'test_fpcom.c': {}, + 'test_div.c': {}, + 'test_pcadd.c': {}, +} + +if 'qemu-loongarch64' in emulators + tcg_tests +=3D { + 'loongarch64-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'loongarch64', + 'gdb_arch': 'loongarch64', + 'qemu': emulators['qemu-loongarch64'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 4d74891a30b..70aaa86afbf 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -143,6 +143,7 @@ subdir('arm') subdir('hexagon') subdir('hppa') subdir('i386') +subdir('loongarch64') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526449; cv=none; d=zohomail.com; s=zohoarc; b=UI+/MoDd86nmUKEx2azhdWSy5iVBd/r4zMe9drea5AXsDm+kOkWw3K208zI5FWTxTRvsdJhtkil5zGikh4ggBJbu2S9FIG4sdH8VN6r62v3riTNONSKDcOCGq0Cyz5s0m/e8o8U72zQ4Tlc7Ktv9CnqjsycGoHStZsSMZ58sn2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526449; 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=YInPOfi+J5WbTMOr1WjVt/C35IoOaen+Lma3WkubtKY=; b=Ch50JfieJ5Fl/+r8Q3AMDfER1AamxLtGTEs3HKfHMS/EiWXQSRBVYwHQT6PAZsLUeqpBR5nvXfe/wVgzmOy7EbgUkBHT2XcJZJFl8wUZFizA+s0GEJJpo84z/Uapg7EvIuq9ynj8fvNzYbOalwM2386OmGows5aLI2XHcxv3Ie0= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526449212450.75558634823847; Fri, 4 Sep 2026 05:54:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQB-0001Zd-Gm; Fri, 04 Sep 2026 08:53:31 -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 1x2TQ9-0001YO-PV for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:29 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ7-0000eM-Ba for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:29 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-482f9309813so882498f8f.1 for ; Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm2475317f8f.3.2026.09.04.05.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 57EFF61AF2; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526406; x=1789131206; 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=YInPOfi+J5WbTMOr1WjVt/C35IoOaen+Lma3WkubtKY=; b=xXH4M9tmiNkHeMt6Ta2bOrei48zewtVtyzR97NaNi+/xHVxhd8hxwQIZVDpkgfMcqJ qStqA36KMuyu500LOLuW9MpqIn6vJBVGknXjqfS7qXcinrs0aabcU41r302dZbwpNCs6 IRkQ66mpLdB63H1n6XvWMoKBWOD2wHK/lB1M9NlY7MqETjnxQwcjH8n9zcxMSR0qU/UQ EzoUOUR2opzzhr7Q/fL0czgCB2lJMsPmjm6fgEgnTWuZ6o9n+uub/XpZCYfWjexv2u3X kQonv3+0eapf+1mrdXTUetuPOkbMGtHHi6yv6JfdzJsIHg25sRpxp/S8YmYCbOkMaL+4 meNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526406; x=1789131206; 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=YInPOfi+J5WbTMOr1WjVt/C35IoOaen+Lma3WkubtKY=; b=o3dHbfrmx3WNTGtH1238ZxDDIku+FTnjkoJeRjWhNPyMgsAZGY5p6eO4t7ue2jMZKN J6rz2SfyG8Qm8HrKJ2XMlQH71sxjFy+giL4AhEOWLU6x0SKnljCxKgmwobhGiSUbN35f e+pAOWu0ljcei5Atlq1ovun6MzhpGNvC21DJKaudg574dS2HqmuhYCXmODdg0/AR8JUa ipzS2zCRFAhn+j8nSVCPeYPuosWjhreCBEjVl4ebg3J+mc+CuqFJRxGf6PqrmzgQcgaG 8qBMnEtFA27WAt4Ab4wnO+/Ed1yhFcPIiOGNlEdVWKICvt7vCV6MWT+TqR3XZVu/MVV2 /lXQ== X-Gm-Message-State: AFuF++ko9KaVC14G6fmOKtwzy5rRraOMYiJusNNSZP0SbEXMtxmDq/Lw glKeBaDZP6wiC7DtUhQa4lwnOFNIrhZj9S5ESd99rzS0rssm6PqUZfTGQVcZtfrt0iDwxb5RBZN vXmCpKQw= X-Gm-Gg: AYBFou3KVVa7988FxrJo7gPxGjHEnWD5giI/romHp1Nl5mXaDCEXeh/JHSknGsEH08a IOtQkQ6t+4D8mnBURM8+aZAXgHiENI4nOgUiLJDReVPiwl3FyE/o/1oZgC9fGPY3Iay+MrM6J8Y +yOXBDm71Yg79rbhAx63GNNiRtnc+1AVND0E7YmhGHsOCeHYIn4pnV0hhSxhS7eKhIssrrREpxc m/NHYWwNXV8AJjWnT5N1Qra9spmzKFKaTxNMuH/j7uQtm7+bcuvfIzksgWoVUiVFVtYz37+PC9r +Lzta3GLhMARy+4JlA+84DYdoNC9mObMvLTGAbm5D7qJJ2fDTPjYpfBSdRXrEnncTLq9dOJZ/rO JuG3Zf8+axniWzUC/zUZvzK+mop7ZMTU7JWYbLhQe+AhasmYQ4uH7XQJiQDMwGNm9pM7cxi5Yfl YtZbekfcHqxc+QSkbbJclomylfM7/3+rW+sy+JiB2VDHiz/QH9/7HmNASRsBp2yJBrMiwq8LwjN Q== X-Received: by 2002:a05:6000:29d1:b0:47f:8b24:ef01 with SMTP id ffacd0b85a97d-48587091569mr6638825f8f.1.1788526405585; Fri, 04 Sep 2026 05:53:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , Song Gao <17746591750@163.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Bibo Mao , Xianglai Li Subject: [PULL 058/105] tests/tcg/loongarch64: system tests Date: Fri, 4 Sep 2026 13:45:12 +0100 Message-ID: <20260904124604.2207440-59-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42e; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526451655158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Reviewed-by: Song Gao <17746591750@163.com> Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-59-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/loongarch64/Makefile.softmmu-target b/tests/tcg/loon= garch64/Makefile.softmmu-target deleted file mode 100644 index 6d4a20fde73..00000000000 --- a/tests/tcg/loongarch64/Makefile.softmmu-target +++ /dev/null @@ -1,33 +0,0 @@ -# -# Loongarch64 system tests -# - -LOONGARCH64_SYSTEM_SRC=3D$(SRC_PATH)/tests/tcg/loongarch64/system -VPATH+=3D$(LOONGARCH64_SYSTEM_SRC) - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -LOONGARCH64_TEST_SRCS=3D$(wildcard $(LOONGARCH64_SYSTEM_SRC)/*.c) -LOONGARCH64_TESTS =3D $(patsubst $(LOONGARCH64_SYSTEM_SRC)/%.c, %, $(LOONG= ARCH64_TEST_SRCS)) - -CRT_PATH=3D$(LOONGARCH64_SYSTEM_SRC) -LINK_SCRIPT=3D$(LOONGARCH64_SYSTEM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -TESTS+=3D$(LOONGARCH64_TESTS) $(MULTIARCH_TESTS) -CFLAGS+=3D-nostdlib -g -O1 -march=3Dloongarch64 -mabi=3Dlp64d $(MINILIB_IN= C) -LDFLAGS+=3D-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc -Wl,--no-wa= rn-rwx-segments - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -%.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -= c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D0 -# Running -QEMU_OPTS+=3D-serial chardev:output -kernel diff --git a/tests/tcg/loongarch64/meson.build b/tests/tcg/loongarch64/meso= n.build index 209179fd96c..1d62de64ed6 100644 --- a/tests/tcg/loongarch64/meson.build +++ b/tests/tcg/loongarch64/meson.build @@ -2,6 +2,8 @@ cc =3D 'loongarch64-unknown-linux-gnu-gcc' cc_dockerfile =3D 'debian-loongarch-cross' cc_docker_host_arch =3D ['x86_64'] =20 +subdir('system') + tests =3D [] =20 tests +=3D tcg_tests['multiarch-linux-user']['tests'] diff --git a/tests/tcg/loongarch64/system/meson.build b/tests/tcg/loongarch= 64/system/meson.build new file mode 100644 index 00000000000..5bf4c56e385 --- /dev/null +++ b/tests/tcg/loongarch64/system/meson.build @@ -0,0 +1,48 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script, + '-march=3Dloongarch64', + '-mabi=3Dlp64d', + '-Wl,--no-warn-rwx-segments', + '-lgcc'] +qemu_def_args =3D ['-display', 'none', + '-serial', 'stdio', + '-kernel'] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D0' + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +if 'qemu-system-loongarch64' in emulators + tcg_tests +=3D { + 'loongarch64-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'loongarch64/system', + 'gdb_arch': 'loongarch64', + 'qemu': emulators['qemu-system-loongarch64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527115; cv=none; d=zohomail.com; s=zohoarc; b=jzqO48ADn5WcYfpFWfmzj+Vbzm+LI8CVWyCSzb6f2fr17sM02rRVRkr0GOP0jj4RmfyqPzpB2uQaOZ2JL5WwI3V+hgy+0ygnahXYZ3to4dLxXCIXaRKWIsYuUv+iNyTboUK/HKKOKIgu67xnL/uBl8PHCWGOh4GC1mtZpxyjnwk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527115; 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=IC71ZNlS8fq8zzE7rLn0/c2mGQJlCoRxAh/JG5nlSb0=; b=RAw8BRoUuiJU6uLm2ycRmjS+NS97elrjloB0QcwXx4qXuAinrfolJR58HGw0pyHeD9GCHCosFRSNJT5PLfviOEaDFAsz5YibmQdoFa46yjhx5J9+V57NPiqUpujSnh2/72iLc9EvFcX2dvHO0sfpeF6G8urP7FZqotr7/HP5Kv8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527115351575.4421716417467; Fri, 4 Sep 2026 06:05:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaV-0006kl-MQ; Fri, 04 Sep 2026 09:04:11 -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 1x2Ta1-0006Pj-6Y for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:46 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-00036y-3h for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:39 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49b8eeb3ff2so9088845e9.2 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5d476esm169676715e9.1.2026.09.04.06.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7A52C61B0F; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527011; x=1789131811; 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=IC71ZNlS8fq8zzE7rLn0/c2mGQJlCoRxAh/JG5nlSb0=; b=nXlZbVt+rhgJhbQT7/qGJihQnk//8wi8fAIX1+4kXp1kb/p8L+vWhECb+AzazrA6VW kSV+WMSzGV5+AUBFlpnLDYsPLCSOL0hslrPvaLoNWie20d+p8zHGkiBeWksgcpSlylQC PpLM7Uzef2dupSZ52Tohdq0Kos/QWl/g3XragpEg539dAcRfCd7cRl48TSJykzB0vv4y skVzDisSsdV/qw180CC9TGgmHdCzDyZP3GggAHWeVirRlUsLbjDMPbF3H/pYGG/Wl+I+ 5kej3BRGYD5Gsh+OenVb49Tue/wM3JfKeUvMZUSUi/Id1wC4FNP1UhvoltbbtsQYI+wd Tc+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527011; x=1789131811; 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=IC71ZNlS8fq8zzE7rLn0/c2mGQJlCoRxAh/JG5nlSb0=; b=UFQIgwIJhZnY5LObCSDpj0kA7VHrzfllXeWXeam87Ay7L95AMq5wZJEG+Hsd8ieXp9 DBRiRo35rCqtU9oBFwZF04IV1yG+B9acObxzpQYNhtpSBKokmuJN/tzgQmNRRHAr0wbu MpRib1ECYw+w7MLt+uB3tKuaU5zxV+PBn/WLCA26f9ozRuMs+7w0ALvQx1A+eQwSpx2D +UunL+ECoywWT+dQ6Oigj8J9LrybwKdoW+f77DNunR/b4/BHdeWz8WKVozfgtDsbTnHb m8weYDQmdH/UOwu7Aud2MKn6Qy5WNELKwv77rsJ45tK5NsrYJGNEy0ZkiU/kEIZGFX63 cL1Q== X-Gm-Message-State: AFuF++kqS3EfRXetZJ4yJlCuK8hs3tEjAH7rAPnL5Y6c3oRBS2h7Dans GicIMxP40pDV8EdOAjYFQTsT4euHg+VU2YUti3x06l1L2HDcG2eTMT+NSThrA/QPXcw= X-Gm-Gg: AYBFou0k2nxVOqz8YJB1B0Cd4K1ATBHAkqxGiROJmt+WXU9FPI8Km3hpNv1xYbG0C3p E6+gZ7ZzMkz7IsH8VFH5/6eGgi+2cy7bWGpyav5HDWfuqc69PvlGLzAcw2/iFJtgcS2KiiY6S46 u0Sj6lmzT4bd192K+A44Da5iPmTazUm4z2DqucijwUhSXx/RIflcpDDEbDv2DbC7TU45y+EgNpb p/3d4f+Q0zSerWxVKylai0avtdo4Y1NtMLWcIJjS8YDVjnNokhu9erNR8fUuj1yufbLfuXqVckc wItn6SFIzI6egUh/AT4BQcUJsYwNvCQNukmLEjxu0mqbfFtU7a/D7okeca82cRcp+1f8kY+NtMa Nh7cuA9Asok6encZHxzyxFoMXjR7CpVYWTd6eWdAQq8+OVEatOFPIgSLA/idDAIove7FOeO5Bpm 5TAlpPNZRcp2vIjXbSt3q/ebZkLoBihXgAJV4O66VAveKk1vla3o3FQsj3sfL0 X-Received: by 2002:a05:600d:848a:b0:49c:ff20:451a with SMTP id 5b1f17b1804b1-49cff20452amr10303925e9.27.1788527010891; Fri, 04 Sep 2026 06:03:30 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Laurent Vivier Subject: [PULL 059/105] tests/tcg/m68k: add float reference files Date: Fri, 4 Sep 2026 13:45:13 +0100 Message-ID: <20260904124604.2207440-60-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527116947158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-60-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/m68k/float_convd.ref b/tests/tcg/m68k/float_convd.ref new file mode 100644 index 00000000000..995891170cf --- /dev/null +++ b/tests/tcg/m68k/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00ffffffffffffffff) + to single: f32(-nan:0xffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding upwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00ffffffffffffffff) + to single: f32(-nan:0xffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding downwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00ffffffffffffffff) + to single: f32(-nan:0xffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00ffffffffffffffff) + to single: f32(-nan:0xffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff8000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/m68k/float_convs.ref b/tests/tcg/m68k/float_convs.ref new file mode 100644 index 00000000000..e40239c9e72 --- /dev/null +++ b/tests/tcg/m68k/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding upwards +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding downwards +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-nan:0xffffffff) + to double: f64(-nan:0x00ffffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007fffffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/m68k/float_madds.ref b/tests/tcg/m68k/float_madds.ref new file mode 100644 index 00000000000..23a1357a590 --- /dev/null +++ b/tests/tcg/m68k/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffffffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fffffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffffffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fffffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffffffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fffffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/0) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (0/2) +op : f32(-nan:0xffffffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffffffff)= + f32(-inf:0xff800000) +res: f32(-nan:0xffffffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fffffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (29/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(-nan:0xffffffff) + f32(-nan:0xffffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/0) +op : f32(-nan:0xffffffff) * f32(-nan:0xffffffff) + f32(nan:0x7fffffff) +res: f32(-nan:0xffffffff) flags=3DINVALID (30/1) +op : f32(-nan:0xffffffff) * f32(nan:0x7fffffff) + f32(-nan:0xffffffff) +res: f32(nan:0x7fffffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526534; cv=none; d=zohomail.com; s=zohoarc; b=CJJWLWV34E1kAP1nhc8AfYuTGpibH64+5mapZ3SjOgngBvEbAWG0ocq9nijSNyjR7WGsvsqh3RjhOaM+yDfzRWWWOjo2s04OL5eXBfRhpPvINlqjuekGmuzw+Y+1zxnFMkCC5P0gcpncrGLt0G1R+2q0XChNYsL/qx01Q3p/wks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526534; 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=Dj+v3TQbzbt+rs3ih5A9gakkfKJdFS6VE4e9q11YFRs=; b=L+SzOstSDLYYmzzMejYksj6gBIHwGpHnoi5vF+HxtGrGcrl2fc6PmBI5QsRF1XW3nExBiCY2Jqy1bjxmwBpWI9Pg4TepL4GLB/ICtRCE/5dlBfFDiHIDwowtBPEWFb+4wr2Y04uSVUNzkwWp2sttxjReYrFsEpK4TEoTqD/4584= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526534416927.370701872606; Fri, 4 Sep 2026 05:55:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQL-0001hq-U6; Fri, 04 Sep 2026 08:53: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 1x2TQK-0001gH-2a for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:40 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQF-0000hh-SU for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:39 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4956869750eso7348665e9.2 for ; Fri, 04 Sep 2026 05:53:35 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7739b7asm64649625e9.13.2026.09.04.05.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9627C601D6; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526414; x=1789131214; 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=Dj+v3TQbzbt+rs3ih5A9gakkfKJdFS6VE4e9q11YFRs=; b=FzZYBr81CZWbjGYI5pAfj5/fL55iJVEvkrHfqolvaRVjeRo85SNlle92CBQR68ghtw Yl72AwQ3CHxelaEg2ZNnNiujMcIO1h0YbZxmlMSQKgj+/WiA5D4i/dO6on7PT7rrXbtj +cxzO3I73dTegohthFOqeKqjP4R13QddrHgF5s2rb/BJ89TnC8fxkTGYGC/fSFtsdpA4 S4GqdicIt9MALMMKBnisbHfP08tR8OJO3mawKltKgijaVUpW/1Hx8ksfoCkBJ2lC63Jf iiLFXT5g+z7TaNqP2fi/txo4PwDvVEy4QPsrtqVBzmzLSb2+eGoDiQ99DbtxSwrrrAfp Pnag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526414; x=1789131214; 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=Dj+v3TQbzbt+rs3ih5A9gakkfKJdFS6VE4e9q11YFRs=; b=dhrLobypBXMYYcG1sZ++XUtZ2r9gnktusZVvUotBklHmo1pPRWsE//rYI+eWT1eqJu F9wYnyZHNkyZngSTUhAcheRL/41sn942U32JPABQTKcUqYEpXJpd17PEzK+yAZH3Mn0i GAv2pEl/hZJnDsiHQLtqUKX5LkwdSNVPA4i+U1p8E57EG6zPfBlnt6oG2xpX3a5LI2ZK zy+rvwdyC17U2G0EItQdxnODeRlmPDZdFSw1NtTk4+YuAdonsjgTroos+RJe82+ErSb5 NJ1XCSav6xfZqxyB7QRHURvZMFYXKB4kHhD2sxZ3rD0zDTtD37tDCNNIfq2rKKnS+KR6 xbvw== X-Gm-Message-State: AFuF++nbcj7xLztR5mUnh0vRXxp37indTbrayVAWoGBqtR0k56xDf8vh iCKRv89lKDPYJXTLqoNleDbKiuNUVFQOWHtNYMItsyQkj3/R5xTZi+Ck4xkOSTO+Epw= X-Gm-Gg: AYBFou26twSA/4JWjqrNcLvGUj5DSAGkFJYpocRNMtWC4Y2o5tgXIkcgZBlbr4gmf2M ZB6nT5YapHyESnYzkeMftM70ua0ZzoKRqQB8q2+Z36n8Y1a+rWlqWeG799ummeAcEhujqVFrlwp vIeBIvszn9HwP8H2f5UoXu6kCRj4u4xYqQxvZZYZO1dyCEdCoU73WfN8QYdYFekdjh/ZcvfLnFg iFbndpsQVz3sjiPzqeJxtI91KkNo2g2kzVXRPM2Pu6FDH4Jwl5462LQ8ae8MZX22DmoC17N5LC3 RMwjoIWB0qv15isCG4ELBp1kx0VrICTC6LVQ6ajlDzZCH7bbDr29i0ISIp1zeV7ePpdzxned8WL DtV21dm2pZYoBinZDhxkUMiWWN6qJCKOonvLBtbPeBoYuRNEaWJ+iORWDXs/lYz266MnxhRzYll xaw/8ORCVzaG4DHKskNBjUVuPggjbgQ57O5AgR7bG2Mh83k/hIPP+5Bi+wfouk X-Received: by 2002:a05:600c:37c8:b0:49c:cee2:a508 with SMTP id 5b1f17b1804b1-49cf826c4e2mr54526995e9.16.1788526414104; Fri, 04 Sep 2026 05:53:34 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Laurent Vivier Subject: [PULL 060/105] tests/tcg/m68k: user tests Date: Fri, 4 Sep 2026 13:45:14 +0100 Message-ID: <20260904124604.2207440-61-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526535740158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-61-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/m68k/Makefile.target b/tests/tcg/m68k/Makefile.target deleted file mode 100644 index 33f7b1b1275..00000000000 --- a/tests/tcg/m68k/Makefile.target +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile -*- -# -# m68k specific tweaks - specifically masking out broken tests -# - -VPATH +=3D $(SRC_PATH)/tests/tcg/m68k -TESTS +=3D trap denormal diff --git a/tests/tcg/m68k/meson.build b/tests/tcg/m68k/meson.build new file mode 100644 index 00000000000..8ecf450ac68 --- /dev/null +++ b/tests/tcg/m68k/meson.build @@ -0,0 +1,23 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'denormal.c': {}, + 'trap.c': {}, +} + +if 'qemu-m68k' in emulators + tcg_tests +=3D { + 'm68k-linux-user': { + 'cc': 'm68k-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'm68k', + 'gdb_arch': 'm68k', + 'qemu': emulators['qemu-m68k'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 70aaa86afbf..dc83b7447bf 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -144,6 +144,7 @@ subdir('hexagon') subdir('hppa') subdir('i386') subdir('loongarch64') +subdir('m68k') =20 image_targets =3D {} exe_targets =3D [] --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527197; cv=none; d=zohomail.com; s=zohoarc; b=ihl2U+eMgdZWeIWDOKXlqtjKBfw5B11i5SF2wX8xQQOgyz4+WExvdI4VmhMXpuFxap0bhrE6GhjHiIF0Yc51KZv3+20TYSJZTnPjZdYRwdFrcYLmoloSCgwLmBHYMH9NvmykWnJl5EWDxaB1dKOGZV4x5o66XhojgaMuMPzsbck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527197; 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=U7y/SyyYIbiLRfmtj7D11gXuwEFxs7AjnGg8HwNmBfU=; b=PT92ypLWE2mfz/9HUiOmU23wb0YxvX6YYN0oH0Z8+UJ+akQ9eb8h8nk7X6QW9wpSzUbkYDaY4xOzu6EiLxmhcuqZxNKo2KhH5s/JtIBrPhQMtTZWR4XLWFExcAXMkw2mkBtgSw2Tasb0yu0o8lZA6bHkgrM8vWO13c4+YcHx1dc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527197455746.8491716572605; Fri, 4 Sep 2026 06:06:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaW-0006nS-Sb; Fri, 04 Sep 2026 09:04:12 -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 1x2TaF-0006YD-T1 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:04:01 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta3-0003BX-Ty for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:52 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-c250c6a6a6eso132836366b.0 for ; Fri, 04 Sep 2026 06:03:42 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885b7bfasm6383480f8f.29.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id AEA3661B78; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527021; x=1789131821; 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=U7y/SyyYIbiLRfmtj7D11gXuwEFxs7AjnGg8HwNmBfU=; b=wwEEZJ9J4uKcm4epfLEPvC2NsVS4wEmjx+DkVAcGGhz1X5coJwBw9C5x4aGi44UqnI KegChHEFp+o3eYC/k9hbhQ+fKPPbQma6LRhY4lbLkj4oFUfWSRuWzmphA6GBgul9Y7zi /RlkGsTNohRsCo1mJz8NcR4r8aPmujGlcS1Y9q68hTot3YfMIHkXnkcUFPq0Tv7vsinf pQSKeHX1zIlnYwNwu6F9nKd316BSu8kheWur4rW6kU11cYawbLtntEyKQmeNkuaXPhmp DlYSYKG0bk1zd7RK1n3SB0Qy0sebRIrwhZyX6CgPG3yrbIG1aqxVqHK5tg+H4mxmTGk0 ByVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527021; x=1789131821; 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=U7y/SyyYIbiLRfmtj7D11gXuwEFxs7AjnGg8HwNmBfU=; b=iZ0sAoTYnUpT374S31yB0zuAfOW/qfXLB0nmVcgvy9h+bRcQhBWqHqeL3PjXTqXn7A v8SRcg4vvF/myHsyO6dy7BwAft6E62dovf4+Bk8iJTmrn2mXdmxchFEkvwVrTUFmp2tM CCrQvd6z/ZH70510/fLqMy9sowoJwVOh3cVKxdPGUz94G55s5dOzfUD7fv6T6I9B890S w+blkhCwuFsx02F+WHUOH6vW1bFoWHDmnY9ZMgClkUYUhTZfcV1uhvAC6Q/OPItmTWgF bByzlX56/udMdF+36CWO2nL3wxZUDTXjYj2UBC33GiNoYWoKOYD8Ufb72p8S/mXV44jT jCDg== X-Gm-Message-State: AFuF++mUFfBE2+mDfMVrprqAmSbDyGEwCevj/sRxMLkhvAOd3GScfWL3 n7MoQkBdViMqs2WaVdPtDmRLxa5O71Mij/l1uqJ/91qCMMWFLr8pPNrzBB1EngmJL5Rg7FsHTMz ufJuATDY= X-Gm-Gg: AYBFou0OS/i3naJ+/F+oQL0uko0DaMzZYtLtc9rmgCSQofGaTFM7K48gsEwWJ8yH4li B6yUikUjiyUXx281ioED2Pw/IrLFCTnM0TjHLOBXgWPXIt0dDwgQtQljQc68tWBNVGIQXqdCGIo eS8+SamBOHXYd8rdP0ALlitZLRFtchOjJF7de8GfHgNvnAJQPpBd5MSMFJSUj9GG8ng9g+BbOGK 1ojbVrJVuMi6rZ6A3HE4705HT5ru0zem6a2vl8MbFKSwPoc1j1tpgMBJ4BDDw71UpHRmtaMp4sc CXLxOa8xif1aL/e5pUVW6uDJkwRByJhiOd2ZnrGj/fvinuz0GCjINZjIDKE4feVqybW//WExdZQ +Nbs55hqpduiHEdXeLH+/D4LInWvxDg3YTgfGZcACRbmiajVSUN9UOBzxotm2wAbupfYIiTz6CU aZaDyRWUTpadx5zQHkJ3KyKFxUYWpWdhRulT811DmiXdH7bQ== X-Received: by 2002:a17:906:f596:b0:c24:47b8:ae5b with SMTP id a640c23a62f3a-c260cb464e2mr284942166b.22.1788527021435; Fri, 04 Sep 2026 06:03:41 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow , Cleber Rosa , Jiaxun Yang Subject: [PULL 061/105] scripts/probe-gdb-support.py: add mapping for mips architecture Date: Fri, 4 Sep 2026 13:45:15 +0100 Message-ID: <20260904124604.2207440-62-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::62d; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527199337158500 From: Pierrick Bouvier Tested-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-62-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/scripts/probe-gdb-support.py b/scripts/probe-gdb-support.py index 43c70302873..da91c528ad9 100644 --- a/scripts/probe-gdb-support.py +++ b/scripts/probe-gdb-support.py @@ -35,6 +35,7 @@ "Loongarch64" : ["loongarch64"], "m68k" : ["m68k"], "MicroBlaze" : ["microblaze"], + "mips" : ["mips", "mipsel"], "mips:isa64" : ["mips64", "mips64el"], "or1k" : ["or1k"], "powerpc:common" : ["ppc"], --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527166; cv=none; d=zohomail.com; s=zohoarc; b=H9g2wS2gwZbMwQlNWXdlGYGDpuq6lPZAtc1dtRZ13v9kRmeUkElcAa9gPdKJti3rwigZ57tkYTxg9twu9hmIn9wMWIVblO+cPUX/5D1kZKSlSvRiGL7YTxmSuKqdsz9mnjBZTEhqzB2HAuKa73EXhnYsQztog3NxqREZusZ+CPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527166; 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=/uIWDOVU+FQxNV1LT150O+VdAqOlgSxFihra0LdnGcg=; b=SbwwyU+V5mvPoSrS4QL85mVlYEOdhBXQqX1YjuTjn2QvGBCkPy3Wa9L9vMVNpkKLFCjKHVHA7RsZLdRy5Xe2ZMOSe3LMSgeJYlqgbF87xIPIYT741EBva6bsOv3dR5ijUPg99img87edm1za9IiG7en3vChSG+aQdhtQW1QbrEY= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527166854462.05841585109954; Fri, 4 Sep 2026 06:06:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tas-0007fp-R4; Fri, 04 Sep 2026 09:04:34 -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 1x2TaF-0006XL-NR for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:57 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta2-0003At-BJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:54 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49cd9add88aso6672515e9.3 for ; Fri, 04 Sep 2026 06:03:41 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee3b0af8sm156354645e9.0.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D1CA361B98; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527020; x=1789131820; 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=/uIWDOVU+FQxNV1LT150O+VdAqOlgSxFihra0LdnGcg=; b=nihqDwghIqdUiIhaA/XzOaCCKvFIm2w0xb+zy5XSQedq4BP9C9x+0+uijpZx44K1b+ CYp6jgwlwvz30c2HSO02LGIedaDEB5xzwUbsdQefxqgDSSlstwDWr6+CjregK3dcA50o 6/w0Oe2lvDnjkqO3GUyyByut7JFw6gV9nCnpvT/AJfgQlf79OIskhWXA+D1n4rHdU6d6 UIr1DZljwr76wEBraJrs5gu4OM6z4Kb2IdIA64ajcW3rIOcorTaKHI8U5bIl2BVAPeKW JXotGck0rEF0wAv0yZ4Mo3XrhJGkIIMkqpevzNHaudIHGyoPdajy3UusKTCDP2p45FgV AwNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527020; x=1789131820; 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=/uIWDOVU+FQxNV1LT150O+VdAqOlgSxFihra0LdnGcg=; b=V95hF4uS/K9ZLPdOekREqzs3S2ZVTyoIJK4AtyoB5cUJX9sOJ3PIG/ufDAS1URLu8D HC8ZTH4ylzi5H2CXiAkvkoAKNT7JAM+Uo9NZh2tMQwCtkQVW1dLxYleOYoaOrFqLSIuk a01pAiBtr6SuLsga9Yd09eqgR/UpPwRB6kdJa9YB3mdTvmpSTDivB1+MHKfDf8OBhPRH m3hNVhQrTeyQhzxpH1YYDMVEVfamMi40DmfYkHt/aKcEwFdeJM+7sEYdE68MC3g0hIiQ pyFv5J+u2xR9owmAPjFaRQp7FNDkcYA2qOAoOELE7pmQaALr8o0Ks9s803+ADZoleMYm A1pg== X-Gm-Message-State: AFuF++nVxGVkqj6DfsIfSDSzf9XxKjJ8OwMBQsj6oiDjZhY730XHP4NI MfqlUE9rb+0NLO6HHYfYMA9Fw27wFil/IsOKLNnmciDn6AMfe3pYlLEo2SQCgEI2Xow= X-Gm-Gg: AYBFou22CxYaf/+efmswRWeHrWYCKRhdjYwiJbj4+tpxgZWDiR5bMqfVQJCGpjB1yD/ XgpoSuou7KDsMTZ4aXQmiuEZLd07C7t5VFbpqg+B9py+atozg1Bu1CduyhF8YZokXj36j5w0Q5E 1I0zUYCmEn5euVFiiukl/VQ80Z7zEbrZ6CStklnBzRNHmOo/vyYffiI4TJPJO0c6pXmPaAF9S6p kkNNakiwFoBpYpHUi/jU5nVoktIm7HSw3rXzhAZWo2ovrjsXBeKO97r8QT8xvxv2BCI1csUAc3V cslxawArQedpQF2XLpGXGtu4qfXBr6wlmub507iiwEtAodjrPBoS1iYPSnWt2B/ir0qGE/yGKbO aDsm4DtYvBH7gRvuDSDYvsb6wQi0P5x+HVddV4RfvYshHR/uWM0/QLI9Q5LQ1ITkNwA0+KJ1p5h iGiZmfFsAZQjgtewSSEqi8zTFiYueMBDDNp/WUMmO+8UONv1RY/fVZ5teCZViKZN5LkIBiDsHdY g== X-Received: by 2002:a05:600c:1da8:b0:49c:cf18:494e with SMTP id 5b1f17b1804b1-49cf825a530mr72956465e9.12.1788527018860; Fri, 04 Sep 2026 06:03:38 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 062/105] tests/tcg/mips: add float reference files Date: Fri, 4 Sep 2026 13:45:16 +0100 Message-ID: <20260904124604.2207440-63-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527167607158501 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-63-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/mips/float_convd.ref b/tests/tcg/mips/float_convd.ref new file mode 100644 index 00000000000..61b6aec3313 --- /dev/null +++ b/tests/tcg/mips/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding upwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding downwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (OVERFLOW INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/mips/float_convs.ref b/tests/tcg/mips/float_convs.ref new file mode 100644 index 00000000000..9df23727aad --- /dev/null +++ b/tests/tcg/mips/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding upwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding downwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/mips/float_madds.ref b/tests/tcg/mips/float_madds.ref new file mode 100644 index 00000000000..2020c65d18e --- /dev/null +++ b/tests/tcg/mips/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528330; cv=none; d=zohomail.com; s=zohoarc; b=HH/RcuhKdHRXZWdkpkJQ/L5lwp6jhbd+RSZmu/FsN7UtrC2Aj8qvAUD8MRgyu7XevgwdYdKThb/aVJsDN9mBabyLddlY73CvFOW4uw8/guM6cCdSpzOKwjjBVbzXPObuCcgFAH/dEkv/P2JMLnQDIdxly6CuQBViRBUqsV8fq1I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528330; 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=+UQa1ns1sHzCFUp6MFDqHelt5+H0pjkEegp8/6YCHtM=; b=WPYtVuyJtXUjN0SjKLzc1TIiXaj0OiDEwW15pabRKXHvxvA8pbFCvAeWc8UYKOUslj8up9YKXhB0hXHrx0TUonxGlDcHJTac+SoVul1Mm2m2pyU0wnkhoEgo1l1Sk6wYnMzpqsBPufvno+KhEWbnwsGE8W+AtXlxrz4v9oBcuiE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528330662718.3827105919293; Fri, 4 Sep 2026 06:25:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tv2-0001QE-En; Fri, 04 Sep 2026 09:25:24 -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 1x2Tv0-0001H8-I1 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:25:22 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Tuy-0000Km-Dd for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:25:22 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-49a97714f5dso8388745e9.0 for ; Fri, 04 Sep 2026 06:25:19 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf771de2fsm71922955e9.8.2026.09.04.06.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EE87861BF2; Fri, 04 Sep 2026 13:46:10 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528318; x=1789133118; 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=+UQa1ns1sHzCFUp6MFDqHelt5+H0pjkEegp8/6YCHtM=; b=vB+19xKFRiDVLnWm1beUSU8QaiJ//aHHin1I3cLg23vZier6wUJdQxXnsBywiHsKEr Uf92KR3AZ7a0IanLRJ252gNouUVHslSZ2P5MUzh0WdVj3X6Pb/0ceqV5/zR2p8y5Ly0R mljyOY4fOZ33tB6yKQA/hzM0e+H3wh3wAMFl8v7+lyVEdemzA2oJesYwHDazHJttf3VC FVdAqgrTO38onYGOf/Jk5NAYizkAkAqjzH0CVm/3YtCto4Q2M4fHEP8Lv2yyWL18VgUL 2egTujuMIk6TSTJPAhMHf2YY03hcyyf3CIerOdQtyJBdJkgNWC775R6oRJHx8TC75mb5 Awvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528318; x=1789133118; 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=+UQa1ns1sHzCFUp6MFDqHelt5+H0pjkEegp8/6YCHtM=; b=kgL/O16OMCGvTNYVRdzHBsTfbdifhKUu6tf4w46PvbTWv/bieyTgNHrU/dZfTML66N TUHFXsUOaQafFV9tavUfAo4pPINAa0tdhOP6ZTHrZjy3MA2YPqiyIpC7wuvwC1zPY7k3 eUgOfZuZXfzUpyX3KTfZ6hxKOAj4hPl9jQGQ3mdhFlpKrwcfqQfJXPk+CL8z1zza0BwD 9+ZHu+xQ4qmQXTWx0RXdx2eTY4+4ZGnSFXCScULVREYyoLW6aOpRhbSwiGwpMLRPkW+t 6qUhgt/s3v+L6CqvhheBltaliCoKjc+FRe3iYqkQTStiMd9XxFbzLaRqyS07S+bGVnLw XEQQ== X-Gm-Message-State: AFuF++lJfOqzIgg+9b8f8JKwSC9roLysqAYCuQXNhQafFkSRbgdgi3uO FExAoH644iUUKu2nwTyHAATVloza5SIgvgMvUEJv+eqItP4GluHh6humI++0U7GhsSE7JImklev 4vXQK1e0= X-Gm-Gg: AYBFou1vL1OQ8G37o7Yoi6pNmvtw1wpPP/heO9OB1WGiY/0vyz5XfNAHbX/RuGgryY/ IQPMD90tQocaAKn4KWn8JoDXvlPc1ENEUa+eFzVrPSX3bs+yJwsYXUR60gPXtH5AROJ8m3eBB28 w2G9s/5OrPS9oXj9IIxmeD2BQ4NC9CNsglGXToooV3hlo+ZDD54fz5tSqtEzQjEIHNe7pWVSd5R hOlIJTPQ6kivpHe9ClnJmIWrMTgZ9S6nsFk410jHmmpud+hTqRi6+ImbyKbOR6ZNJwo+3IXuodr 1i1z5B05pd62zTR2fRUx6wj5ZSBWgEEPBGXHwDwdi1NNnpI4jOHmrtV7liTreW2BoQlTcZL2q+L CTZCoVLsIh/U75AQ2LYpgekhb5oqBPmkNodw2B79YWqVrLIXlsAqDhogofP2ll+feFVWgLvr6dx h+MQ6G9jjgVcXlhLtx5otZzK78bEcULhj0kQPJK1q2R4U/Awlb0cxKGVXdoWBuJVXcBsbsvXY= X-Received: by 2002:a05:600c:6095:b0:493:f5bf:4dc6 with SMTP id 5b1f17b1804b1-49cf81ff697mr49727065e9.7.1788528210206; Fri, 04 Sep 2026 06:23:30 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 063/105] test/tcg/mips: user tests Date: Fri, 4 Sep 2026 13:45:17 +0100 Message-ID: <20260904124604.2207440-64-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528332302158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-64-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index dc83b7447bf..3d7438245dc 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -145,6 +145,7 @@ subdir('hppa') subdir('i386') subdir('loongarch64') subdir('m68k') +subdir('mips') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/mips/Makefile.target b/tests/tcg/mips/Makefile.target deleted file mode 100644 index 5d17c1706e4..00000000000 --- a/tests/tcg/mips/Makefile.target +++ /dev/null @@ -1,19 +0,0 @@ -# -*- Mode: makefile -*- -# -# MIPS - included from tests/tcg/Makefile.target -# - -MIPS_SRC=3D$(SRC_PATH)/tests/tcg/mips - -# Set search path for all sources -VPATH +=3D $(MIPS_SRC) - -# hello-mips is 32 bit only -ifeq ($(findstring 64,$(TARGET_NAME)),) -MIPS_TESTS=3Dhello-mips - -TESTS +=3D $(MIPS_TESTS) - -hello-mips: CFLAGS+=3D-mno-abicalls -fno-PIC -fno-stack-protector -mabi=3D= 32 -hello-mips: LDFLAGS+=3D-nostdlib -endif diff --git a/tests/tcg/mips/meson.build b/tests/tcg/mips/meson.build new file mode 100644 index 00000000000..3c4f6ec482d --- /dev/null +++ b/tests/tcg/mips/meson.build @@ -0,0 +1,25 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'hello-mips.c': { + 'cflags': ['-mno-abicalls', '-fno-PIC', '-fno-stack-protector', '-mabi= =3D32', + '-nostdlib'] + } +} + +if 'qemu-mips' in emulators + tcg_tests +=3D { + 'mips-linux-user': { + 'cc': 'mips-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['aarch64', 'x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'mips', + 'gdb_arch': 'mips', + 'qemu': emulators['qemu-mips'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527114; cv=none; d=zohomail.com; s=zohoarc; b=TSUnNqq1ogoIl15eeL94PbmE0tMZ8oN+KYuVQT+GC/cNFfBpyfkLlVzyBJkEqs1L/jL4Z2dDrL2hVXzcfVPUK/7A4fAsWSU4DkSnLngAQAIFIhaDfGBhbCEGSpX3nM/PDrOpn3oI6sjVqc8vUp/S9GLJ+NRVMpp5/rNzSQL9zBw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527114; 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=fMJz55Qwj6zA7k1oZp3tLeABAUq6l/kKYHEHzn7uLW0=; b=VUievpq5AQjDBtXexVi/TmBPhjlIQR1C3n0m68xVffkDZti5jvliKKeKG5TLXYqS68cWBGFywHctfG/p5fMNNxp43E9Ziur/kP0vEvsg0jdoRb2Pl8FRgJJ073T50AKHh77kxqnvgxR2SRGSN3QubfGkSPYBfkCB5e6f2tEzg0w= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527114125581.5292686717393; Fri, 4 Sep 2026 06:05:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaU-0006iw-QV; Fri, 04 Sep 2026 09:04:10 -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 1x2Ta1-0006Pn-LA for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-00037E-Br for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:40 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4957eefd361so7555985e9.1 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf771e9absm69704695e9.9.2026.09.04.06.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 1E03561BFF; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527012; x=1789131812; 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=fMJz55Qwj6zA7k1oZp3tLeABAUq6l/kKYHEHzn7uLW0=; b=YF3+uMMZiXqzOHm0BUkHNBABciDD0c6GusVXMyyFWHYh7Al0lc+kTcjv5r5BfLDzfT AJrdjcMbCPJn2Wj3oqXOzNA2kfLhs2rRwPiVeArAI/xT2DJNzNoZ/TRQ/lODGanJDwg5 iOW44f9sbKRTm/pFpCE5XGKmxRtzlIb08JGgaJ1US5tE5brlG+leNh4pPHjDDFLQ4TN0 RRsWuy8raBE840XlMRcxFkYgTPGGnVqsKUrsawGomaAC5TPjG/lYIO64OfLdl4uPR9+a UerZOYLEN9mcSKlmgfZi1+nwYl2FBL//L0N7yYUpfIQslOzefdZnqm6XkaGC/jJ2IkG2 /4qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527012; x=1789131812; 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=fMJz55Qwj6zA7k1oZp3tLeABAUq6l/kKYHEHzn7uLW0=; b=VZQT5lU10Th/4znFeQ1Am0ssPmKxhl1rESxRhU7q9oWblAFbOvywwE/nNwRdL2aBIg rgGmXMeOIUTziggi9lUNamKFai/syg19byrKqguGwlj7N/trZEkbfjm4cruOrfx7iRA7 u2CFMrbMBcgqxZoNhbkuGOb0YpEfhADih/2KjfDjMpaM3+khDTnqWVtnJvMq2C9K1unA 6EPAXlNfrifAJpNLQcPjkw3bgEevUOqfmcVhtnbDGwvLQpdPwEXbIFZHfvYrVuRqUihq yeIvc7pdi2SObBtafkOUHXCf642B0SFrExM8FzMovix5LVmSvDCX9AxcZz6frtRTCxNB BWIQ== X-Gm-Message-State: AFuF++k7HnqDIDXkcAHx1j/7vjyGt5HiJF8yoZFtCefFXvb+hZaUpjlH TeHA4aGWEeRInkokApRc6wc0bqQO7W3p2WSMNLNrTxkeHqs7AbN8SQGm1paBACsCGRQ= X-Gm-Gg: AYBFou2plLGgCGzPAFuYpetfZf79XEgp9CQ+QpfTFqDThZZby+e7bJEvOFtS0GFIVJ/ d0Tf8FZUwxR23t7FE0YqOIJQGwn//piS3MG8GcVzOhQyjvc8zFWg5ULX6XWQAg9+P2hC8HX6Whv 282gg960h3jy7fZqsQyJd9IOTPJazcVOcfYrhzVVOw4mfLxT9JyfgFKcfkNFbHfmiowWAuCVixS Q/+YPntPRrLZI1DQ8jetaxLHVOJ8qxI8Z/6CDqcU9GXKLqaX1RhHBjDnwuLp3M0Rjiz37ygXetb cwMBqPkGMyblnO46a3ZG5TLRQNR2uPpEVEWJ/0PhJHDpiNB5/hL9/U6SIxk9HOoi85/dWU7gZ3f koOV3gZ22nA4paTcn4M93+wmSFi5sgSbAOhaTRJeo8IgymMzTjYr0nEWiNCD5YwCN4Odtw6cWr5 UFlrYDg3y7qScydNAyNP1yoIrG3VmZ1FKJNS1+Wtgf/WWmFbFmNVVInHu2oCKl X-Received: by 2002:a05:600c:46d1:b0:493:bd2a:93be with SMTP id 5b1f17b1804b1-49cf820c992mr62788105e9.6.1788527010610; Fri, 04 Sep 2026 06:03:30 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 064/105] tests/tcg/mips64: add float reference files Date: Fri, 4 Sep 2026 13:45:18 +0100 Message-ID: <20260904124604.2207440-65-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527117204158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-65-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/mips64/float_convd.ref b/tests/tcg/mips64/float_conv= d.ref new file mode 100644 index 00000000000..62a44443063 --- /dev/null +++ b/tests/tcg/mips64/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/mips64/float_convs.ref b/tests/tcg/mips64/float_conv= s.ref new file mode 100644 index 00000000000..2e970dc7978 --- /dev/null +++ b/tests/tcg/mips64/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/mips64/float_madds.ref b/tests/tcg/mips64/float_madd= s.ref new file mode 100644 index 00000000000..2020c65d18e --- /dev/null +++ b/tests/tcg/mips64/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526535; cv=none; d=zohomail.com; s=zohoarc; b=b/haKpkPRlLsNw3lOQ1dKYq1RivPjz/UIvRNvgsYE/yUg1nj3i9T6EE0f/h6YwL+GYeFhTvWQ0ewSo3hVtX2oa/8/83llmIn6httwKrfqD7pT1PXIf8PiPs3gKtM9+pD8eVH3jhYRYrw0v7qBD/j0q8Cr2U+HF7c4MGBqASZA2g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526535; 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=tSGS0QY0qxFrueseQGf85D55r9ldCZWLznsFFW+Fs7o=; b=JXw4MOH9/JOpHpWOdvk8xKtfIkhdIUb9W/FpS31RdmesMYKiRwSnFT2e6mUT5nLCut88OQdFl4LHnUs8JruyjeN+KqJgZ+ygp84lOFy1Z9wmfQBr/ywD5auHGc0cWu/xA6ZdLGU//GFMXgsYtd9wvAaTmU8jKenKq62md9WmC4s= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526535630792.087978478694; Fri, 4 Sep 2026 05:55:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQO-0001jl-SW; Fri, 04 Sep 2026 08:53:44 -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 1x2TQM-0001iN-SU for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:42 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQJ-0000j2-Ka for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:42 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-47f96c5b722so653503f8f.0 for ; Fri, 04 Sep 2026 05:53:39 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885c5bbdsm5799346f8f.36.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3F81961CEA; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526418; x=1789131218; 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=tSGS0QY0qxFrueseQGf85D55r9ldCZWLznsFFW+Fs7o=; b=PtLDyWFOdJDyDSYM3QBSj7HbFlmpbQkjLCmZuDaQw6Cv4M216Fwt7aOFDbV7qp/tJH JALr+0jWx2mLeNWX0JLwMAYhuPsfzOmyWQbqNrMQFPW19crtO64gnDMnV6lWRMoNAhe+ 0WLjdQOpfWK8ZsK9fKHrMzcLYc76ANrqp1GxjPZlSQ6A1pcrQ662cH0skmIc6tjXjfgE MDmGnfx7ZR+kcKla5OxTDMzPKI5m3dnBQsKYPRp20GpbUibGt+DcCqyRjILKemVhtiCt pAqH3aU93WdZcoB6/SmADlHIsw8PmzKeII3eoboO3YPaFxPor6voUUYNCL+HFshrBpif wDjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526418; x=1789131218; 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=tSGS0QY0qxFrueseQGf85D55r9ldCZWLznsFFW+Fs7o=; b=OtKsKh4AzpoPEDaRb0dnh+YZ9iwhv6i7A4tg1X0QthJBLIaknoCZK5eOEQaZgUp2mS izlMIbMlDIPE2TVFF9xX3K0fjpmOinH0ANizQHpPZd8ds0VbTiNTW9BeIdPXCQH3bdh0 APPoliH/SOwYXUHNYYfKX/8kQH+aO7k3g818A0G/liYwillAlJylYcAji9yEMhqqWf+G CWHUGzXmKTMVb4+LTqcbeenMArq3WagfdyF1hLRbNtrv7EWgffdS7Uu/rR7XbWuhZiaQ dB9HfHYVfdUGUTvbdSf2rENi2oKk+xKIItzKvwQprhz8C3ELbdOrSP9B4Knjb733pkR7 jBcg== X-Gm-Message-State: AFuF++lbvsk7lvrurF7/8a/QZO/5FpxZWrfoPdxPmidG3fYS1DPu2Iii KCLIaY/gS90EdLEQggQa8bNH7Ht2tXPRLJbHe7taGojh5clfC5i3r7vxC/YyjomGK7s= X-Gm-Gg: AYBFou2KqF7XcjIezNxXz0A9FWtFhvKs4QmrRXHl5k7pHljuQc78qnCihFL9EA0XCYx KIeChU5jjvPbHU9Y9n1SQBfbQXnQHgawN6V7Ttehpj705DyE6AL3QdRCzvrNAe1Qy/oGEUDSC3F evt5drCmvhxJQb6cJktKjPf1r+G80sqf97hNSJsSOlTx/qncuVctxC0Gv5Ov+mC+aV3jsz5sxlU PjjSOPgmOT3HLjJ5iSsszTu+g/80LwT0Ly7RszsGgjilsQ13iaMNohePK/ZjtRczgYZTyDT+9Yv IDNiyLSGCXXwAMnK59BdAhSh/SFQWpqQFSQFNsfyI+Cvey8rhx+gcZ18ZezxlN3s+HhkEZhPxgB O8ozaUBuNsc3w3ghdLbGCCo7718fMzl+PpNW0HEqm6jhXS3PdcAp1xpWDzgMseLehclGfU0qTxc BM+xEMIrBybaLqJ0u6rT+1Bar1U8u+Awp+wJED0SyicLxrc4tmYX+MSY9ASm8fHf3RXLL0LOg= X-Received: by 2002:a05:6000:388:b0:485:8c75:48fb with SMTP id ffacd0b85a97d-4858c75598cmr2776819f8f.50.1788526417991; Fri, 04 Sep 2026 05:53:37 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 065/105] tests/tcg/mips64: user tests Date: Fri, 4 Sep 2026 13:45:19 +0100 Message-ID: <20260904124604.2207440-66-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526538012158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-66-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 3d7438245dc..0102e74e8a7 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -146,6 +146,7 @@ subdir('i386') subdir('loongarch64') subdir('m68k') subdir('mips') +subdir('mips64') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/mips64/Makefile.target b/tests/tcg/mips64/Makefile.t= arget deleted file mode 100644 index 042855844a8..00000000000 --- a/tests/tcg/mips64/Makefile.target +++ /dev/null @@ -1,20 +0,0 @@ -# -*- Mode: makefile -*- -# -# SPDX-License-Identifier: GPL-2.0-or-later -# -# MIPS64 - included from tests/tcg/Makefile.target -# - -MIPS64_SRC=3D$(SRC_PATH)/tests/tcg/mips64 -MIPS_OCTEON_SRC=3D$(SRC_PATH)/tests/tcg/mips/user/isa/octeon - -# Set search path for all sources -VPATH +=3D $(MIPS64_SRC) $(MIPS_OCTEON_SRC) - -MIPS64_TESTS=3Docteon-insns - -TESTS +=3D $(MIPS64_TESTS) - -$(MIPS64_TESTS): CFLAGS+=3D-mabi=3D64 - -run-octeon-insns: QEMU_OPTS+=3D-cpu Octeon68XX diff --git a/tests/tcg/mips64/meson.build b/tests/tcg/mips64/meson.build new file mode 100644 index 00000000000..69391c23187 --- /dev/null +++ b/tests/tcg/mips64/meson.build @@ -0,0 +1,27 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + '../mips/user/isa/octeon/octeon-insns.c': { + 'qemu_args': ['-cpu', 'Octeon68XX'], + }, +} + +# export tests for mips64el +tcg_tests_mips64 =3D tests + +if 'qemu-mips64' in emulators + tcg_tests +=3D { + 'mips64-linux-user': { + 'cc': 'mips64-linux-gnuabi64-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['aarch64', 'x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'mips64', + 'gdb_arch': 'mips64', + 'qemu': emulators['qemu-mips64'], + 'tests': tcg_tests_mips64, + } + } +endif diff --git a/tests/tcg/mips64el/Makefile.target b/tests/tcg/mips64el/Makefi= le.target index dbc5f8dc5fe..78c722a583d 100644 --- a/tests/tcg/mips64el/Makefile.target +++ b/tests/tcg/mips64el/Makefile.target @@ -5,4 +5,4 @@ # MIPS64 little-endian - included from tests/tcg/Makefile.target # =20 -include $(SRC_PATH)/tests/tcg/mips64/Makefile.target +#include $(SRC_PATH)/tests/tcg/mips64/Makefile.target --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527144; cv=none; d=zohomail.com; s=zohoarc; b=j1Ih24+L1Zuo3gfZZbLYGiT2iD84MfMzeyL8hEuIHfqaJ8aKYpwnTZRV/H88Vz9OgSTcd1B7ylkEhHVrGSJTNuEseFAQSWpJkQdjhyBo3TknZPTID+wL+28mwlDtaNchT+zx4zBxOR023+FbiuEM0aKz3Ve/6/MexPjPWMfvmKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527144; 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=FApRJI3Il0/wKAKlzU2lhR9yAMIPNj0Xa6y8vwHlm3M=; b=krl9fTD+bwSDWPIU2GqUYB4ybsBjJdqeUSLKtKIANLo9q7TkqfWxZD88nF99BnrFuJQ7awXBeoISwqGz3RSg9LHglxYR7yXDd59n7HSKyPZfJncClU1BOezaOQyBVj+emiVlsei2P24lnUey1NJ0p0hD2DI0NnWbMfPhKRsIAy0= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527144044918.7729844293528; Fri, 4 Sep 2026 06:05:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaY-0006oi-Nx; Fri, 04 Sep 2026 09:04:14 -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 1x2Ta1-0006Pm-J7 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-00037O-D1 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:40 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4980fe6b3beso15246255e9.0 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfd3f8192sm29782065e9.3.2026.09.04.06.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 65B3F61378; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527012; x=1789131812; 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=FApRJI3Il0/wKAKlzU2lhR9yAMIPNj0Xa6y8vwHlm3M=; b=fWUZLsu0m87zdZ7aFKgEJw5Z6n5SpEyxM9KwhKbO7NVd48Q7txJ5tMI9UHa1vUnLZb cPhgR4MNmYew0FKvu4lgibAuD9Qic1JfOaTYsziTPRfHGN6b7APu6sqXVu8xTxci7r5d 0FOLwTLY86bITg++zo4Cq9YyDlhhubLPtNNJriA87tcfyHvoiR8n60Z8ewZPv0HHRzO8 GEcJu9knyu3G+EH+iTv3Gt+eGGbFRKyS4lr36shdDIe2GZxkDwbpLhJ31hFOaX3ULJ+F /lgwuD6X2pJYvQTMmdXz+HT5ZeHDexlxkO0Pa9vVApbiDMtB0kWZiURRwbOH4ZsgaMiW 7Jhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527012; x=1789131812; 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=FApRJI3Il0/wKAKlzU2lhR9yAMIPNj0Xa6y8vwHlm3M=; b=G0kfd5Znsin0rYDrWvu4JglYiA94idhXVOeUD8OrmXZ8tSYVmaPpGWCXMLi6W1NNRc dbi7F/uoDXf/h8d8BBY0X/r2wsFzi0ptx235mK06UwzknXiISMKJCFi/Cv+xcSTVjlDt NBvVQNZNqkU4Ajw2RAlalB7N7+u/ROSfPa5GEyGBUNACppiJedtZkId3c6vslV29xtia rXmGTfYaxe0kz56jNLS5LhHkfpx34/qlxQ44OVolIpqkud+baDEBNIX0dpefgvPIcFeX J+PYW/KbhJutDIDlJkb9x/qs54iH5knL7ktQjPnbVHBLNithUSTVQqQUVjq0QiyJxSmg FC4g== X-Gm-Message-State: AFuF++nm4/hfbhNhP8jFtqDBzPxzfguPUav0gIszrVaIDX/Eud8Nw6IP 0CJkb5siQkVAlNetC6+sI0gZrkpRJUrUZAu2hgdLb6mUlL4xyta3+tDzaHmfgax46UE= X-Gm-Gg: AYBFou3v3fHVpltKn0P8qo4SfMhPYU1NComfaQqmxJg22pQg1khyVOKEou7eB8FDMvb 9thYg3+XbGWK4Wlzxpnfp9f0N+YynyGW0tAvYenWKKB2sSuY7gtkF/B6I2tfAegrve51kMajuvY P6N0O3FBlmK0YDLIvH3SNxaATOMAOG4FBnStUrZ613mdjOUTS13KY5P+ghFwVey50We88JdGN6H 5mgVZ1UgCDiXXZ2tU7xahglFBT6p3aqnI4I+ot5PVKem0iK+W0jKUiD2q+qYZXwfalq08H+dIp6 K+DEUqztzlDIF+EukjO+P2Asrus054BBCm+OJMFJH/SQqzpDa6C18YN4w7xcr3jOyjVxVMOIqpc zhN67VjsUKqOL0bf/umPsHtzJSRLKGtQkKqhHP4PJSrvOirOFzc0G5VouA1WSJLXQ+5NwJrEUV8 ++WlqGiGlYTV5hl5u+LEgiTqMMMMCLAkyEgaQXQ/R0jjCJ1w== X-Received: by 2002:a05:600c:5397:b0:49c:e37e:4389 with SMTP id 5b1f17b1804b1-49cf82cba17mr47185515e9.4.1788527011742; Fri, 04 Sep 2026 06:03:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 066/105] tests/tcg/mips64el: add float reference files Date: Fri, 4 Sep 2026 13:45:20 +0100 Message-ID: <20260904124604.2207440-67-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527145144158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-67-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/mips64el/float_convd.ref b/tests/tcg/mips64el/float_= convd.ref new file mode 100644 index 00000000000..62a44443063 --- /dev/null +++ b/tests/tcg/mips64el/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-nan:0x00fff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff7ffffffffffff) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from double: f64(nan:0x007fffffffffffffff) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/mips64el/float_convs.ref b/tests/tcg/mips64el/float_= convs.ref new file mode 100644 index 00000000000..2e970dc7978 --- /dev/null +++ b/tests/tcg/mips64el/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding upwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding downwards +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +### Rounding to zero +from single: f32(nan:0xffffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0xffbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fbfffff) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) +from single: f32(nan:0x7fffffff) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372036854775807 (INVALID) diff --git a/tests/tcg/mips64el/float_madds.ref b/tests/tcg/mips64el/float_= madds.ref new file mode 100644 index 00000000000..2020c65d18e --- /dev/null +++ b/tests/tcg/mips64el/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffbfffff) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffbfffff) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DOK (27/1) +op : f32(nan:0x7fbfffff) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fffffff) * f32(inf:0x7f800000) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0x7fbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffffffff) * f32(nan:0x7fbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fffffff) * f32(nan:0xffffffff) + f32(nan:0xffbfffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffffffff) * f32(nan:0xffbfffff) + f32(nan:0x7fffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffbfffff) * f32(nan:0x7fffffff) + f32(nan:0xffffffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527069; cv=none; d=zohomail.com; s=zohoarc; b=h4b7eE/A7RxFyVWQojVeOsJ3H8zipVUTu8ukpI/3zJmBLK6m3rBI74kaOcaKPwGqU5KHRm8hKwPj09RcgaCYXP/uKkEE7ASgxs5IncpqOm8uRTk/R0h11DhdF8QGi4lJ1BocFm8qA3HOmhntyn1BzrnFaO1YDYGAwJ348c4768U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527069; 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=ZV80QN3nIf03s825p734t5vAX2P3pOVwItQJeV7bCYU=; b=FYJCyYw0qmQ1cQAa6CBELQiLUwh8ZKidmZWraPNv++qzNwlmURBgTLeThF7AWPsg0nULkGLG49/TX7B9sckcoPG8Z75+e/Ij0N9zu4mkOv4eWmnlncq5+Lsuy96lIN3Exqj6QDtXvSfsG84y2Oc6Att2JawiRVfltGECUJFMbJ4= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527069712714.6100099285629; Fri, 4 Sep 2026 06:04:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaP-0006cc-Gd; Fri, 04 Sep 2026 09:04:07 -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 1x2TZq-0006Nd-Qx for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:34 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZo-00034P-8O for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:30 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-49557167508so11253725e9.1 for ; Fri, 04 Sep 2026 06:03:27 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce551bf7asm129287235e9.2.2026.09.04.06.03.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 832D661CFA; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527007; x=1789131807; 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=ZV80QN3nIf03s825p734t5vAX2P3pOVwItQJeV7bCYU=; b=mqh+nsE0ubShomlmvc5sDd6KKqm2cJ85esm6p2bAuMBgt9+WrZerCKpMx0AwJAletR buKFG4IJQ/FgSpKMluBtXNn4qDkpQfuVBPuPBTa5fkXmCWI0+tJDE/titOTPVumAPYw9 QIN9Yi/usLYUNFt875+6pu82Vjdx0XGUXy/ZPoB438bFSWcltYj57wk50GDQceHArvUf YFeftdruwKHeGDzGqhuFduJ9NlksS949LUnOwUnQ8lizSII60loz7reYxyrfM2Ohx/SJ dEPzC4c4fAZKQZn4oFgRn7GuQ7l3rmmDVyVX6PVU0omZIctMNm86Ccs/QyYuRzvfJ0Qu lE2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527007; x=1789131807; 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=ZV80QN3nIf03s825p734t5vAX2P3pOVwItQJeV7bCYU=; b=FHJxEtLqSm0A/phFJBemFwhvAs3hXc67nEUoGL42QHbCr6J45ycvDG+YH++Mfp0nU+ g09BZD2CbqJ5czX2j5wmB7RKfUPaApGFOo36zcmLndRemlkDdTiGLB2EUTXWVScptQOZ sQsyIPjjEHLs5KTxP77sGL7L0Dkhkys31dWfm5rrRkBJrb1MsJ500THS4hAZq9i9Pvh4 kdfTQn3Z6rpqaEW4L5+XVAqnQALagZ8isCsN/dPuuSHxBAppGgEES1mDd4CjXRh1rX2q MutcgsSsXea40UJ+/qOD0AsUZhW1k57XSlX2YfdHCKYQRCykGhHq6kcGkx7csX3x38BQ W96Q== X-Gm-Message-State: AFuF++m4QXdqZHdYDmx5DUF0Fx2EpFAdDALFdpLAq1vqSdoUVXpFGh8q lvoNZ5IH0XZ94MoqClImJjm06SXEm8NFKRSD9sDJGfglXeMKxu9gsE10pi985N3b9NQ= X-Gm-Gg: AYBFou2awzl4VLzsh+nSOag7hIpDV4Kr5AoWcJ/00jzAOnbN2x7Dj8K1qV2v1FMdUm4 tiQe1VDsuNfbY5NYFp3ZoqXmTMp9bIjYrIDGGrvHntlfbahJ3qtuxX02z2p4W7JoRiAvAF/xXXy ZPAPImLTRR1tsQQcY+hCTcirXkaGtmyXqdbyb6Tkmz+rYCqSgjeRFEzY+9BOrSk6yitBH4J9Q3u QCsMPcLUqbhiVdr8E6f/PNfCtyYNpCAW233pq3/uMaBuBDcWjQLch8nA6/xH5Tju9z7zrjiUrwL a+BXlXzTCaAErClkXlZqIfU1vFs/bvDqCmN6thnYOLNzwagcSiE6ye5hT6vsxzsk/MIPwqBDUT5 im9j5jqVt+jrB83OINBikkKPpnQLbCVPLHTk9jk50H7CDEqX3OqwbxjMt83ieCvXci9NIlQDODX KKIBLoicf3bwyWoHMIw5sjSrHM5tStHKPX9ehGkGgXeGhSUmgHgEAPFyaL0qVM X-Received: by 2002:a05:600d:8490:20b0:49c:f89b:f82 with SMTP id 5b1f17b1804b1-49cf89b1bc2mr78563625e9.12.1788527005595; Fri, 04 Sep 2026 06:03:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 067/105] tests/tcg/mips64el: user tests Date: Fri, 4 Sep 2026 13:45:21 +0100 Message-ID: <20260904124604.2207440-68-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527070720158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-68-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 0102e74e8a7..7aca685078f 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -147,6 +147,7 @@ subdir('loongarch64') subdir('m68k') subdir('mips') subdir('mips64') +subdir('mips64el') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/mips64el/Makefile.target b/tests/tcg/mips64el/Makefi= le.target deleted file mode 100644 index 78c722a583d..00000000000 --- a/tests/tcg/mips64el/Makefile.target +++ /dev/null @@ -1,8 +0,0 @@ -# -*- Mode: makefile -*- -# -# SPDX-License-Identifier: GPL-2.0-or-later -# -# MIPS64 little-endian - included from tests/tcg/Makefile.target -# - -#include $(SRC_PATH)/tests/tcg/mips64/Makefile.target diff --git a/tests/tcg/mips64el/meson.build b/tests/tcg/mips64el/meson.build new file mode 100644 index 00000000000..f6c0fae7981 --- /dev/null +++ b/tests/tcg/mips64el/meson.build @@ -0,0 +1,14 @@ +if 'qemu-mips64el' in emulators + tcg_tests +=3D { + 'mips64el-linux-user': { + 'cc': 'mips64el-linux-gnuabi64-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['aarch64', 'x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'mips64el', + 'gdb_arch': 'mips64el', + 'qemu': emulators['qemu-mips64el'], + 'tests': tcg_tests_mips64, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526357; cv=none; d=zohomail.com; s=zohoarc; b=kDwsGgDZnYzwBI/tbzz+vktBb84J0qHIBhOldrmolsiyySbqa3ZTxDymf4xLMx8eKCLHQo6Tw5dqqsGIufzWM8J3krM2ggvlUcpsmILnWdc3IttuL/xrCDHgEwGSDIL9r0ZXL9lTestA+8xps742Dg0xyD7WU82lw60pW7tmyn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526357; 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=dOSUepCPWAWiVnU7uqB1g6HY6ho0kwTrvzKaOUlf+Vo=; b=H27iLoZZTIJ0bYAwkSVqqqWDp3aDaDQ+gY2duJVNF7EUU3+XZTvWfJlXPEYplShQ6gaQ8H14R31C7tpNnHdhOHdh/FO6KsdKf+iMQzA9HpR5M4avWv6ARjRLX9evNg3MuN612/KXLlhrHtfK50lHQ2fUzaEkLI6kO7hVIWXUMSg= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526357651992.4509223007018; Fri, 4 Sep 2026 05:52:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJP-0006CZ-EI; Fri, 04 Sep 2026 08:46:31 -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 1x2TJN-0006C4-Qp for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:29 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJJ-0006ud-HJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:29 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-499b2981a7bso9440575e9.3 for ; Fri, 04 Sep 2026 05:46:24 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee80eda4sm149526505e9.15.2026.09.04.05.46.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9D60361D10; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525984; x=1789130784; 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=dOSUepCPWAWiVnU7uqB1g6HY6ho0kwTrvzKaOUlf+Vo=; b=PN/vBmS1WrOQzRHALOaprlsQWnApQKSSboGfKqxD2JPqxdF6VKHKLsA0pvz8sRExPh 1FXpS9JxJBHkqpqKf/f/1dWt8iWw8bFCtrfHAN89M+E5OWo0DnraVqadMRqCmEh1BIHi I7lGXJfrd+K7KyO+CPXnaKfqi+X6p42VAFTTX/CmddNeOmwG+HDYnISzOSoK7RSVTXAo /JuII6/fNHt/U0F2M5PHVjqDEtmxFZxhEVbNR79jR5pwFTraSiJy2EHtaYyl3YIXwPKV BP7MbzdZE4E0srKh1OvzRbQH86DntcgFP1LDudpnX6iXij7e42wIt09of7dTqMTqHYDl 8V0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525984; x=1789130784; 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=dOSUepCPWAWiVnU7uqB1g6HY6ho0kwTrvzKaOUlf+Vo=; b=qgLu4qWd4oe6KxAkqNsLnv3vyf0j1jPm7XHiTsvSvAeVtRvOvHYEAeplK8Hik81Lth Py84hflGAubgPlwFppPIEhhzNiVTHFenHinak3NS42AcLJ2h9kKBNPp1d21zClLrFYZ3 K8UMFmxaCczQPPfd0m/FAB9Z8WPQnPVfzRfRLHDNP/ilFAwNgB7zzPPWlpwWUFY16KmX d2A6xq8rFn0UZOl2O4bsUphkrsXRykNNawIznQjtGKwh9O8eaecfQsXqkh4pDyVEaOGI jbG49w9nzhlI7Vy2gdKzscvCBPlmtWvA6t3vC6Ur2gg1bjW01z9qC4AyLEC1aaAG9pDe FY9A== X-Gm-Message-State: AFuF++lfM40vhsGcQRjqg5SwhKyaWaL3Yr96SaWmORDjbp+KsT6SbxEj JVvpEoCHfVaUvJDU6Rsdy9Xim44fzdjxVgKvQ7eJ2ggVnJdaVzkRBrccQd+bN0Q1Uo4= X-Gm-Gg: AYBFou38PMHErJbQUPWHMbBhlNg6fV1PDDurL8HQGMcrI/+ORbiKU7DdrM8LYLxdLbv YTIRgEE4mBVj8cfjq7/ygdpXPKC8m4QlFkXXd0gLFmGXSmjX3tJa3ABxaPSQhgWw47NpnJB2BGS znO2lRn1Jg/Yw5+i1TAMT4X7ytXYWUFKA1+3mPx8XBL9IUjnkYAl7/+EGIkI2dFPGpwDmN9x4EN jIFvx+XJo6kuCvNFL0cLnZeQvsLbRuSragyIhCHGd0SwMRWg7iu31d/OuC4KSoo6tNWbXbez893 2cT8NMDk5lcLkncNDgsHx36UL6VqUU5XljP2t+riE9rvgVrmdkN5cag6bgfyTgff6SptwnSZx/r i/PygkU146zz3fSqVroMW9uUKq+dm/W64YnEAc0yHRGwcMdxgYQJfekGj2tpp0w9hlY7vRoK7uA 7uXkCsfDTYybqJ0QX612gtm5igCnUFq8PIId8Xbc6FzuiwHA== X-Received: by 2002:a05:600c:3485:b0:49c:cee0:e7c1 with SMTP id 5b1f17b1804b1-49cf825c119mr105479445e9.16.1788525982619; Fri, 04 Sep 2026 05:46:22 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 068/105] tests/docker/dockerfiles/debian-all-test-cross.docker: add or1k toolchain Date: Fri, 4 Sep 2026 13:45:22 +0100 Message-ID: <20260904124604.2207440-69-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::335; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x335.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526359328158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-69-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh index 6bc611b0e6c..9a71af0e41d 100755 --- a/tests/lcitool/refresh +++ b/tests/lcitool/refresh @@ -172,7 +172,19 @@ RUN apt update && \ clang\ dpkg-dev\ gdb-multiarch\ - libclang-rt-dev + libclang-rt-dev\ + wget\ + rsync + +# https://openrisc.io/2025/04/20/toolchainrootfsbins +RUN if dpkg-architecture -e amd64; then \ +cd /tmp && \ + wget -q https://github.com/stffrdhrn/or1k-toolchain-build/releases/downl= oad/or1k-16.1.0-20260614/or1k-none-linux-musl-16.1.0-20260614.tar.xz && \ + tar --no-same-owner -xf *.tar.xz && \ + rsync -a or1k-none-linux-musl/ /usr/ && \ + rm -rf /tmp/*; \ +fi + ENV AVAILABLE_COMPILERS=3D"\ gcc-aarch64-linux-gnu \ libc6-dev-arm64-cross \ diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/= docker/dockerfiles/debian-all-test-cross.docker index 833185f6072..c0ab05a5ff3 100644 --- a/tests/docker/dockerfiles/debian-all-test-cross.docker +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker @@ -61,7 +61,19 @@ RUN apt update && \ clang\ dpkg-dev\ gdb-multiarch\ - libclang-rt-dev + libclang-rt-dev\ + wget\ + rsync + +# https://openrisc.io/2025/04/20/toolchainrootfsbins +RUN if dpkg-architecture -e amd64; then \ +cd /tmp && \ + wget -q https://github.com/stffrdhrn/or1k-toolchain-build/releases/downl= oad/or1k-16.1.0-20260614/or1k-none-linux-musl-16.1.0-20260614.tar.xz && \ + tar --no-same-owner -xf *.tar.xz && \ + rsync -a or1k-none-linux-musl/ /usr/ && \ + rm -rf /tmp/*; \ +fi + ENV AVAILABLE_COMPILERS=3D"\ gcc-aarch64-linux-gnu \ libc6-dev-arm64-cross \ --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528301; cv=none; d=zohomail.com; s=zohoarc; b=Oim7jNeNDcruNh9zVCFyiaa4zQ+dv8qZ7Iqz+rhaOS2tui4KDUnk6fQIPisKKDsdP4ezvTJk2QQvyLcTilSUBe1VvBn9Axy0lf5bX++74WsCwo2GAreXtNe+m1v6Kyo4OydLkO+lvzT0pzAkvqEJ5HU+pUIPnIHFoLJha5S9wnI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528301; 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=38O+MEy871yA8vnt6T0mZIKkwh6RpFE6oR3N9+JfK1Q=; b=FOfDVvNenM8v99scQbt2TZhCbxRIxCJ2+3JudIFHDIfDOsZ/Q8ak/oPnKldP2Yn0raW1ju9Mb9JuIiFGywDce0Zdmq1QzJaXofq+7gjWX/aAX2ZOvdu/1fykzdh05U+AUIHsaS2nflfpon3ongs9z2SWF0pTV4uE44WZGcAwb7E= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528301638292.59305439147226; Fri, 4 Sep 2026 06:25:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtE-0005TV-To; Fri, 04 Sep 2026 09:23:32 -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 1x2TtC-0005SV-Gg for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:30 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Tt9-0008GO-FJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:30 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-495590dde14so13880825e9.0 for ; Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858ab73c2bsm4907196f8f.22.2026.09.04.06.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B263E61D15; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528206; x=1789133006; 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=38O+MEy871yA8vnt6T0mZIKkwh6RpFE6oR3N9+JfK1Q=; b=ZceGfcCGkfXaSdKWwNloFSQVra4X/vERzRKglbglTsqyVCuPycDaubE5xMhLqAJwXh Cx6uQweBWkbKx5wvNGSgQNA8ibm3PS93Peo/YMIXUO/RVhlc0NMKofIPWGe2y1i8XpYH jIDRAwrhloTO13HYsfHIZV7YIUs8bI3x2KZawSifYdUuZgzYYkwL2Uko6xO9Fd3pjjE5 WFhirxekf4ycZuzJPkVgrWQzaMgAo2D58v9ueEka1Mp+udnGPqjoPPvf2y7WD7JiajfB CzXxTYqxzGSPdyAyvXkRBcZpD2cznqWdLZj2xsIEE6p3KsANN+yzRBac3OlZFkRQNWFs +Ibw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528206; x=1789133006; 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=38O+MEy871yA8vnt6T0mZIKkwh6RpFE6oR3N9+JfK1Q=; b=VZxPVnLLg28mgnYTNB1tb3YPSQzTGKYAibRNbtjN6LJycTNqXtnDv56fMN2RdoOn5y APYzW8fZwPTIbKbznFX35MqqHIRJS9IijcSKpuChm04Tp5PS1xJhCDGnQWZvM2prTGPS EJEskX8w58Y7tih/nbWRxWHTJ8Hpa7EzgOMhBrTle3Pbf1hqdmXSTejgyhlZkKUrCWyP V0+gvwVvnQq+GnvQqAr0+687e/FWlEKObvrNJvf4SEiIQEIK+awJmXuyx9g1sMWy3yQP lbfwtnnB2Wf2G2EBRB3XMImowELS6w0lwMiyCZkGKPro/F7Nbu4RLXKGPiXMje+z+Eor 1jfg== X-Gm-Message-State: AFuF++m9uBVw9B5tzmOufTySzUJ/36JVObZghZsS4D3B/OwpZOKoTfjL 51sVAAoFMqNhGa/9sRa7SdE6YyV3J0ttzMjBS0GNvqyn9Gk+MnK8l5XP1aedU+iu2PE= X-Gm-Gg: AYBFou1tE4k5AXFP2zHT4LZzZ2kBvLzsFmORqlH1veHhyPyyiTpUpkLv7JEs9iFyT/5 xAg1o8Br7bijjjO/J2ztMGHZVQoMjQ958AeDHeuvHDxy86MT/enHL2LbVqvx5dmWpLvXn4waEpD LEX53oEOavafzIWer92JIMj6EOdt0gYX0sfC8VQUp0AGbwR6XKm4O7ktkPsw6oz9SDpnt4FA7EF UNxsMWbqLzRjJ0hlof5cdnX4Cl9SKOk2RPjmCYTHzpWF7Kjxs1ISRNNbz/ZOhylnC8cqWGKuG5G 7YVvR29AsBpr6YiZQ27j5ehcaezDrZM0C4UerDUc/wILBLpcnLaljSMYBK0jUiQiMatW1mnFfr+ 2/SimcaC44XAS5lj8UsLuNe9m2TbQWL6QifuicSLoFIK2UHnCK2I3UJ9doGGXb2yDBIGJRt+LYx OG/zgTi6/VfUs4VhE12XkOrY3ZhBXMbX9l1cYcIFGZ9Hxdb3pfGIqOXK16aJsu X-Received: by 2002:a05:600c:a0a:b0:49c:e1f1:3dd5 with SMTP id 5b1f17b1804b1-49cf81e6cebmr87925705e9.4.1788528205720; Fri, 04 Sep 2026 06:23:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Stafford Horne Subject: [PULL 069/105] tests/tcg/or1k/test_addic.c: remove unused variables Date: Fri, 4 Sep 2026 13:45:23 +0100 Message-ID: <20260904124604.2207440-70-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528303934158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-70-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/or1k/test_addic.c b/tests/tcg/or1k/test_addic.c index 857aaa13302..27939c64ff1 100644 --- a/tests/tcg/or1k/test_addic.c +++ b/tests/tcg/or1k/test_addic.c @@ -2,7 +2,7 @@ =20 int main(void) { - int a, b, c; + int a; int result; =20 a =3D 1; --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528236; cv=none; d=zohomail.com; s=zohoarc; b=HUXDl6K5T1ze6SAwn/QwUKD6OPvQqhxQZCmfEctEsy7kMjd/HiznjOR/tGt9OP7Unn2S4KP5RoBE6ALGK8HyCuPeSseT5CdV7UA85SYUNx/TAiKo3rYhu5k70M7u11odV54kv3SaO816lQBauzO8too4e5lmN4UcjYGITRpuXJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528236; 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=LnaNcBsuPzzVC+J4u2ifvjPYqL0A46gG+rLPxX/9Xzw=; b=bOARhZnwGCMsR95sY1FKLKpsUP8KS69pUShGSifIyAMCkZrOj7mjpuyJb5p8XhMMDuk3ooD6VfAcYD1YU8Bv1YWL2XVdaGdzNkKAU1k3CMWKnnOa2XBRwQlLoBlAg90aNhNnkxJMkELBrxZLW8ATe1kwv6q36anXQm3GVqp5uQw= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528236063896.5996575001759; Fri, 4 Sep 2026 06:23:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtI-0005WM-LN; Fri, 04 Sep 2026 09:23:36 -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 1x2TtH-0005Ux-Ab for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:35 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtF-0008Ip-II for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:35 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-47de0093c42so859368f8f.3 for ; Fri, 04 Sep 2026 06:23:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885b1320sm6412891f8f.27.2026.09.04.06.23.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C7D3D61D17; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528212; x=1789133012; 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=LnaNcBsuPzzVC+J4u2ifvjPYqL0A46gG+rLPxX/9Xzw=; b=Y2+VusiOX+rzj474tv+F/7fsBfi5y8Ofp/nq8YZAnpCo2Uj5mS+B8OHstqB+4FNLRH Mp/YsWJRIctiM8p9lU4gYTx8dzWdYZSCFVsHwDrVqpXq45ce917WSOwb7P2/gKgT3qzx mYesSbiu3bHeA59UAo08lipFVQBCSV+hYS+yBK3wAJzkVdYeoKrOBqXDdhcdQsJ7TE6S bpOr8m5gB26aW2mdwJuP2GwnOyJDgyL/ltUdq2vAqGZ2AqtuEwAQQs+1KxCW6HdhXMRD a5VKaMtQVGbmAQgdQv63D0fegUXn+QMDbl8+4Ktn02TUQvlP6y9SUxz9EAhMQmChUrdh Srbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528212; x=1789133012; 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=LnaNcBsuPzzVC+J4u2ifvjPYqL0A46gG+rLPxX/9Xzw=; b=UdsC2n5S71G0bzCnc4axDPrCbQwujIOgEkqDNZqt3yc92lSCtbHfgIipOZjG4OyfYK JxgTSgg9g8+2gdajPBd4UvZEVdnY2UEyxdPX8P0kJ6x1LvU9xj9N2DqpYjgMK09qoHyS qCP//msRGiuebClJBm2QJ49+EQDnX//ob3HbL21qSdjT+/NQ1p5YSOSIOOIF5pMUzwx6 3jB3/2rGEmkGgnP87KC/kR4aLQQYTuhu95SjVZYSneAOLZdYHftI25bYVIDKQmwy6fsC qWu2Yhabl/+iwe9qVpRylwxPi+DFBwESDr6R2aWOqT9UMeGFF03FPu0udQ3jiZ9bXiYu Ttkg== X-Gm-Message-State: AFuF++mMyDXqUP1pyPB7MCCTUwHaeI8H2PzwNNIf2pzKJRIyLiT1v6/N rwgpblKjfQqzSrGq3yS7iayvFa+vMZZSgk9h864MET23KIDdjMNXAB4AGSGEmhtIi4dxh4vttiL kEBjJyYU= X-Gm-Gg: AYBFou26ZbpD3984zBE4+EQiCgyuClkiPe1Suiu9nYboABU5GsgSG/YWxpdubciNe63 az51tlE7ItCecZ6f7tykBayFz59SCMEd/DKWpOwIAxsL6zFMHHFbb/A/LD+OSuZuIgWusZxyjFD O+IHb+P9pT056DUhuzJZuINjtWLHVNP5CtQhbxBU2uiEGKQYDuW9KjlBFCMlQZE5G9Cw1vCMaM0 A/isvUWqSp/zyo+5c2LDh1D21gip114r8X7B+sqaZKCBUsXUa3mQCZVVdwY+z8YVMuTgncfnbPc XwdpU2njOAkF6ObXqXQAmXoiU06FWQ0JpArAjRnOiliH10xgmPKGUEbsZpYp4dOOXBwUVoVwzRw P6yglY4LQdCoM5rIdNBw44M9YcutVvRNBuwBapprCkJE7Ns2UsUpjUSSthgTvM8GiDULasBx9/n 6cNP5ZmwF0IeBKY9fQq9EpyK7m8SMnKAuMwsO956O17KKFCz8uyvp173EnJya6 X-Received: by 2002:a05:6000:29d1:b0:47f:8b24:ef01 with SMTP id ffacd0b85a97d-48587091569mr6822633f8f.1.1788528211612; Fri, 04 Sep 2026 06:23:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Stafford Horne Subject: [PULL 070/105] tests/tcg/or1k/test_muli.c: remove set but unused variable Date: Fri, 4 Sep 2026 13:45:24 +0100 Message-ID: <20260904124604.2207440-71-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528237508158500 From: Pierrick Bouvier Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-71-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/or1k/test_muli.c b/tests/tcg/or1k/test_muli.c index f1042e98dec..cfb6b3df251 100644 --- a/tests/tcg/or1k/test_muli.c +++ b/tests/tcg/or1k/test_muli.c @@ -2,11 +2,10 @@ =20 int main(void) { - int a, b, c; + int a, b; int result; =20 b =3D 0x4; - c =3D 0x1; result =3D 0x4; __asm ("l.muli %0, %1, 0x1\n\t" @@ -19,7 +18,6 @@ int main(void) } =20 b =3D 0x1; - c =3D 0x0; result =3D 0x0; __asm ("l.muli %0, %1, 0x0\n\t" @@ -32,7 +30,6 @@ int main(void) } =20 b =3D 0x1; - c =3D 0xff; result =3D 0xff; __asm ("l.muli %0, %1, 0xff\n\t" --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526456; cv=none; d=zohomail.com; s=zohoarc; b=jceMsfKO9hU1BoaiGpouIHurKnghsdGevjdL7tk2W3NFH0bS2kbdz2hQ/Ex1X60pmapGweI8kVN3xtIHH4kzyXJUFt5rKDH9SHMVMXDDNMaQVsXrlsOCqEHmTQt4I+8s5pYLA2KmrGUZ6lc9cL1PRON6pxCNgvoVnZxpeX0HjNg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526456; 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=4wGLYV3KePdDq6Zowgbo8tsJ6w7EuActFvXEH4XlSyE=; b=K1vKXHD6SC8NcRUID2rirz4BfqTnxoUJHCrVZYwMEr2wATD7fBlbKpCaphuug+FpMTXxoP8AXZUJA9VIZ2w+TbBksE9bGxeVQxaM7fBWXRvCeNV5EyomjqZmsFyALCtW0PCTRUQVBVeaXNf47uWsozmTYDv9NQw4ZBNJDEv0jbo= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526456164868.3477104497375; Fri, 4 Sep 2026 05:54:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQU-0001ng-2e; Fri, 04 Sep 2026 08:53:50 -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 1x2TQS-0001mJ-9n for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:48 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQN-0000kj-P7 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:47 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-485843aeab8so1030015f8f.1 for ; Fri, 04 Sep 2026 05:53:43 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885be01bsm5707718f8f.31.2026.09.04.05.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E1FE461D26; Fri, 04 Sep 2026 13:46:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526422; x=1789131222; 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=4wGLYV3KePdDq6Zowgbo8tsJ6w7EuActFvXEH4XlSyE=; b=b8Y/FzRQmNMrUF8PztRu9jYgJ0FCfk3GOBi9jEQcr5hE/STavUQZauHniW2V1RCf/W we+wKbe4gkVwN4TyrvjWQ0QOJEvC2ZGj7QaMtVYB4wHPpPqmVWk9mKDXIHRMyNqWdPus pun+frBoRxmbNzqZVxPyLz1rg+m+u0u1kmYCLr/5w2cLN2XwvWUya9TXrTl/zE54+8LB WSi0SBNkg8nBqOYGUzgXHVongShyRXFcXhn43XpzPpG1mOk93kIIETdwsULheOvTl89l s60dK1PL9k7zwXfA0TYurHw1ZVSImdC5uSyvxP6WvoSgQAhu0pw37tvSHLKyaGoksRE9 V5ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526422; x=1789131222; 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=4wGLYV3KePdDq6Zowgbo8tsJ6w7EuActFvXEH4XlSyE=; b=sK/I3GMWMXa9uHhRjPdyGdPY2qu5uUjBE1bh6Fq4wQajYwAwqvrWLe48UpYnJakmbq 6nzxlBt3XumwDxf2QtZy8IGPasvCKADF5bj0ZM5ypI+J5lcTHjl3EicThH7dBRHNXOLT 5Cm0l3uubFE9pUFYZCvcdobeAjyYCpcdtv11W7lhp+WJPp6tBR+Td/wpJ1NegVp8D5/3 zTgxKH0dW8of2tUba9ulBXX+poQL/fdznPetT47CZNdXCRixkBszJDoPIqrxWQ1iogbz 9deDv5s3ZY94sKFAMH5krCucmyr7OSj2X2S/dHOSNKxMXb/bI1Q9YTdS9oxvn9OFmGoZ 861Q== X-Gm-Message-State: AFuF++nV0sbHS2w5KqSb0DfeSNRVcepf7HIt7EmykbdMCgDb2Z0qLFhy vDVhsk6LD+ThhERQt9/4Of3SaChhnSjXn6Xxjaxheyp1fejtuc55kYeybDKSEjRQi1M= X-Gm-Gg: AYBFou1VvybVQP1B4itSWfeuAPECKimCl4PA5p9eHFGB4Ui/VsTAWI+1BHySW3kAIsL kRrI2FhKRrDceZ0A+PBU3v41xi43g4yMBKYIFc4vXXadWPp10Yme9CvwDDwgFoJh5nirXpxOyXT 2+ri+eCoQRKxJkzZNJODyFu4LSYhIrClbXhuRFQakKDMYrtG8aK+IgEWd3lkP3HYY7OhZvDjg+s 9Dec71Qn4n+4qaMlOTGiOU9gZyyZCVVLOWmaI6LwQwXFngEHYGXbUrRG6gfoYYDasxmVHhrSvEO p8TdMZ8ClRHDqzZ8ugJchfW2I0BYFI9L+OYGPbpZiiIWNO4KvazjW14b2HkqgVxeMB4mpj0C2/I cSRHM5uVD7bjFsUzKE9FXcbheEcoMWzXyTx6VahLo6NNjQrF9wRf24Noe0MvBAQL21djkFTCLLx EWEd0oZqTypgt39D+oxUljKd8QgZ2Ms2Cowe69L9tonC5TaJRS3MAKKSuAaH07 X-Received: by 2002:a05:6000:4703:b0:482:fbb5:ab56 with SMTP id ffacd0b85a97d-48587085bc9mr13592130f8f.13.1788526421729; Fri, 04 Sep 2026 05:53:41 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Stafford Horne Subject: [PULL 071/105] tests/tcg/or1k: add float reference files Date: Fri, 4 Sep 2026 13:45:25 +0100 Message-ID: <20260904124604.2207440-72-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526457558158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-72-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/or1k/float_convd.ref b/tests/tcg/or1k/float_convd.ref new file mode 100644 index 00000000000..dbd5379c4d3 --- /dev/null +++ b/tests/tcg/or1k/float_convd.ref @@ -0,0 +1,247 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.3d5054450ed000000000p-1023:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.5731f750864200000000p-1023:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (OK) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) diff --git a/tests/tcg/or1k/float_convs.ref b/tests/tcg/or1k/float_convs.ref new file mode 100644 index 00000000000..ec7fdf975b1 --- /dev/null +++ b/tests/tcg/or1k/float_convs.ref @@ -0,0 +1,187 @@ +### Rounding to nearest +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (OK) + to int64: -9223372036854775808 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (OK) + to int64: 3 (OK) + to uint32: 3 (OK) + to uint64: 3 (OK) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (OK) + to int32: 2147483647 (OK) + to int64: 9223372036854775807 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) diff --git a/tests/tcg/or1k/float_madds.ref b/tests/tcg/or1k/float_madds.ref new file mode 100644 index 00000000000..2c7c35c8b47 --- /dev/null +++ b/tests/tcg/or1k/float_madds.ref @@ -0,0 +1,192 @@ +### Rounding to nearest +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DOK (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DOK (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOK (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOK (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DOK (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DOK (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DOK (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DOK (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DOK (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DOK (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DOK (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DOK (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DOK (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DOK (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DOK (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DOK (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DOK (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DOK (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DOK (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DOK (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DOK (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DOK (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DOK (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DOK (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DOK (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DOK (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DOK (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DOK (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DOK (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DOK (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DOK (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DOK (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DOK (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DOK (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DOK (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DOK (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DOK (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DOK (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DOK (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DOK (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DOK (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DOK (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DOK (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DOK (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DOK (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DOK (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DOK (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DOK (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DOK (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DOK (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DOK (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOK (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DOK (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DOK (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DOK (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DOK (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DOK (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DOK (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526482; cv=none; d=zohomail.com; s=zohoarc; b=jFuy6mqcGdmP3XhHLnqSE0pYJG3a3PvwzJ+h/+9WnlC7bTLPOUuksAh3p0pMqtY7mlb/6VXuMaF/Kp3IHACv1PvhRk9a56M2PdMcu3lNa06ytnF/hnkCSa6LW0SdP4k5Ct+/y/PDMp/vpYNHfX2MNri11oxaiqf7VukmCyoqeaQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526482; 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=JJ3oSIlwkgO166qtPLmdFiaD5BrdgwjhX5Ej2Tw2czA=; b=XouZqzrUw2r4XoTMRlZCXE2+0UO1Vr9JbTZ1xjV7aFd2bTzu41/MxREdLZ4p++Ar+KjbF1VEoNJ7bFX30mGpOjNvyGXP/+W5mkvxvv/BscmDW6gAIOwzvD0yAzq/sUzu9o1yK5GPeVSG+Qe6DBUnBEVc2uQMblXKfI+wxJd9v74= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526482655628.0810650895157; Fri, 4 Sep 2026 05:54:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQN-0001ii-6k; Fri, 04 Sep 2026 08:53:43 -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 1x2TQL-0001hO-Ho for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:41 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQI-0000iW-FM for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:41 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-48442ea8f59so1558723f8f.1 for ; Fri, 04 Sep 2026 05:53:38 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858bcefd59sm3457161f8f.19.2026.09.04.05.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 06AD661D32; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526416; x=1789131216; 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=JJ3oSIlwkgO166qtPLmdFiaD5BrdgwjhX5Ej2Tw2czA=; b=uNtI7o79XgJPxrHDwfZwPHm97UBMIRA4rh/MYEbjMapTZA4O6TiqnLM9TCkAJlMrwd uG53/48dmLHoPtpOs39VCrh2PdsLtthRDC9qjuAbCZBC0Bf7RfKvbUhKnCDP8IW3fEQz jzsmcQz9Gj6cCPNxr4lxiYhPhpApgakXx9bxa15tsy/GZ0SekVjfyhN+HuolncX+8kcW QSbHbo5dcng4uHtqiWySewYJaP2ttViV8a+ecVKzunfJPSFUVl+4AAxtBRVgALQyXSMX VZxqqcHBQz3BKpzZ3SJ39jONTmMrjyg8ivO3tQyNy6KVlpkXtzm7NJupveGTLosS9fUU rQtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526416; x=1789131216; 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=JJ3oSIlwkgO166qtPLmdFiaD5BrdgwjhX5Ej2Tw2czA=; b=PZhOS6ojYc8pWdS+gqvrCXciUHf2gmWnSq4p2w9GgIjZVoLRkrPC6aHieIAq9sqOpf bk3S8qKWkoJUOucN77Wb64P++k1ymp0qOSo1M8qvUABtGb38dz4eiGQS/UZgOIL8ntHP o3gmDZVcmRCUD/El7N+W/GRo/qNO6QOx1k1BzBhe4NqC2CfCZYD1U2WKICcb0MJtId8o hbu4M1HmsBJsnqKbVCId5suZ/0wxszyTgrbBctw9s2XU08pvdIgAG1ky0FXOsbDIXPx/ 6yR1ETI2KoQ8mFek3gmpeez/D+1q9R/poGQ6G6BDUp/TwVH8UY4dYnbQAew1PoLdQALx Ap+g== X-Gm-Message-State: AFuF++liQkniPxcKLcXgzzTwRPsCN628MCXf1UTAfGVYmPE8NqvH4cMz 4/p+vCtJlCt87c/dtsdIGEEOfSzfyiLQ9jadSAAf9LsfmDY9Ftygh+dzp93Y0vFlfWg= X-Gm-Gg: AYBFou0ROYJyX7eAMJyOikR0nCZ/D3WHW93BukzMr6CSN2bcREwQejnU4Wu4MRrgq38 vrQvQ6BFewy1c90vCBFQcIv4qTOY9yDjQ9dhbr0VjpxwY2SI7p1x1Hrf+BDomwmcZvA9XGoE/bE UFX6IA1cPRzP3Wf1O4Blnv+uYtV2CBjr5ytgL1zuZawIhIadux9S3LwspLjQqgYuvytOdZRXtVS 7d8WDcWbnz3SpQNdNG2Frlkg9YIaumGoF9iTFDx5AK0k7tud2YpghMJa3DBxaSz+Rf7rTbtWU5A judAIPsi/XmYxdl7A6FZRyzRWU3xB4QFKCQGDl+eBGGoF+nnQ6/+h8vS/dUp+grkGNsFZiUkK0d pSdUOuNICYLtND3+N1BxhBwcym1Vkz8AGJWFCD2D+K3Ji0uuAdtJFFEZW3ocbY74OHMILVl3byi 2Z7rip0AsfYT5tzpaLNUkowgCs3hm0Enx/dNbQKXCtv2fB66Ka6LRq0C/PpYO6 X-Received: by 2002:a05:600c:4881:b0:49c:f13d:ffec with SMTP id 5b1f17b1804b1-49cf13e05cemr76500315e9.16.1788526416596; Fri, 04 Sep 2026 05:53:36 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Alexandre Iooss Subject: [PULL 072/105] plugins/api.c: identify or1k pc register and mark it as read only Date: Fri, 4 Sep 2026 13:45:26 +0100 Message-ID: <20260904124604.2207440-73-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42b; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42b.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526485729158500 From: Pierrick Bouvier plugin registers.c checks if at least one register is read-only, which was missing for target or1k. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-73-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/plugins/api.c b/plugins/api.c index eb982f9aad7..3520c96f411 100644 --- a/plugins/api.c +++ b/plugins/api.c @@ -425,6 +425,7 @@ static const char rip_str[] =3D "rip"; /* x86_64-specif= ic name for PC */ static const char pswa_str[] =3D "pswa"; /* s390x-specific name for PC */ static const char iaoq_str[] =3D "iaoq"; /* HP/PA-specific name for PC */ static const char rpc_str[] =3D "rpc"; /* microblaze-specific name for PC = */ +static const char ppc_str[] =3D "ppc"; /* or1k-specific name for PC */ static GArray *create_register_handles(GArray *gdbstub_regs) { GArray *find_data =3D g_array_new(true, true, @@ -449,6 +450,7 @@ static GArray *create_register_handles(GArray *gdbstub_= regs) || g_strcmp0(desc.name, pswa_str) =3D=3D 0 || g_strcmp0(desc.name, iaoq_str) =3D=3D 0 || g_strcmp0(desc.name, rpc_str) =3D=3D 0 + || g_strcmp0(desc.name, ppc_str) =3D=3D 0 ) { desc.is_readonly =3D true; plugin_ro_bit =3D 1; --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526540; cv=none; d=zohomail.com; s=zohoarc; b=izNtx935bpaCNgYeaKyANq8xiks8519fop/OUF79wy/5sLijAaFMcIWOgJn68luM4e3Yqcy8U/UgB5kx7zRQC7/m60CZdbgTeLLjq2BlEDWDLZYGacI9yOYjnT7hIE2XgmR3ZSaHwpWU0GgZ5CPPjJn7IAwu6PhYGCPY9SksTJc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526540; 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=HSmbh5CzNxFCDcJeMXku/skdE36tapw6+bH//Hui4f8=; b=c4sxEBvKBF+Q28LCA1VNRLnKtkHZA6/o4HMNsMy6sQMSp93UW6favPhjbqF0m1BQwxA7RJkWE3Bcts95puXwK1YTytNEDS048M1XNKm5HyzpfyM6yrFvgCJokViHi17ZFpibpjlVGYJ9hgjH4r/ldHQpxarAi/z+9qZ6AyKCY7w= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526540415974.0986905191739; Fri, 4 Sep 2026 05:55:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQE-0001bV-6W; Fri, 04 Sep 2026 08:53:34 -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 1x2TQC-0001aI-DE for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:32 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQA-0000fG-Cn for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:32 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-49b0dd3c9a0so8421785e9.1 for ; Fri, 04 Sep 2026 05:53:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce58da3acsm399350785e9.0.2026.09.04.05.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 2195D61D3B; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526409; x=1789131209; 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=HSmbh5CzNxFCDcJeMXku/skdE36tapw6+bH//Hui4f8=; b=jsyfTO1zpjEIvGA8onDxFMWN7MimCl5EtzPEDnZtEcjBCvhjteMFHs/Xt9kFyj8Tth tTNahmwEcUHRid/jCwssFT31yaMfQUOBbKfa+sRBeQYJRTYGtZEyrk8T80kOJN6m75HQ x/9EvRTb4PYW9110aiTDJ95iLHl8zs5d9cFUz0XYHNHgZCQEu8quTrBGfPRTSJ+M/mMd 8aOsICnnRtCW6pRmw5+Vqir/IpGzOEkC1SkJ0QY6FIju6KeTJ3gjShuBlGkE/govkwi+ a2oyLvLXkl8zpaD/LrGZXuYWvLtFRPATaHaKz4Ki1nMrjG+L2BUsyysFi8J4WS543vNL pwqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526409; x=1789131209; 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=HSmbh5CzNxFCDcJeMXku/skdE36tapw6+bH//Hui4f8=; b=TWVzzaD1/WxqeE0hJYM8HRR4J58yZBOsHWGPdpv8bv3GeVM1PhVO7U+QBwHFzMgoyb v2RKyf3qKGZj06Nq7IUdUZEnv5Iy7DX6RljV4rsjcPBX+0mk+eT9Zr/NTfsYO/Ci7UvW 7T7bIOFftndsKtqoDmCMCZFU5PTiaehINMKAMPN9d09M5uyrMINpE9i/55aVcaoPY1OB bE8V49HAJa2oYQqlVkFRwpwwXF+gCDCcUi3pLHebRCZ8SRYQXeQmWEuRpWwRAQV+ddHs TdcOPVwjvXHJH2L1jP3rbHhZBmyU2LmcjkZYfXQVtmn2jLb/UtGlxaU3BcB7Z75JRnFT e8pw== X-Gm-Message-State: AFuF++lpg7UNvbpcQ2wucjoIxxwg5YyOAVJB5/o3lQIC9gmJmV9CLvan +Zn7Q6sH4kez8vuGDnNweVHQ3J5a8cbssLVwrUqAVtVeyGjYHanatS1AXBmLAnFexEI= X-Gm-Gg: AYBFou3fpHY/dWISLcEx1jK121A4CwIRCIXW/2tAjklWKQXd5dk/b8GVqZmzisl94ay zK2j9F3Ve6txKxzO0hnl+c4HP0sx7qHFvS4bisfRMiM1HHhuMCZPLXQAkZ3p/gUldQ7vG7uy4oe TQNvOoNYO7Mm3eVnpFmOEOoBy1nwto4w1hGtSwLAHU1P9wpokBuq1NSTMIS15kOGi/aHKS97xKR qiJaje0h8WJtIQPJ/yHJr+o1vPWLJl4yMQd5NTybb9H0hBr/joQLJXQ0/vnyMyVRNjY8jCKvOio i81ABplh7vsjXVeszZjkcCYIo8IqOIm9r0HvMR2EajVdRQ19uC9hkFKP5rz50YGr3aXwlraaMkA niikv2xYIxfG/pPKZ1zigbNqRJeESScc/0SGgeGRyiQR6WR7DQshMXbuOkgeZ+YXwssITc9AuL/ k8cF78m94Esv2QM0PY1M6xs6hcCDdZTQCzM2EDpKTMHcivi9yEKbkv8iBiKdlM X-Received: by 2002:a05:600c:a00a:b0:49c:ed94:cdd8 with SMTP id 5b1f17b1804b1-49cf81f6736mr97669595e9.6.1788526408911; Fri, 04 Sep 2026 05:53:28 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne Subject: [PULL 073/105] tests/tcg/or1k: user tests Date: Fri, 4 Sep 2026 13:45:27 +0100 Message-ID: <20260904124604.2207440-74-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526541746158500 From: Pierrick Bouvier Some tests are currently failing, so they are commented. To be investigated. qemu:or1k-linux-user-test_addc FAIL 0.05s (exit status 255 or 0xff) qemu:or1k-linux-user-test_div FAIL 0.06s (exit status 136 or signal 8 SIGF= PE) qemu:or1k-linux-user-test_extx FAIL 0.06s (exit status 132 or signal 4 SIGI= LL) qemu:or1k-linux-user-test_lx FAIL 0.05s (exit status 139 or signal 11 SIG= SEGV) Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-74-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 7aca685078f..d6406b5cb59 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -148,6 +148,7 @@ subdir('m68k') subdir('mips') subdir('mips64') subdir('mips64el') +subdir('or1k') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/or1k/Makefile b/tests/tcg/or1k/Makefile deleted file mode 100644 index fb5ceda512f..00000000000 --- a/tests/tcg/or1k/Makefile +++ /dev/null @@ -1,71 +0,0 @@ --include ../../config-host.mak - -CROSS =3D or1k-linux- - -SIM =3D qemu-or1k - -CC =3D $(CROSS)gcc - -TESTCASES =3D test_add.tst -TESTCASES +=3D test_sub.tst -TESTCASES +=3D test_addc.tst -TESTCASES +=3D test_addi.tst -TESTCASES +=3D test_addic.tst -TESTCASES +=3D test_and_or.tst -TESTCASES +=3D test_bf.tst -TESTCASES +=3D test_bnf.tst -TESTCASES +=3D test_div.tst -TESTCASES +=3D test_divu.tst -TESTCASES +=3D test_extx.tst -TESTCASES +=3D test_fx.tst -TESTCASES +=3D test_jal.tst -TESTCASES +=3D test_j.tst -TESTCASES +=3D test_lf_div.tst -TESTCASES +=3D test_lf_eqs.tst -TESTCASES +=3D test_lf_ges.tst -TESTCASES +=3D test_lf_gts.tst -TESTCASES +=3D test_lf_les.tst -TESTCASES +=3D test_lf_lts.tst -TESTCASES +=3D test_lf_mul.tst -TESTCASES +=3D test_lf_nes.tst -TESTCASES +=3D test_lf_rem.tst -TESTCASES +=3D test_lf_sub.tst -TESTCASES +=3D test_lf_add.tst -TESTCASES +=3D test_logic.tst -TESTCASES +=3D test_lx.tst -TESTCASES +=3D test_movhi.tst -TESTCASES +=3D test_mul.tst -TESTCASES +=3D test_mulu.tst -TESTCASES +=3D test_muli.tst -TESTCASES +=3D test_sfeq.tst -TESTCASES +=3D test_sfeqi.tst -TESTCASES +=3D test_sfges.tst -TESTCASES +=3D test_sfgesi.tst -TESTCASES +=3D test_sfgeu.tst -TESTCASES +=3D test_sfgeui.tst -TESTCASES +=3D test_sfgts.tst -TESTCASES +=3D test_sfgtsi.tst -TESTCASES +=3D test_sfgtu.tst -TESTCASES +=3D test_sfgtui.tst -TESTCASES +=3D test_sfles.tst -TESTCASES +=3D test_sflesi.tst -TESTCASES +=3D test_sfleu.tst -TESTCASES +=3D test_sfleui.tst -TESTCASES +=3D test_sflts.tst -TESTCASES +=3D test_sfltsi.tst -TESTCASES +=3D test_sfltu.tst -TESTCASES +=3D test_sfltui.tst -TESTCASES +=3D test_sfne.tst -TESTCASES +=3D test_sfnei.tst - -all: $(TESTCASES) - -%.tst: %.c - $(CC) -static $< -o $@ - - -check: $(TESTCASES) - @for case in $(TESTCASES); do $(SIM) $$case; echo $$case pass!; sleep 0.2= ; done - -clean: - $(RM) -rf $(TESTCASES) diff --git a/tests/tcg/or1k/meson.build b/tests/tcg/or1k/meson.build new file mode 100644 index 00000000000..5151e8f361f --- /dev/null +++ b/tests/tcg/or1k/meson.build @@ -0,0 +1,72 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'test_add.c': {}, + #'test_addc.c': {}, + 'test_addi.c': {}, + 'test_addic.c': {}, + 'test_and_or.c': {}, + 'test_bf.c': {}, + 'test_bnf.c': {}, + #'test_div.c': {}, + 'test_divu.c': {}, + #'test_extx.c': {}, + 'test_fx.c': {}, + 'test_j.c': {}, + 'test_jal.c': {}, + 'test_lf_add.c': {}, + 'test_lf_div.c': {}, + 'test_lf_eqs.c': {}, + 'test_lf_ges.c': {}, + 'test_lf_gts.c': {}, + 'test_lf_les.c': {}, + 'test_lf_lts.c': {}, + 'test_lf_mul.c': {}, + 'test_lf_nes.c': {}, + 'test_lf_rem.c': {}, + 'test_lf_sub.c': {}, + 'test_logic.c': {}, + #'test_lx.c': {}, + 'test_movhi.c': {}, + 'test_mul.c': {}, + 'test_muli.c': {}, + 'test_mulu.c': {}, + 'test_sfeq.c': {}, + 'test_sfeqi.c': {}, + 'test_sfges.c': {}, + 'test_sfgesi.c': {}, + 'test_sfgeu.c': {}, + 'test_sfgeui.c': {}, + 'test_sfgts.c': {}, + 'test_sfgtsi.c': {}, + 'test_sfgtu.c': {}, + 'test_sfgtui.c': {}, + 'test_sfles.c': {}, + 'test_sflesi.c': {}, + 'test_sfleu.c': {}, + 'test_sfleui.c': {}, + 'test_sflts.c': {}, + 'test_sfltsi.c': {}, + 'test_sfltu.c': {}, + 'test_sfltui.c': {}, + 'test_sfne.c': {}, + 'test_sfnei.c': {}, + 'test_sub.c': {}, +} + +if 'qemu-or1k' in emulators + tcg_tests +=3D { + 'or1k-linux-user': { + 'cc': 'or1k-none-linux-musl-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'or1k', + 'gdb_arch': 'or1k', + 'qemu': emulators['qemu-or1k'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527149; cv=none; d=zohomail.com; s=zohoarc; b=MS/sMCsmgUcP7icDwV3ur2Al+bUA2IF7tDDZgKL13A30yQY8r93sLU23bB2LzGqgVmoNynfOZAg3JYUwm6awk3jndSSoV1RpBk5TgazzfWul8s3MrOdesJmtTG1Jl46nIugCV0dJRn3rA6Y+RtsXlOg7FDrNey9jO+yAMxzZ58I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527149; 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=AVoKIna8ZDg4DPLuFud9kFV2zM6gtJ33/vXALNryXgk=; b=Vr+3V/ffTdIle9/sIX+jbgxEfDFTPCkLqPhKTwdHVsicrJpleaC593guLsITn0EjibgTRbuPfy5G0n8DFlgsXet0oMRLpS+YyWebYWZIjGfb7yAxkc99jyLkyfxS6/Y9Pu3XOoix/dqBrmYJYq1AvEJjhm7OAwBx9+djJt8NBt8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527149907520.158724843345; Fri, 4 Sep 2026 06:05:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tau-0007rZ-3U; Fri, 04 Sep 2026 09:04:36 -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 1x2Ta1-0006Pk-7B for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:46 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-00037L-BE for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:40 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-49b0d8bc2aaso11433245e9.0 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48588392b3esm7375363f8f.12.2026.09.04.06.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 45CF861D49; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527012; x=1789131812; 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=AVoKIna8ZDg4DPLuFud9kFV2zM6gtJ33/vXALNryXgk=; b=VKAnIXzQ2ZKHwsqIL6Kr2i+Kfgc6QJ1Lstli9lCil7eEiwTRdiPf3mpaqQ7e5fEIyW ckn/IFRbKlmDBPUWd4mf8h3gCxkJKCZJGXlDOcIaWV4d0NuzbHA4VBCX4ODcJMoIiwR/ WUZnlg9GcRzb1YY3cDn3FfpRB7f0s4XSMDYtXFHoMTRbcZ1hchI4ND33h6q6asZzWq+8 8w9pfBeTkL24MrcgFrgkbDDshH9qL6+b08VDHDreYKpDGUl/d+PgxrIW+rkSfNUHDsLw dPGKvOi10ZYNr3ikrGIshcEbZkItAffFRlKZOtcNSLLme3aB2zmpK5IcyeqZMN1yuHqw G/Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527012; x=1789131812; 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=AVoKIna8ZDg4DPLuFud9kFV2zM6gtJ33/vXALNryXgk=; b=JKY5dOz3Dalmyfu+AuRNC/n30y9Of0A09V1klObf0Us2StXlgNLmjh89G/btbzpG8e xC+x3hiYcB/Ak0iqkfny+ZuJOe45D+amKkZ7VJRvdFp6z836VtEeh5bcxVVD5MW5BGI7 xOV2G/bbctScPOjkxuwNL8c8cIIvqpyojlLnVXhGppLmmAEEP5tYPYIaJIiXvrEW+YTL TZvUxOeLp2tvC7V54dwOyZ1dZOwBtbM+5rRGpacvFoaXXpUe7q9vqdwz16tZf0kR2mlF StTkKWp9kuo3CDbwESQwneaRXSE/HfZdO42tQJtmqxM47zS2mJNIveqULwBtKRLaQI68 TEQg== X-Gm-Message-State: AFuF++kwD8tTr/NWznCP/q/bVwk8pcvA3DpHfy1ZPIttMXYs3MyW1wki Vk9DM6qNChvl1EqlpN5WuO0L21u7RWGwbfYxQ4PldhSZ6ta2euIoQCkG2XZ9Wb+c2qA= X-Gm-Gg: AYBFou1A2OxC7ptTQbQP0Pv9TtH8HoSY0/Lt6WNh8bkuMJtPue7KBYESvDyOSpHlfk0 KqkoEcDFwg1846lndubBHJIg2/21lUQ+TICB82NntQYTYXSiwtMtzNzkQZ9DhFOWDcv9RfAbpdv 5mzXwgZWYqVUGAFaF1EP6t4Z5bSeSeC8z71X6XVqDdO2JpLuEfRh6GdDZGctcOdc8gaLpaHdYbd pWXDt57lKhL+1Ns5xpjBA1MQoOGmZfoGvAVQwIAh2rZZDgEojVppjscpJp9pVP/IWvSpsOySYU8 btQdPocRpYNNz8bAqUaZAfoaNcPi60n8T8aPHNhYMt+VjUkJAaiWr6XYBOdOIc43JksGSatw/wA NTlBlWvVhfXySRV8MbiPAzzYpOCgAitGOKtk+CHJ8cAtrWHVg4u3mLmFsQUUKQCloF/qzdAOhtr XCzlyDMeirVgICT+DgUz2otIk2Bw0XUhlTgotAaQ2I6OfKFIalcfTTH0Ffbzea X-Received: by 2002:a05:600c:6214:b0:49c:edd8:ba35 with SMTP id 5b1f17b1804b1-49cf823b95dmr69833955e9.6.1788527011597; Fri, 04 Sep 2026 06:03:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Chinmay Rath , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PULL 074/105] tests/tcg/ppc64: add float reference files Date: Fri, 4 Sep 2026 13:45:28 +0100 Message-ID: <20260904124604.2207440-75-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527151095158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-75-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/ppc64/float_convd.ref b/tests/tcg/ppc64/float_convd.= ref new file mode 100644 index 00000000000..43aa3117f14 --- /dev/null +++ b/tests/tcg/ppc64/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: -2 (OK) + to uint64: -2 (OK) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: -1 (OK) + to uint64: -1 (OK) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) diff --git a/tests/tcg/ppc64/float_convs.ref b/tests/tcg/ppc64/float_convs.= ref new file mode 100644 index 00000000000..bd7b14d37e3 --- /dev/null +++ b/tests/tcg/ppc64/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding upwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding downwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +### Rounding to zero +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff4000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: -9223372036854775808 (INVALID) diff --git a/tests/tcg/ppc64/float_madds.ref b/tests/tcg/ppc64/float_madds.= ref new file mode 100644 index 00000000000..e66917cb801 --- /dev/null +++ b/tests/tcg/ppc64/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526469; cv=none; d=zohomail.com; s=zohoarc; b=GOfpm+tpzztyBj4xv5VId0UctMLkGUXZjSRMTUaH+qOAIuN0KkX8c5CIwragvW49ElACaijqCaKRPaDsXOWln7Txy0E+YeQtImpFRD/YsUIJFYMKZEgQLiL36xfGNHTk3yssIqV+w0REAr5iWxIftdLD4eF2/LIFXDOrN5tIINE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526469; 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=qFmr5jSpF3rNojzP+DzlrO5/yYTA3YpYFFZaBsdxuIk=; b=M/I89vYlf2nqc/XOR1E94WDFwmLZGt8TR9u2LwgAVSX1tuBbMwdbLhMFDxR4/zjbvih2o7SLFa66pehgS/XVMKgKYX3WKqTxUB7WSb71ZNfxgBE9XXylI1N203BZv8BDQWoNBz14eLhDBpOMU5A5h4ql5N69KDG8lN01rr6mWB4= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526469688401.68889119565745; Fri, 4 Sep 2026 05:54:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQB-0001Zs-QI; Fri, 04 Sep 2026 08:53:31 -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 1x2TQA-0001Ya-5s for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:30 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ7-0000eT-VB for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:29 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-49556f97a9dso8384455e9.1 for ; Fri, 04 Sep 2026 05:53:27 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7739b7asm64646865e9.13.2026.09.04.05.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 5F0F4613A9; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526406; x=1789131206; 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=qFmr5jSpF3rNojzP+DzlrO5/yYTA3YpYFFZaBsdxuIk=; b=Jn9bZIy1cUAcdH9/nPkK046L3DjIruAa2XK1NaBxZd/EiBwNMySxGmwUmw9vFzDocr J+/ocAwkP4Wr6zhaoD+i7R/jMHfNt5BBFzL31yMsD7Pzm0Kr9d0Lehm+qMIYdcMRL9so eUhetwxnnVVQLrpsQc7N0Wjewc0pW1xOCsRtx9j79nh2p8aTA0lbcT/0QprUrf/kmgnY HDSNfW0meuisCKS+azRo4ZvwE4x1VJXXffWwVi8SfT85Ef7GQg5WQrljcG+XsnwovnE/ YIvkFdlDHbhP9ZRkpuejleCT5T3HMiniq4tzgMd+flFWpZekyPydgLtvRp5lIc9ZRqJq iOYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526406; x=1789131206; 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=qFmr5jSpF3rNojzP+DzlrO5/yYTA3YpYFFZaBsdxuIk=; b=BFxuVuiVWZ2EmABY3GdT0a9fxzSQ5/qVCalvW6K4C7U7JEcx1GYrT/w532ZbCawTsZ fLjwDv6MIsTXJlp08bmR+kIJuIyN56bRKREqx0WrHWTEkZZMKNe19yfEzhUIPiMCeJkr D0bCa4chfaCFjFW78Y+wjMcVkZpJZChL6I+i0zJum5BUHqEGqntyVfMfwyhR5H1qDNK9 dR18MReMGLhoWQPZSoqrUYGcEN4RsR9/l/FWrUXjXqAD701BVX67o4jCbSFRpRm8RXfY QTxzQ7ro/jUF9eQn1yL1LYi9FBhJ+2qjJpjbKDGj6+4XgRoC5dsm7UL9wfcRoBF91dBs xqOQ== X-Gm-Message-State: AFuF++nYRotxKXru405Ad7wmb6QhSGT7YYOnSPfhxttA4OWV33MWXg/d NRu/DLbmSIaUJODxTS7yneCYKplyvOW1gZDWfEXKbTVZNsQVpXa7B748BEipNMLyF48= X-Gm-Gg: AYBFou1XPOkskGp1Fp2Ss05xFCTB9yK6pT4f3IavPcFQI92tmCkPrFhJZ0sM28iexGB QrTr3Lvdh0q7A1LPflQby5ddOod02efbZQ/kaFYO/M9xNItD526rVqRsoUZ53cLDrPmLNmtepEH AmhU2bUe+fKlXNvdQFxVP4QSpOQOLztnZ8R1r55qFTowOF4/eoWs/NO/qHaLa0w1og8zjKsHsd+ cW+L2otId2OHDqXYaEGbxabfv9wLEYvZQ7xcpxENnrTtehnEFq2ZVhLciQJeAKqRbBvsRCBW9KM zbTPZ7Vjjbs5FPa3RIHPUTewwSqrqbMNPGGFR1YtxG+bVOjBUUw6PyZxfmd20EDu3Xj7irTSlZY NbchXWR+UPSEEiMhLlDDxx9tu04HLq1vbfxJKpkJlwdKFjZaRa/YTbEODG/QhS2fYUiTkqWqyk0 VIpJ9wjuv397KWc5IqDS7zH8nM0yrxTVghhZ23EQe2OPccdMf4fWjlU/etONAqbdC19wJjvu8= X-Received: by 2002:a05:600c:3b01:b0:49c:fa21:e73b with SMTP id 5b1f17b1804b1-49cfa21e86cmr35179125e9.17.1788526406232; Fri, 04 Sep 2026 05:53:26 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Chinmay Rath , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PULL 075/105] tests/tcg/ppc64: remove dependency on qemu/compiler.h Date: Fri, 4 Sep 2026 13:45:29 +0100 Message-ID: <20260904124604.2207440-76-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788526471604158500 From: Pierrick Bouvier Replace definition of vector attribute, remove unlikely, and detect endianness from __BYTE_ORDER__. It's the only tests that use this, so for consistency, it's better to not make exceptions. Also, not having this include path by default prevents anyone from having the "good" idea to reuse any other header from qemu in the future. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-76-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/ppc64/vector.c b/tests/tcg/ppc64/vector.c index cbf4ae93323..70491d59251 100644 --- a/tests/tcg/ppc64/vector.c +++ b/tests/tcg/ppc64/vector.c @@ -1,6 +1,7 @@ #include #include -#include "qemu/compiler.h" + +#define vector __attribute__((altivec(vector__))) =20 int main(void) { @@ -15,28 +16,28 @@ int main(void) vector __uint128_t vbc_qi_src; =20 asm("vextractbm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_bi_src)); -#if HOST_BIG_ENDIAN +#if __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ assert(result_wi =3D=3D 0b1101111111000011); #else assert(result_wi =3D=3D 0b1100001111111011); #endif =20 asm("vextracthm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_hi_src)); -#if HOST_BIG_ENDIAN +#if __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ assert(result_wi =3D=3D 0b10010011); #else assert(result_wi =3D=3D 0b11001001); #endif =20 asm("vextractwm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_wi_src)); -#if HOST_BIG_ENDIAN +#if __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ assert(result_wi =3D=3D 0b0011); #else assert(result_wi =3D=3D 0b1100); #endif =20 asm("vextractdm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_di_src)); -#if HOST_BIG_ENDIAN +#if __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ assert(result_wi =3D=3D 0b10); #else assert(result_wi =3D=3D 0b01); diff --git a/tests/tcg/ppc64/vsx_f2i_nan.c b/tests/tcg/ppc64/vsx_f2i_nan.c index 94b1a4eb02d..6a9d54faf52 100644 --- a/tests/tcg/ppc64/vsx_f2i_nan.c +++ b/tests/tcg/ppc64/vsx_f2i_nan.c @@ -1,5 +1,6 @@ #include -#include "qemu/compiler.h" + +#define vector __attribute__((altivec(vector__))) =20 typedef vector float vsx_float32_vec_t; typedef vector double vsx_float64_vec_t; @@ -104,7 +105,7 @@ static inline vsx_uint64_vec_t vsx_mask_out_float32_vec= _to_uint64_vec( static inline vsx_int32_vec_t vsx_mask_out_float64_vec_to_int32_vec( vsx_int32_vec_t v) { -#if HOST_BIG_ENDIAN +#if __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ const vsx_int32_vec_t valid_lanes_mask =3D {-1, 0, -1, 0}; #else const vsx_int32_vec_t valid_lanes_mask =3D {0, -1, 0, -1}; @@ -209,7 +210,7 @@ static inline int test_vsx_conv_##SRC_T##_vec_to_##DEST= _T##_vec( \ const int test_result =3D = \ vsx_##DEST_T##_all_eq(expected_result, actual_result); \ \ - if (unlikely(test_result =3D=3D 0)) { = \ + if (test_result =3D=3D 0) { \ fputs("FAIL: Conversion of " #SRC_T " vector to " #DEST_T \ " vector failed\n", stdout); \ fputs("Source values: ", stdout); \ --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527101; cv=none; d=zohomail.com; s=zohoarc; b=PGINSNTD7lDkj7LVUrWtTpQDp6mlhwjLgxvYQB7/VwDqPtS4gg1Yu/hqDf6ePHBxs9+QmRHwXEGOnUyYCzkBaa5rCHTztp/NrL01HoUdwRRG1H54ro1ZUDUA65wjCiN25Pg2nn+mf+93u01Tc/3Q46PAm6ZdjkLnAXpJSrAUrN0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527101; 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=1OyClSiUQGhlrq69uGLg9gfnp27Lnq50REsl/LVAYXA=; b=WdlRg6whPGqkIrSvn1uPAX/ROdMWsytj6Qa7F2ux04WnDddaDYHTfK13GXqOFckVJPrU+5Xa2CbYQvqMJzX+gEDQXv/X4pkf6vUcLi38BJTBOuA5JJT5M+SngXjjIDDcvpFpvldX9g4byQYC7nO2swoteRMUadUxdu5XqiL9Ni4= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852710184975.06582439078466; Fri, 4 Sep 2026 06:05:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaU-0006hv-3a; Fri, 04 Sep 2026 09:04:10 -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 1x2TZw-0006P7-KI for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:39 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-000376-56 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:35 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-485843aeab8so1040250f8f.1 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858791bddasm6723804f8f.0.2026.09.04.06.03.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 79FE261D4B; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527011; x=1789131811; 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=1OyClSiUQGhlrq69uGLg9gfnp27Lnq50REsl/LVAYXA=; b=wqRCQ6WUHQkwx/GSDQUCowCmHWHsvAPvNNis3jkxBjgDYG+awVmHnde696HqqCLHBP O5Ofee8ThnfEYPe4W8D1kme6mNe7IXYOqsXEv8u9S2sJ3gnD2E0FkUjR17ODzqVlQB3x bgVKnnbUwRZ95huY5szhT24GaWzCoincmwtk73RBhs2b/xbrRAxjFXs2cg8J7BluwaBy Sp6DAarT70EASQ1LwVlf+aBTjDHVLVpCugujss7kSWZoO4Tlm1KAO4oYiReFtKbA+tvc YWXORB7ILWPVb9eS2CBQZbmNhKsMmAlvI7UCa1Ypf+8yA3PFoS3DlJoMjiTdgcqSGfzl 5IKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527011; x=1789131811; 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=1OyClSiUQGhlrq69uGLg9gfnp27Lnq50REsl/LVAYXA=; b=TZgmD80mPhqhQ5P3Orcwo4bzbbVNG6bv7vY0rHbA0EkeHVfzsieJZez1rNQJ3FykwR zNtx4hDYLS3qEuVH7z6rkGm5nAjdfML6EToN7Uribx9sV87kdAe209HDlphvsvqVf5LZ 7yaft6BhOtq24uI9cmKlJX9QnDK4U+xIgFI3D7VTlFRscEjOI1xE+L2bB7+Tv4MlhW8A yzEMaEHCRr2H4x3zdsLPH5WLr2GJoqtXj9r3+gvQJd5s/825svqGIA9BwhCcx4sTUtUZ QjXqSEZgVwOD6BjCyQkEciHfV1TzlnaAM2udZWhrXfWsAIBxh2rP+J6UGbvJv303le44 LQSA== X-Gm-Message-State: AFuF++lyCy9WFAZ4SmZvUNZF82zD1w4AYu9htLOrgE8iVQ7NCIlsTD0I uhMeYdIIGpxd0cAsfpTfOCIcD7p84UJiotfDGbr+sQCRtHmDKuQbRAiu/krEILURwQE= X-Gm-Gg: AYBFou2W+2GU0BYoDesS7DyRY5olHpn5a8P+CkOna76fhzE4NkFrmCIadop5xAOoPUb /0QTLMm1rd83ClE9dnPZDdJgSv8fDAqHT4XO7LuV0wj7crkO+Og/35uXmuzye9fMw7U9rYktsrI tmLoEJzLPm2xm2jMTowPRy0LGJcmvJ9GsT2/ae/2cjAtMMceh+t44SDYADwIT4LZP6irwNmjsiP YiRLfToaYyMQPKJDrbVtK9QUFjj2cU+lE2fBtydkBVVYwfWbJQWnBCPRCWxttPEAPb4fDMcQ2gM EAXvqMNQaZSXH/MGDEYlkeKffUkqx9jLud5eiQ9WIQyyPfb4e/tnIqLdd5I/EaAAs6Wcq/+NrSe 1ucCEm2c1U23s2df/1/R2VAmGfE0j1n7Z8dDNvlDvQrtFoiLLG4i4pDhhhYcvNkauOAyS1cy1el sci5j99Y9O+ov5QSRgL4AJWqP7peBXIJxxVBAIYDpDdyCCnx7hjTuc2rfWcAKUzSe2Oms2j8k= X-Received: by 2002:a05:600c:4f89:b0:49c:f617:7cf with SMTP id 5b1f17b1804b1-49cf7f32d0amr80969675e9.0.1788527011321; Fri, 04 Sep 2026 06:03:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Chinmay Rath , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PULL 076/105] tests/tcg/ppc64: user tests Date: Fri, 4 Sep 2026 13:45:30 +0100 Message-ID: <20260904124604.2207440-77-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788527102880158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-77-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index d6406b5cb59..1d1986f5c1b 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -149,6 +149,7 @@ subdir('mips') subdir('mips64') subdir('mips64el') subdir('or1k') +subdir('ppc64') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.tar= get deleted file mode 100644 index 0d058b26006..00000000000 --- a/tests/tcg/ppc64/Makefile.target +++ /dev/null @@ -1,63 +0,0 @@ -# -*- Mode: makefile -*- -# -# ppc64 specific tweaks - -VPATH +=3D $(SRC_PATH)/tests/tcg/ppc64 - -config-cc.mak: Makefile - $(quiet-@)( \ - $(call cc-option,-mcpu=3Dpower8, CROSS_CC_HAS_CPU_POWER8); \ - $(call cc-option,-mpower10, CROSS_CC_HAS_POWER10)) 3> config-= cc.mak - --include config-cc.mak - -# multi-threaded tests are known to fail (e.g., clang-user CI job) -# See: https://gitlab.com/qemu-project/qemu/-/issues/2456 -run-signals: signals - $(call skip-test, $<, "BROKEN (flaky with clang) ") -run-plugin-signals-with-%: - $(call skip-test, $<, "BROKEN (flaky with clang) ") - -run-threadcount: threadcount - $(call skip-test, $<, "BROKEN (flaky with clang) ") -run-plugin-threadcount-with-%: - $(call skip-test, $<, "BROKEN (flaky with clang) ") - -ifneq ($(CROSS_CC_HAS_CPU_POWER8),) -PPC64_TESTS=3Dbcdsub non_signalling_xscv -endif -$(PPC64_TESTS): CFLAGS +=3D -mcpu=3Dpower8 - -ifneq ($(CROSS_CC_HAS_CPU_POWER8),) -PPC64_TESTS +=3D vsx_f2i_nan -endif -vsx_f2i_nan: CFLAGS +=3D -mcpu=3Dpower8 -I$(SRC_PATH)/include - -PPC64_TESTS +=3D mtfsf -PPC64_TESTS +=3D mffsce - -ifneq ($(CROSS_CC_HAS_POWER10),) -PPC64_TESTS +=3D byte_reverse sha512-vector vector -endif -byte_reverse: CFLAGS +=3D -mcpu=3Dpower10 -run-byte_reverse: QEMU_OPTS+=3D-cpu POWER10 - -sha512-vector: CFLAGS +=3D-mcpu=3Dpower10 -O3 -sha512-vector: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -run-sha512-vector: QEMU_OPTS+=3D-cpu POWER10 - -vector: CFLAGS +=3D -mcpu=3Dpower10 -I$(SRC_PATH)/include -run-vector: QEMU_OPTS +=3D -cpu POWER10 - -PPC64_TESTS +=3D signal_save_restore_xer -PPC64_TESTS +=3D xxspltw -PPC64_TESTS +=3D test-aes - -# ppc64 ABI uses function descriptors, and thus, QEMU can't find symbol fo= r a -# given instruction. Thus, we don't check output of mem-access plugin. -run-plugin-test-plugin-mem-access-with-libmem.so: \ - CHECK_PLUGIN_OUTPUT_COMMAND=3D - -TESTS +=3D $(PPC64_TESTS) diff --git a/tests/tcg/ppc64/meson.build b/tests/tcg/ppc64/meson.build new file mode 100644 index 00000000000..c7e495f3d34 --- /dev/null +++ b/tests/tcg/ppc64/meson.build @@ -0,0 +1,56 @@ +cc_feat_cflags =3D { + 'power8': '-mcpu=3Dpower8', + 'power10': '-mcpu=3Dpower10', +} + +tests =3D [] + +# Multi arch tests +foreach t: tcg_tests['multiarch-linux-user']['tests'] + foreach src, setup: t + # ppc64 ABI uses function descriptors, and thus, QEMU can't find symbol + # for a given instruction. Thus, skip this test. + if fs.stem(src) =3D=3D 'test-plugin-mem-access' and 'wrapper' in setup + continue + endif + tests +=3D {src: setup} + endforeach +endforeach + +tests +=3D { + '../ppc64/bcdsub.c': {'cc_feat': 'power8'}, + '../ppc64/byte_reverse.c': {'cc_feat': 'power10', 'qemu_args': ['-cpu', = 'POWER10']}, + '../ppc64/mffsce.c': {}, + '../ppc64/mtfsf.c': {}, + '../ppc64/non_signalling_xscv.c': {'cc_feat': 'power8'}, + '../ppc64/signal_save_restore_xer.c': {}, + '../ppc64/test-aes.c': {}, + '../ppc64/vector.c': {'cc_feat': 'power10', 'qemu_args': ['-cpu', 'POWER= 10']}, + '../ppc64/vsx_f2i_nan.c': {'cc_feat': 'power8'}, + '../ppc64/xxspltw.c': {}, + '../multiarch/sha512.c': { + 'exe_name': 'sha512-vector', + 'cc_feat': 'power10', + 'cflags': ['-O3'], + 'qemu_args': ['-cpu', 'POWER10'], + } +} + +# export tests for ppc64le +tcg_tests_ppc64 =3D tests + +if 'qemu-ppc64' in emulators + tcg_tests +=3D { + 'ppc64-linux-user': { + 'cc': 'powerpc64-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'ppc64', + 'gdb_arch': 'ppc64', + 'gdb_feat_version': gdb_feat_version, + 'qemu': emulators['qemu-ppc64'], + 'tests': tests, + } + } +endif diff --git a/tests/tcg/ppc64le/Makefile.target b/tests/tcg/ppc64le/Makefile= .target index daad5118a56..00a0cdba295 100644 --- a/tests/tcg/ppc64le/Makefile.target +++ b/tests/tcg/ppc64le/Makefile.target @@ -2,6 +2,6 @@ # # ppc64le specific tweaks =20 -VPATH +=3D $(SRC_PATH)/tests/tcg/ppc64le +#VPATH +=3D $(SRC_PATH)/tests/tcg/ppc64le =20 -include $(SRC_PATH)/tests/tcg/ppc64/Makefile.target +#include $(SRC_PATH)/tests/tcg/ppc64/Makefile.target --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526527; cv=none; d=zohomail.com; s=zohoarc; b=XIEkKH47KtWOJODjfpy1zyencfgGMJHNdj+CUbYl5SCaYRiOgNSzNV1aZAqgDuf0Is7wIztaRr6ulkCWOMsPB+4b7VGLOFVLrqbPYw4cCNPhAkPL72PzVmsTyoZq03589zLjCESC2KMLNak7ilprd06v3ig5Xz1zkv/EYprY3Fw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526527; 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=DclJ8L/82rg2HUxW9ZnPvniw7M8YTZBhTp/1aGM0kbo=; b=WGEu/Zun3LWldzdbRMaIvcIi73Tx3jROcBgCeNPMoW2orOKqHD++UVv6c/FPsu0nv0OU3rhwZ9taaLtv1xVc1eLMHCLX1kZGs1VM3ZQK9dj2gGFBx5hAdMt6jMcaja3y+6M92/jA0LLvXt6TLYgwKwnW1V56CJNpwt+fTHtKx28= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526527818765.878366877036; Fri, 4 Sep 2026 05:55:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQR-0001lF-20; Fri, 04 Sep 2026 08:53:47 -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 1x2TQP-0001jv-7Y for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:45 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQJ-0000is-89 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:44 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-49557167508so11145405e9.1 for ; Fri, 04 Sep 2026 05:53:38 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7740d44sm146277695e9.15.2026.09.04.05.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 91BF261D51; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526418; x=1789131218; 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=DclJ8L/82rg2HUxW9ZnPvniw7M8YTZBhTp/1aGM0kbo=; b=apv5Eh3WR3vWjbpT4O0jz5AuDoThJVO+Ky7KMIbs5TnNX5H93GvAI9ayAQI01drUwz 7PKLdGK5/tEVFgOmQHtNiy16bA1qEU4YxPZm3Rs13KQbcmyzLhx6A1IQm0fzZKzu1o1R 3z0VRrvJDXv7Ra2Q1XsKUm3Kok9XNV3GYNJsb+Ka4gRvMTJiHrVl1UtUC0ipmKOu8tnH EzClyboCuMMT33WlnkgcrFOlf8OEWZ4NS85g3GPiydBR2i3vGPQ8/W9qCvJRH5SkWbeW N9ESinS1q3LqfA8Npfuu5mdF3GeTVvxmOZnbleQ2KbuNr8X2e0zGzMuu4f5s8BjMlBL+ uV4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526418; x=1789131218; 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=DclJ8L/82rg2HUxW9ZnPvniw7M8YTZBhTp/1aGM0kbo=; b=Rl29RMyYhKjUlrCnCRnBCR/lTozeMZU9RxPw4aRo0iP7veY0Dho2rJq/JVWVTvEYMc ejaRjELjVMMM3kISru5hDiVjXTgMnxodswTnBylNzmX1npb8Ql4cVw+mI00fP0gZZoSs UwNEUnrWLCkJpcDwzAxYlxxLW+kZzXUXO14/ZO9qPYfVUj4j/Ozbum6cV2R3HAlzg/mZ 75LXq63F8U6glhUTMp+7IWhuwEYtrSAJmO/sEi7egIf++HhYmC5KK9VUSVz1po/pdDiG jS7g1JyDVp3VtgghcQftAdTS2qiwlpXNJB8FJzwSZjgFpe0W92pA+F/vI+T4el+DN9Fu ceZw== X-Gm-Message-State: AFuF++lRoymgiODM3jWonQ5N18MgLriBHVtQLbGnL2jHYOMIGWkNOn65 aaSWyTOJZqk8ozJlxdmAH9bBUBFBNwnUWiNovWHsGx5yDSDACkY3cCZM4GSm1Yesmtk= X-Gm-Gg: AYBFou2hiEztguTSdAgxxasBVymHplDDpwu6zz8/xH4rF1PvfnlYchpTCTx4fy8kn9l wYVbJFr0yWel2zL0a/lgkx5KCNlT/vgoLzWN7jpzlGwpo19Lx55MyMW2z29Y5CXfdloa3hBydAc PKwgKR7a4n32HhgNugyrGUS6s8ea7b8x9YLlIUEOKx9DseZwW0DjKV883lPS5+t+Zyp5vouSkK7 5mlwsch913OzvgfSVm6blLy0aUi2fM4vs0Fz1YW/t9l5xqZ51yWv2UnY4vOtvE+bto3CYTOrsKR Wskda10EyX1LtgkHUOw35n6fT1gYDJsl4hgmlatw+If9QFhc2atppIHtBdT3C2gTT1UBnpxmDLY MqOWlzvD3QqIkj0CblB57+SjNKMTwMqmL1dsXVt+5utJfJN0UyAZOTQ2TtrZBs0VtX871BYtvfr cRiNI9c3bwqyYvmFHS0omMfocOIepyXhyRTipCFq1JX9qdVuEP64VDvuXde06S X-Received: by 2002:a05:600c:5251:b0:49b:9205:45b3 with SMTP id 5b1f17b1804b1-49cf8256c92mr87087635e9.15.1788526417502; Fri, 04 Sep 2026 05:53:37 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Chinmay Rath , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PULL 077/105] tests/tcg/ppc64le: add missing float reference file Date: Fri, 4 Sep 2026 13:45:31 +0100 Message-ID: <20260904124604.2207440-78-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788526529834158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-78-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/ppc64le/float_convd.ref b/tests/tcg/ppc64le/float_co= nvd.ref new file mode 100644 index 00000000000..2995a767c04 --- /dev/null +++ b/tests/tcg/ppc64le/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527116; cv=none; d=zohomail.com; s=zohoarc; b=XNEiac1SMqSpMwiCWaejQkrLDzFutJ2RfoGwOWP78eaVHqxQGuhXhxs8Wm12L3qeHEa6wboD9jInfJl8oSlbtWulRl2DSohpiJ9R2l/acNKfL8sMU7ChKz95jVPwVHTXhgiOsLmU7KtaWV78pB3cuE7lZ836VTEpQin344ifW9Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527116; 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=YXlh9VlubhypZ6+F9JWHhIiwb633noMKaBRlG6n4g/E=; b=by4uf62bwuteKwTZUQNoU3xciSOvQOmyhztYGZvi4yVXoH13JjNP8mWK2cWNv/nuhYzIa0s+wJXycBJuTT1zDGOLPhMQi1MWwgstxGO27bDrmv5JH30w5RTBP00VuPR4ymYgMrutg5dLf6IJyzLHL7ukQ2yBxPfXovAM8s1d9s8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527116495202.2010643858606; Fri, 4 Sep 2026 06:05:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tan-0007H7-08; Fri, 04 Sep 2026 09:04:30 -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 1x2TaF-0006YC-Rq for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:59 -0400 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta3-0003BT-NQ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:52 -0400 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-6a61910369bso1030001a12.0 for ; Fri, 04 Sep 2026 06:03:42 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885b7bfasm6383482f8f.29.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A6E8D61D53; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527021; x=1789131821; 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=YXlh9VlubhypZ6+F9JWHhIiwb633noMKaBRlG6n4g/E=; b=ihfJoRvx4Pp3Gx7905S5Sj8wgNARKBehyUIf2uErGxWn1TgjabLeNMXbPfMpG4dets 6DV3PNzsOV9xUCMl2oWSkkNhv9fO4c18YPpCPpkzjctxaHSKRch3VOGy/w3hUL3cqpFe ear6RDQFctcbl3ucu6+BWfF7A729k5eNAgtwQUA6vO0FIyFfFL81i59ZKaEHLzLeplqw 2E9wcy4TECpyE7wZVhXRvMUED7yG/isRX4r8dwy256hhsFx1cH2CbMsVPrfsX4MELLWR 4LogHkS6E+Dtg80GuC5cexzgNX18OeRsueK+H0iLXM4mHjfMvpo5h58PMIlHaE8DM3Kt w5gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527021; x=1789131821; 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=YXlh9VlubhypZ6+F9JWHhIiwb633noMKaBRlG6n4g/E=; b=cdghIxCwqKBxqm9mQh8typ15UHlHxLOua2SOZyPUClxVI9dqEX8Oa+pqi8fvYAlXYU qaT9UoClWs+kMWScC1Zah1H8gIfUC2ySCseJs6NoEHMlLQDqLOntyO+MCl3KAxMW6wMM Da+Nd30mRN5gnMoLmRfBFy+qixBfcbq/ZwQx5aKZ9L8rsHe8Z6Ofctp8TBDFNwPc8Bsy wfUBF7RY7DCqookChjhY+i7Yh0EQRtHZQNZYoz35FC3dr4IDM1HlEkLTrIeVaRbBZyWH JZBIDkr+D9YYJQx71Zl+EFWPgznhtmzIxCzJ+GAfJjvt5CW5D/2cv4pUDpsINQD8G+kd sdbg== X-Gm-Message-State: AFuF++lMeyoc6hHvCZFMghLjESOsCYsEfKvRylW5iN/IzzeqOtnbZ2+f wzcbD8u84/xD7jEOfryFf35iakMAKx+HilltTSQjvZYIN7JiNlyMH7PzprCvR0kxZUo= X-Gm-Gg: AYBFou3RX50hN5r1S+vU0DxzTAkE3nJGBeO2Awf6A8cR6UYmTj0+8ct1MkATyG4ip1l 2RrkA+62bxUkrzuvOvOLs24IGk8+C7MB7DD0F/35BCmKhcyzQQeJynlbEVNr0ZL/ilxx8mDXQt2 g3GdvO60ELZuJJFZNlL8ZYpWqssVOcCPDPNurkHjXm0UvVALXaMYvTTShVOZbeOUy7rbujWQM2K 9aTAI/D5zS6Fie9HDyLMVOpo1pR1JVMBGu0Avb/9g1IbRbOV0E1/GLPs8Ny3+eBh+E5ys2+Uhzh Kmd+mG4DxpCElx+3rwXDABJ/z3Oma/T2VO57BfYpVrtHwDbAQ6AxqMewmrEV85fQPadjssbir9h FokwcHSZvLTW44pWc4eajGaIKMTaqexIYGI+jsqL+fsM/cPF5WbH5xrUIHB0kShZilGN/jsyuxV KapCXBV/IZ/Ch342phl+nJRrDoCDTs3raocu2fB4nbFKmbvdGYvKMcXvbVfqdP X-Received: by 2002:a05:6402:d0d:b0:6a6:1c0b:72cd with SMTP id 4fb4d7f45d1cf-6a7e8d8dcf0mr2584496a12.13.1788527019546; Fri, 04 Sep 2026 06:03:39 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Chinmay Rath , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PULL 078/105] tests/tcg/ppc64le: user tests Date: Fri, 4 Sep 2026 13:45:32 +0100 Message-ID: <20260904124604.2207440-79-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::530; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x530.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527116782158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-79-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 1d1986f5c1b..f13f0d84792 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -150,6 +150,7 @@ subdir('mips64') subdir('mips64el') subdir('or1k') subdir('ppc64') +subdir('ppc64le') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/ppc64le/Makefile.target b/tests/tcg/ppc64le/Makefile= .target deleted file mode 100644 index 00a0cdba295..00000000000 --- a/tests/tcg/ppc64le/Makefile.target +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile -*- -# -# ppc64le specific tweaks - -#VPATH +=3D $(SRC_PATH)/tests/tcg/ppc64le - -#include $(SRC_PATH)/tests/tcg/ppc64/Makefile.target diff --git a/tests/tcg/ppc64le/meson.build b/tests/tcg/ppc64le/meson.build new file mode 100644 index 00000000000..720aa167f23 --- /dev/null +++ b/tests/tcg/ppc64le/meson.build @@ -0,0 +1,14 @@ +if 'qemu-ppc64le' in emulators + tcg_tests +=3D { + 'ppc64le-linux-user': { + 'cc': 'powerpc64le-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'ppc64le', + 'gdb_arch': 'ppc64le', + 'qemu': emulators['qemu-ppc64le'], + 'tests': tcg_tests_ppc64, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527140; cv=none; d=zohomail.com; s=zohoarc; b=WBOmYvmNJKBKN1hW4XZHw8/Am0OdLJScAeKxlbTyLH3Nr0e6OSoeGAIPp8sep2ezEFzJ20bGgOdBews+lbvV4t+Snd640acFaYz0typN9VposqT24+zHssP+yaDObvXXJh11LZaO11XBN7jtx0YqTR3wp7cck4an1uNaOEBu3hA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527140; 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=zPMxjzDN4g+c5kQdafTzfYrxvRVgIxzGWxlL35H/8DI=; b=T6DH08I3cCTINFvLQ4g/Wlhqv90zUrIgAUfw+3m+ze8ShuX6VWzTmhO1P8jjIEMC0aAUkAVc8ujWtQv79XQhoGNPywKN3IvQQDcC85moebtSmy1U2/bgS4aofAL++XxCrdtEQP6P+3x3nzeGSkL38uAF9xMbR4cqiSskIE8LBDM= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527140718428.78911029598; Fri, 4 Sep 2026 06:05:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaX-0006nt-2K; Fri, 04 Sep 2026 09:04:13 -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 1x2Ta2-0006Q5-Py for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:45 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZv-00037t-3S for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:41 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-4858be8b509so265907f8f.0 for ; Fri, 04 Sep 2026 06:03:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48588394fa1sm6279532f8f.8.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C5F9761D55; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527013; x=1789131813; 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=zPMxjzDN4g+c5kQdafTzfYrxvRVgIxzGWxlL35H/8DI=; b=EkMP9tKg+BrYOs93HyF1IgtZAan9HmzrI3dfXklxhFJpSacyu7bEDiPhaVqZ8N0qp9 ejsBUQf3FQo9RLTxt3WEQLhvi2YSiT/t4Ul58FMgknGlceqZ6uMh/MbXwNf9hfP2oT+Z LGpdUJtKMCDjcGcOD9ah0GiAylGr9pb8tO5bQwUpJhJMymENZr//z9YmQaH49YnlJkBh A6InJ04ag6AZ46V10n2UXYEwBSz1eXhEU7Wf2Ueg2Im5HKQXtRoqZTNE40eiuyQEboWQ GGDdySFo72sq4KE8ucmxykPCnQYoBuX6DR8B5HHueFPp9XqBpWnjVaxvMAqDRUX5A0nL JYLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527013; x=1789131813; 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=zPMxjzDN4g+c5kQdafTzfYrxvRVgIxzGWxlL35H/8DI=; b=XT29InQucn7EeqVgeh1JoIgfZaSlX+K2QJoVO/V1ltJPv9yq8GlGjvDpplPU9RUMck OpBdh97XpHSlfC9yOw/kNd71yw8mbZTWYDEKmJeOIS15v2WSqhxI7SzVhZJfEHhlB+Wr VPlX9zGHB04Z7Uf8t1WRVomg/X3Z0HmIcaH7V4ElB6+Wq7dK53HAV0xKuLevYuYIDByb s4104SHyJELKWiiJtZPMriGb2EU+ZzOF4j5/a8Zg4gU7T4oUtyg2shFYk9IWvvSho1Bd 1Mn8NX5nAybrpUbQOQgFIBAUCz2ny8xvim+XZFKCoGrMlfUegPyP0iIdnoxw4lFKHQG/ NDjg== X-Gm-Message-State: AFuF++l1IniV6EYMCnbJW3ecHqhEdy0ywvt7P756qUlYXij9i0oZJkxf IrqxkxUZuxFpua73naWabsg+xAwCXVP00JhbLBNzTOG4gN1YP7KgnjZjJeqDYjBE4QE= X-Gm-Gg: AYBFou0dgXkmeq2lcZSLST/JLnWYWcRybYwZOGQ8KzKgXZ7UyuLdFU7o8xDH9YvPELE IHZ5F2nUO57raAPWL1J/MMy5Cs0AnXE6XFTK9RmcvekG09JKZpIONCzumdwq+ZYiATv//cwsFrN xkC2CZ+cjGL4SJl1HK4Yt9+kaFEYn0TQp7HxEj5K0RCqSyGUawb8pO7dW98ItKlMG2bjyMsaUMD 0kR4jmgUhuwCt0IB19LOnw2QpUhUsA2JAUp2r+8usu5u+UoywuBOLet4DeOYQJxvUeG93w2ACYD +dVkgBQrJ7PB7InZFIhWMoItOp/1y0oNPVI2uuC0vdOLW+8kD91af5pGGLNJfSUIab3lPTzwyNP 1D0GkBQjeJy3R7RGP7eiLkOCuFYN1kqTh3jyfdr/tZdSwaC5DfoZT6T9ZJ65VGzR2HKBJBxodpq DPfYToxk8+ZRvHOhovzbcSmc1AdnBb+wnR0cDWgQ8IZECY+frH6Q8Z4rX83H17GORnL7clMLPOm IRAzcS4FHGc X-Received: by 2002:a05:6000:644:b0:485:847f:fd89 with SMTP id ffacd0b85a97d-485870506d0mr8600117f8f.9.1788527012326; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs) Subject: [PULL 079/105] tests/tcg/riscv64: add float reference files Date: Fri, 4 Sep 2026 13:45:33 +0100 Message-ID: <20260904124604.2207440-80-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527143328158501 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-80-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/riscv64/float_convd.ref b/tests/tcg/riscv64/float_co= nvd.ref new file mode 100644 index 00000000000..d045f27ce21 --- /dev/null +++ b/tests/tcg/riscv64/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) diff --git a/tests/tcg/riscv64/float_convs.ref b/tests/tcg/riscv64/float_co= nvs.ref new file mode 100644 index 00000000000..385bcccfca9 --- /dev/null +++ b/tests/tcg/riscv64/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding upwards +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding downwards +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +### Rounding to zero +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff8000000000000) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372036854775807 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) diff --git a/tests/tcg/riscv64/float_madds.ref b/tests/tcg/riscv64/float_ma= dds.ref new file mode 100644 index 00000000000..5fe00031203 --- /dev/null +++ b/tests/tcg/riscv64/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527155; cv=none; d=zohomail.com; s=zohoarc; b=KDsJbOpQ/2uqoctnXbrGUZsrz12ZcpzRCiejttb02+OtRp9RoMVmX1Xyk3AZItq2S0eYtuL6Y/a4BmunEUpfYhPN1Bjt53+QWD8+9kaI3VybSyIULGM0a9LZga5eWkeg6jsVNBiVud4ERxmiCn9SDJN3dA1cDC6dpMiFwCNUuuc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527155; 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=+hFNbY683+aKu5INm/nevVq53hBRivg5hbWYiM/SJ/U=; b=Hc0lJ7LvB8FA0qe/66CuozWHIPhgLQxKdvggfyqgnke8RGbNqzHzuBll4hRVhnPjnRCVbz8P7vZf9NuC7yti/mcGEVM3fgpLUdly+EwwdVzmHL80UHU//Eo2dKGlQGyJH+0rOwYoIpp0/E0WWt/4zHTANlHX5TLVfP7VSdC+qRo= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527155012587.5862754406808; Fri, 4 Sep 2026 06:05:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Taz-00085v-53; Fri, 04 Sep 2026 09:04: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 1x2TaF-0006YO-TJ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:04:01 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Ta3-00039o-44 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:55 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4995b0343c1so12967585e9.3 for ; Fri, 04 Sep 2026 06:03:38 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5563c6csm161486995e9.4.2026.09.04.06.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:37 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E15F261D56; Fri, 04 Sep 2026 13:46:12 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527017; x=1789131817; 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=+hFNbY683+aKu5INm/nevVq53hBRivg5hbWYiM/SJ/U=; b=o+QWBW4LpVMKqyPTLaHNO9kWuFED5Hr31c5ilBdyvAc/ONSLWeeCYBOGzQuNJio09c VVbk0/nsitH41sRGAZD3TiuJ7MmkiIfhtD1XTYQhwcwcU7A6vYszAPgT6OLQ9a64sk6P ss70APgl0ib/vxktXF6Pi1Rkiw4d6xgS4NvfNtl2gtzoszbLrw2YmJ0t6HPOYl8oz5nt sY4mt7IpdBCb2ijgFdJGoAUsZRvf2AuWZycNfuVKEgKwvMhbx+BRs+eWRso4R+2uiVyj jtD5aww8pAR/JQM2CGPxtmSFr14GswpSrKgxY0WV3Z1oNU2eLm/pZS1plKA6ezM2qxEy KNXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527017; x=1789131817; 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=+hFNbY683+aKu5INm/nevVq53hBRivg5hbWYiM/SJ/U=; b=MI+7lxbm7tw/WwRXERl5eAaipugYxY5KdetNFqNX0D+61GUzzvUjVDY14M0tC/d099 xT1bPKzPAShsO6i0/3/PYQyD5nyjFIQhD9puWWXpheaBu68uPOHflzqc4a1tSwspF1hX /8hVkEaJBC76BPuaYXiYgY3UtvKlpzyq6EAAwYcWRXYv5hYQBUkYaWfOgBd12CeVhyMC 7iI5ZJei8Tr+J+DgTj3OExM1MFPY8IgGZqpH634UMzL3Ebtbd0m3GDdhoqbEWkWgIVLr 5jFgFEe3qxR1xJimoXyAKr7MIQ8DzKGbXUQqACBewauJh/crVxAPfWgxt17+gl6oGL1B Iuhw== X-Gm-Message-State: AFuF++ldNfGGXr/NyzfPPvijkwKuoklJObCYJdXbV6g57+QUeJamcaY7 eqm6QAQ5t0PXU9WB6pI3d+80u/yQgl3YyYaP5G0pJrnckrtj+vkXzSrTnbx+Tfu+XYc= X-Gm-Gg: AYBFou20jIEx57OHV1HwB5JAiDiMTlHmNw4BAnBCA//fcUJvyQWWpPZ4CeRC6FBJnPG wQJJ89L6EjPuSrHAd5obhm4TsA0lrta3CiXRpGSnrCuVE9WhMaUOjdHbFzRxYeoOttNvBX51/q5 uhxJdJJ+K8n46l546uvRW+ST5Vz9HJTpcF96GXW9hJhE+Uk0/BeG4uPvZNaImySoZW6+LwE91F6 MGAmAe4Nahq+nRvcCG56FTBRWYtXJ2/wOAGvagOrzD01Od1n+7/LGHR/I7faGhkpEZN7P/ejsp0 NPzLlj2Vb9cPIziPZuvc+qExseFNgrZiSuyFFsCDMX7eAR5tp+993mEFd1Mn8ZrsZt1X7G76Jtk 8/mpKsJddYLNsi9b49w98ESp/t9KZMO017jexObIanxNgHCb2YNNrjlCyzVSUty7ekesefpeBWI JRL+f0oTqtd7aJdQ8g0BysMrZL7Sqm0vBHiQqKv1WXzNZszcjlBk9a3fwyUSeg X-Received: by 2002:a05:600c:310e:b0:49c:fa21:1c84 with SMTP id 5b1f17b1804b1-49cfa211ce7mr40051485e9.25.1788527017203; Fri, 04 Sep 2026 06:03:37 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs) Subject: [PULL 080/105] tests/tcg/riscv64: user tests Date: Fri, 4 Sep 2026 13:45:34 +0100 Message-ID: <20260904124604.2207440-81-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788527157004158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-81-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index f13f0d84792..1a48b37f75c 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -151,6 +151,7 @@ subdir('mips64el') subdir('or1k') subdir('ppc64') subdir('ppc64le') +subdir('riscv64') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/riscv64/Makefile.target b/tests/tcg/riscv64/Makefile= .target deleted file mode 100644 index 4da5b9a3b32..00000000000 --- a/tests/tcg/riscv64/Makefile.target +++ /dev/null @@ -1,20 +0,0 @@ -# -*- Mode: makefile -*- -# RISC-V specific tweaks - -VPATH +=3D $(SRC_PATH)/tests/tcg/riscv64 -TESTS +=3D test-div -TESTS +=3D noexec - -# Disable compressed instructions for test-noc -TESTS +=3D test-noc -test-noc: LDFLAGS =3D -nostdlib -static -run-test-noc: QEMU_OPTS +=3D -cpu rv64,c=3Dfalse - -TESTS +=3D test-aes -run-test-aes: QEMU_OPTS +=3D -cpu rv64,zk=3Don - -# Test for fcvtmod -TESTS +=3D test-fcvtmod -test-fcvtmod: CFLAGS +=3D -march=3Drv64imafdc -test-fcvtmod: LDFLAGS +=3D -static -run-test-fcvtmod: QEMU_OPTS +=3D -cpu rv64,d=3Dtrue,zfa=3Dtrue diff --git a/tests/tcg/riscv64/meson.build b/tests/tcg/riscv64/meson.build new file mode 100644 index 00000000000..b5f574c1377 --- /dev/null +++ b/tests/tcg/riscv64/meson.build @@ -0,0 +1,36 @@ +cc =3D 'riscv64-linux-gnu-gcc' +cc_dockerfile =3D 'debian-all-test-cross' +cc_docker_host_arch =3D ['aarch64', 'x86_64'] + +tests =3D [] + +# Multi arch tests +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'noexec.c': {}, + 'test-aes.c': {'qemu_args': ['-cpu', 'rv64,zk=3Don']}, + 'test-div.c': {}, + 'test-fcvtmod.c': { + 'cflags': ['-march=3Drv64imafdc'], + 'qemu_args': ['-cpu', 'rv64,d=3Dtrue,zfa=3Dtrue'], + }, + 'test-noc.S': { + 'cflags': ['-nostdlib'], + 'qemu_args': ['-cpu', 'rv64,c=3Dfalse'], + }, +} + +if 'qemu-riscv64' in emulators + tcg_tests +=3D { + 'riscv64-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'riscv64', + 'gdb_arch': 'riscv64', + 'qemu': emulators['qemu-riscv64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527098; cv=none; d=zohomail.com; s=zohoarc; b=gxRksx9X5/gGCwJcDZFNQ6bQErccOhsiHxPr8w/PYvsQwoyq3m7Gmrstq/ViWe+9jzd4S+6YCVDABfZmul0fRzXTQaa9GiclqExcA7Kz7SLtUvb+xXVWFNq0zrHGwvSmDVd/pf3eBho21kp+8xDpCh9OHB8iec8YhOVyhlMrh/o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527098; 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=ZNYQBkS0hVqwg3KO7xo8pHxpdKpIrSQL4tao4qR/MKw=; b=GsC08gZXnkBTjGgRVzkgqmFikMRnSpQ3B5Jwm96zotDPX+LRdSewKW66vs+hIDQLztlVQYzQQM32QYve8wOtwPhKvNF1qiXEpyyyQabWmsorsGpKR+czny+83hP/eVlhU+GXPAIb7DmAsAVg5nxIvRRFAzy0BN72vcv68zzzkvU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527098584925.9136549356052; Fri, 4 Sep 2026 06:04:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Ta6-0006RH-Ez; Fri, 04 Sep 2026 09:03:46 -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 1x2TZo-0006KE-4Z for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:28 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZm-00033b-8u for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:27 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-49b392ccaacso15446015e9.2 for ; Fri, 04 Sep 2026 06:03:25 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7739b7asm65232045e9.13.2026.09.04.06.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 04A8761377; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527004; x=1789131804; 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=ZNYQBkS0hVqwg3KO7xo8pHxpdKpIrSQL4tao4qR/MKw=; b=QiGUYZfbowkNNv3XRaiMrXABgoqdLhqwg80rc47Kb6+u7xhfLFBXUa5YCcU10LxeIn 56vJNjdNwHdEZ3I38wGAvganrpbISYTQD9CoH11f9y/ZXm4Kr5ClUK2uv1JaqbxcKH+D A33vQNlABIB/HxgqJTMUdlTuFuIYceUzUh1Deq+DZlxlyjEh0FrOSUbzyNgF9Dq0IlKa BS8NMrahw6uEsHsPcdC0Z0jF2S0YHsOfcG2oVOMqBN1RbOIctCQ+ws1vnK0INJu4iFds uYZzUTmfsR8tY3IsHHu62I8oUVmMkAXbsDYQWPPgFo1MDy5lL/yfedmYdYTZLktrSID7 8n5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527004; x=1789131804; 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=ZNYQBkS0hVqwg3KO7xo8pHxpdKpIrSQL4tao4qR/MKw=; b=qMGy2WzWR7sj8lOo8PW7N5qwaRlwKSkZOm6a1bm/a2UqUajLUJO1TVH4CIEatDihMG ed9/Z5Cj6+Onv9OD0Q9HxXmbyVOKIXmrciW5zCOQMDZNuMwyPhSQ0ILhtW7o0B5IvT1a LTJfZNFcx3T1HpU1pv46dEzsBlZfGbw/QzfWf3YHGwZQMsZSJgRN2KGBgVJLoBaYwqha 8tiXOw+tmhKWkwOIuaqWmYDZOh6OVeZ8cGJGa6vo91IsC+1grzJDfYH26vMD6JQSIpxk DOHnuUVVfUgpKdLn63cGO8lgKeTZ81SsUIh+SrgofF5cGYmau85Jd9zgv09EIxsMz9EQ 0SFg== X-Gm-Message-State: AFuF++neim42htZvUzdJFN61YV3Pn6Rny2/aD85EbfB+9FsKmVODB4Yi yjyARUxc0hqHRSPqRjvFnRGDNFy1g+28JSRqEywLwhLycnKTTXqcc+tSlip2zpslwcs= X-Gm-Gg: AYBFou21sIZvqsGwEw3hqJEke4ZPBId4xzC2QwrB3yCO9YeFr+TFanTnimLQJuq7lHB 8fbSEf4/WsyVxyA8cusLpsBu+4DXntipbW0U0F9h8SRDQFt3GXoWGMHpuWMUL6Itx4xqMSzwIYR V+7/eJI2kOjeb1lZl+l0ZRPWJSu6wKWSdjAQXvGHBQWE74cJdCN5u3xu73uBjw8o6H3g4psqxRu Ypn9zhcB3Bat4jbfH/W6LKWr67wD2vMA77FC7vle9Z8I331Sy9uub83/P/ZvrWkauDfHTaRcTK1 jnhDtksCgGHgh9FsjGtlXj37W+Pzh78ivEzOAZ9VxrG+thhfh+xe7xGwjQp43bfsvA/wTVcHCiw qoCxHpgM7E/mWbCpBHgEMp6uQi22mEcUu+srEjysd/TazGuxeWeoJHr1BeD7Cx1zEa9ND5+Imga 9AM8htk7HZUrPMnXbUAfEaLps3BTTjrYR7MY4UsC8LF8l6KriNlJTbc3IzxNIGy91PPa3k7TQ= X-Received: by 2002:a05:600c:4f0c:b0:49b:924e:9a28 with SMTP id 5b1f17b1804b1-49cf8207110mr66434355e9.1.1788527004345; Fri, 04 Sep 2026 06:03:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs) Subject: [PULL 081/105] tests/tcg/riscv64: system tests Date: Fri, 4 Sep 2026 13:45:35 +0100 Message-ID: <20260904124604.2207440-82-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::334; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x334.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527101198158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-82-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/riscv64/meson.build b/tests/tcg/riscv64/meson.build index b5f574c1377..2292bf8ed1b 100644 --- a/tests/tcg/riscv64/meson.build +++ b/tests/tcg/riscv64/meson.build @@ -2,6 +2,8 @@ cc =3D 'riscv64-linux-gnu-gcc' cc_dockerfile =3D 'debian-all-test-cross' cc_docker_host_arch =3D ['aarch64', 'x86_64'] =20 +subdir('system') + tests =3D [] =20 # Multi arch tests diff --git a/tests/tcg/riscv64/system/meson.build b/tests/tcg/riscv64/syste= m/meson.build new file mode 100644 index 00000000000..80b4fdb91e4 --- /dev/null +++ b/tests/tcg/riscv64/system/meson.build @@ -0,0 +1,55 @@ +tests =3D [] + +# Multi arch tests are not supported +# tests +=3D tcg_tests['multiarch-softmmu']['tests'] + +link_script =3D files('../semihost.ld')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-Wl,-T', link_script] +qemu_args =3D ['-M', 'virt', + '-display', 'none', + '-serial', 'stdio', + '-semihosting', + '-bios'] + +setup =3D {'cflags': cflags, 'qemu_args': qemu_args} + +tests +=3D { + 'doubletrap.S': setup + {'plugin_test': {'plugin': 'discons'}}, + 'interruptedmemory.S': setup + {'plugin_test': {'plugin': 'discons'}}, + 'issue1060.S': setup, + 'test-mepc-masking.S': setup, + 'test-crc32.S': setup + {'qemu_args': ['-cpu', 'rv64,xlrbr=3Dtrue', qemu= _args]}, + 'test-minstret-ecall.S': setup + {'qemu_args': ['-icount', 'shift=3D1', = qemu_args]}, + 'test-misa-w.S': setup + {'qemu_args': ['-cpu', 'rv64,x-misa-w=3Dtrue,c= =3Dtrue,v=3Dtrue', qemu_args]}, +} + +tests +=3D { + 'test-zicclsm.S': { + 'cflags': cflags + ['-march=3Drv64gcv_zfh'], + 'qemu_args': ['-cpu', 'rv64,v=3Dtrue,zfh=3Dtrue,zicclsm=3Dtrue', qemu_= args], + } +} +tests +=3D { + 'test-zicclsm.S': { + 'exe_name': 'test-zicclsm-off', + 'cflags': cflags + ['-march=3Drv64gcv_zfh', '-DZICCLSM_DISABLED'], + 'qemu_args': ['-cpu', 'rv64,v=3Dtrue,zfh=3Dtrue,zicclsm=3Dfalse', qemu= _args], + } +} + +if 'qemu-system-riscv64' in emulators + tcg_tests +=3D { + 'riscv64-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'riscv64', + 'gdb_arch': 'riscv64', + 'qemu': emulators['qemu-system-riscv64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526513; cv=none; d=zohomail.com; s=zohoarc; b=CAv3+UWoqNLUG/P7YcGKJBhtVE2W3GCCCACa2K0+bdznyual5JNCl2ZhDzz5nfcj2lJB4m+lmpjDjq//3XjzQ9rriKatopWFf5PwUHoQvPWv8g8SFV5p/jmYLsdJa4QhDiXDqVaPyha9+hBkrOgnvl30EsKrs6T5U+S5Qm90Q+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526513; 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=gO810BRB2c4AHIUTMhtMi2JLuKUFaJ3pQjqUbrBLEto=; b=T1W94iHx+RLU+ha5Pyj0o8i8s1m2Z0SKz87blkf9LaueEA0Zos6fo8jXqcUJtMZwfo0lk+06fiouDcHA4bSKQFqVmsqupf7exd8LyI6LFsvEFOWgoeIy37vKd/mTQvmi247JM2AQe3zd6HrTHtZ9/uBYtWkZ2tgm7qRleU3omlk= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526513901442.05332585529004; Fri, 4 Sep 2026 05:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQI-0001eh-6u; Fri, 04 Sep 2026 08:53:38 -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 1x2TQF-0001d1-V1 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:35 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQD-0000gW-8K for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:35 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-4843e9c5960so984704f8f.0 for ; Fri, 04 Sep 2026 05:53:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce58da3acsm399360135e9.0.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 1AD7161D5E; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526412; x=1789131212; 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=gO810BRB2c4AHIUTMhtMi2JLuKUFaJ3pQjqUbrBLEto=; b=AdJgdsO9LAUeRojAgF099PbKYB6SkulWUXhQekszRe33ep2QjZVE8j0pCU+09Qrrv1 oY9VoOghZ1OX9EMntkU56ERCkQuB6mamfp7a7wNliznVfIkM/2kYa3+YTNIOp7eX6F3H gHMU84JKnTvdNBSwe3H5uTAfFurAIp2pSTd1PLvMDeZyKIXj902D+n8psA1+2JVJBuOa HOIEJUo+xSJYbFR6vp7muslOb6F8ER9aAN+zcSYa2PHM94se2IkypiEwCvKajlFDVziY WwP9xL9Svidy70bBDWpTnbeDg3iQOsKN6Ujyywh8B7bP5yxc3qeg3WAoivdt+ygVXM48 o8og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526412; x=1789131212; 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=gO810BRB2c4AHIUTMhtMi2JLuKUFaJ3pQjqUbrBLEto=; b=XFz4iESlts82v/epApiBwnHbgYE1oeJf5xuj5GuOds1TeWR11gKNfffON7wC18PsRm 6YyYk+6La8f7Y0qx87jZK1XVf0F8lMQjCM+fzOqM+m252h5s3SxczLXf9/URZuR3hyQL cPkEDjKn6H2btbLgOrqVmkGD+PT6D2XwpzT3iMNArW0Mwj6rI5qHFiiFaXQciON+87Wn CClyM6CeGjc2c90lyS8i8+yMH+Vja8j53kaGJter3QvsWHwi0Wc0Xw/IgO6WWuYbSgAh LumvDqskOdna5UxtmC+/bp/D2QZ+Ha9Da4fjDTJ4iHmUPJ5H473m3j3/+KbIsrEbeBGD IjZg== X-Gm-Message-State: AFuF++mngejMEm8gHTQNXhV/D9Klu9sFHDDTL0jbwD7qj7umM0Ls/GC6 Ueaa6rr2Yca5UuqJd6ZQfiOLZQVYzgKc+YWn176AU/FSzudFZPjgf5LuMMGq8ztJDes= X-Gm-Gg: AYBFou3lUeyC7zub63HFXMZF/W5Fo5P5ax9iVjP247ppfklQS1G/EWfnr5pFbQPh94+ Z9kZ59ZPLT5WNt9ezqNQSW/XIkzvaLneEqlp8P6KYmHraxq+ybR9tH7ZYt6URzvLtFD+9n5YGju /FBjvxKUGAoyEwq6y20qAbo0P7pA35FSeZxpNf7in98udp6yHSv5NOpZpoBiiuUq3Aqt1fcnpB1 Yba+lhPHVcgubuoXgc4K5ajLAQutmf2t0vun47rb0NF4dxSVUV3W6qyIWbiXakm0e80VL59qzba QLAvAf/FuzzHgoKrJt/14uC7PypMLxSO3258XPKtiIHbn+aVb1rMMLnfVgMlxUuCoUPN0qzi9Bc o+g8tIfkTwZfvVSrpotKAZyzcoFlRgoFT4nWgyjkDV3bZK09AX9QXWT4T3Dq8d1Sp8+V5nuZWH6 CB/QiNwW/OIuV1ZwcrktIENz3Gp+Td60vTur4ZueGOJykmTOHSDDZtVUmjBKOf X-Received: by 2002:a05:600c:19d1:b0:49c:fc6e:8cbb with SMTP id 5b1f17b1804b1-49cfc6e8e05mr35181575e9.31.1788526411857; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Richard Henderson , Ilya Leoshkevich , David Hildenbrand , Cornelia Huck , Eric Farman , Matthew Rosato , qemu-s390x@nongnu.org (open list:S390 TCG CPUs) Subject: [PULL 082/105] tests/tcg/s390x/head64.S: declare _exit symbol after main Date: Fri, 4 Sep 2026 13:45:36 +0100 Message-ID: <20260904124604.2207440-83-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526515738158500 From: Pierrick Bouvier tests/tcg/multiarch/gdbstub/registers.py expects to find this symbol to compare state of registers before and after execution. Define it explicitly. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-83-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/s390x/head64.S b/tests/tcg/s390x/head64.S index 4fe288388ab..0523fcacb33 100644 --- a/tests/tcg/s390x/head64.S +++ b/tests/tcg/s390x/head64.S @@ -14,6 +14,8 @@ main_pre: aghi %r15,-160 /* reserve stack for C code */ brasl %r14,sclp_setup brasl %r14,main +.global _exit +_exit: larl %r1,success_psw /* check main() return code */ ltgr %r2,%r2 je 0f --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526546; cv=none; d=zohomail.com; s=zohoarc; b=DFAfANXBw+U5gudcIEOxvCrAvf7aheG3LYJVdOMho+hnOrPbujXLtw0bJn3U8ICMBQGfQBhbEJkZWMVDv9wihowELEAB94m3bQezXkLrE0+RI9qVM6K+Dq3u/HEK+MKkXOXKACUQMY6hWhSMAtHVe+CMKy2NcTy3L1oocyK5jMk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526546; 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=ylIChAYXO4tYFXEs1EWp7q0/DPA9otQAL3JGM6x7bDc=; b=GruAd2xwC/BKhEvXkjknEEiVLU8HElXlssmH7DSx0JMrhHpiEmTr1Ut1C6tiNdQGTFRpf1cJFBR1hCkytyWYlLG5ONGt1VoJBx1NavZOjGe1sRWxIvWM2lTvEIVr9tUwDcrK+J4C713JiCyyhbCtxwb6jc0wVyC6GjsDr1SqaZM= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526546390762.8195605921336; Fri, 4 Sep 2026 05:55:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQL-0001hE-DE; Fri, 04 Sep 2026 08:53: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 1x2TQJ-0001gD-VI for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:39 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQD-0000gf-T3 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:39 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-49556f97a9dso8385225e9.1 for ; Fri, 04 Sep 2026 05:53:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5927b68sm197042995e9.1.2026.09.04.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3D25C61D61; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526412; x=1789131212; 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=ylIChAYXO4tYFXEs1EWp7q0/DPA9otQAL3JGM6x7bDc=; b=aZP0Zml3CPBvmZu2vwoO2G8Y31BTaSek0njDeq2Kz1CoF0/IKoJypG3lcb+8fwBc6w YFKe6mkusu+riWVHyiyLKUUuAhMlBqt7BIF6IZbCwpa8NWXcz0VyEefO405xTJKJ3YkP g9KN0P0OQCoixi64sx9OWYJOVFzmRa7EYkF4tnF3/Uez6RD4pEvTZ5mTMmGFUqJ7g9LL Bz/XQ/sexv8J8YZIiGp7pzV34iRPeaHZtGZN5L079AO3G2s+hP9JHOvAtHYANNeJ3iaO 7eBxGZrYPeAR+xZCxXTv+wwn2nkn3hGsAn/MmM6Nu/WYEBAD+cLuGQdEPoLtUS6dKODa bzdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526412; x=1789131212; 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=ylIChAYXO4tYFXEs1EWp7q0/DPA9otQAL3JGM6x7bDc=; b=dj43CvRzEI7HcP5cxMFt1evY4EnFVNE6ewvAUngQM9hg3m3cw9cH86a261DDnsF3e8 Suz7tU0xnyZioydl8KDq9+o7iF/n2lfVX2KWsDo60vhKT6FrBq+Kv295lB4yrvPf+th6 2RNT6Qg0MtVq7mhnRVUjJAliUukzh3Zgd01vDoEw48mpss55DXuAWfTlpV5nPX3/q71W 0AUaEufObyI5s0OuSENcSVFFqVZJUrSJ8cqAWzkM/dCgJDN/aReeLYSrPOl1zoEvoERD WuWUnYPcImJMl6Lx8g7NzOHv8/A25zATDEnDyz9h73QAmV6GK7t/eczplYiBxxBEfsHj uiLg== X-Gm-Message-State: AFuF++kklNs4/FF0bBbPbnOxQyF0SPFF49PW2g8B6Ely436FaTxrEV+i tWpGdPOy8UjBk12SLMB9ewKFni8AKwEfRMdYGTjm5CcpZPK7lP/jfbAK2kVeGSLtxVE= X-Gm-Gg: AYBFou18sZnz5JNdr1RT9w9GJJkmmK56DMQODVie9e2LJxh/jaSKnQvF5oLvdOs+/FA sn+cthzSq/bS7inmQp91Ww+HTojLSXsVQ+Xz//bEWg9dtB5krGynFlLhErN1jwJrwTOahJtWBrS ayxEhv1a+5xfmqkHp5zJtStN/eFcPlhZQMgMdaK+pa5jPDHjPZ7uaNg9GDSIuWDr6K21oPTuTkN 7jJpCWrUWHMpVihaFgc7QBc3wg+FL1hGYEUL6/MIerscrM7F49ReWQbLiPl69xaI5SVppo7asy8 X/XZOWYnYBuJbtW1OhH2ZdCKQsiEqrctXxX3CtONCWAJ4wV/cnk0T6B3GaskToMLvn+fJIMp07x oUWXRW7ZftqkkQs7Uz6HGYk9yHD+eEbOR+s8934G/eVHCc6/WvAE1/AyuNS5DtgtmanUlhNBj2r kgJ3zslLmAv/TQPBpqN7gOdwF8jRkYJRyjIqhxXrfoz+Cp6WB2wAb3VFdmjrLh X-Received: by 2002:a05:600c:620e:b0:49c:fa21:e746 with SMTP id 5b1f17b1804b1-49cfa21e8d6mr36009035e9.28.1788526411863; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Ilya Leoshkevich , Aniket Sahu , Richard Henderson , David Hildenbrand , Cornelia Huck , Eric Farman , Matthew Rosato , qemu-s390x@nongnu.org (open list:S390 TCG CPUs) Subject: [PULL 083/105] tests/tcg/s390x: add float reference files Date: Fri, 4 Sep 2026 13:45:37 +0100 Message-ID: <20260904124604.2207440-84-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526547987158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Reviewed-by: Ilya Leoshkevich Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-84-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/s390x/float_convd.ref b/tests/tcg/s390x/float_convd.= ref new file mode 100644 index 00000000000..3b902296a79 --- /dev/null +++ b/tests/tcg/s390x/float_convd.ref @@ -0,0 +1,988 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding upwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000200000000000000p-25:0x33000001) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe800000000000000p-25:0x337ffff4) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801c00000000000000p-15:0x387fc00e) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000e00000000000000p-14:0x38800007) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x1.00000000000000000000p-149:0x00000001) (UNDERFLOW INEX= ACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0aa00000000000000p+1:0x402df855) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding downwards +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x1.00000000000000000000p-149:0x80000001) (UNDERFLOW INE= XACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(-nan:0xffc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (OK) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (OK) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (OK) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fc00000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fc00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fe00000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) diff --git a/tests/tcg/s390x/float_convs.ref b/tests/tcg/s390x/float_convs.= ref new file mode 100644 index 00000000000..17b20e06b5c --- /dev/null +++ b/tests/tcg/s390x/float_convs.ref @@ -0,0 +1,748 @@ +### Rounding to nearest +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding upwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding downwards +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +### Rounding to zero +from single: f32(-nan:0xffa00000) + to double: f64(-nan:0x00fffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-nan:0xffc00000) + to double: f64(-nan:0x00fff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INEXACT INVALID) + to int64: -9223372036854775808 (INEXACT INVALID) + to uint32: 0 (INEXACT INVALID) + to uint64: 0 (INEXACT INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (OK) + to uint32: 1 (OK) + to uint64: 1 (OK) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (OK) + to uint32: 2 (OK) + to uint64: 2 (OK) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (OK) + to uint32: 65503 (OK) + to uint64: 65503 (OK) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (OK) + to uint32: 65504 (OK) + to uint64: 65504 (OK) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (OK) + to uint32: 65505 (OK) + to uint64: 65505 (OK) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (OK) + to uint32: 131007 (OK) + to uint64: 131007 (OK) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (OK) + to uint32: 131008 (OK) + to uint64: 131008 (OK) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (OK) + to uint32: 131009 (OK) + to uint64: 131009 (OK) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INEXACT INVALID) + to int64: 9223372036854775807 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff8000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ffc000000000000) (INVALID) + to int32: -2147483648 (INVALID) + to int64: -9223372036854775808 (INVALID) + to uint32: 0 (INVALID) + to uint64: 0 (INVALID) diff --git a/tests/tcg/s390x/float_madds.ref b/tests/tcg/s390x/float_madds.= ref new file mode 100644 index 00000000000..451cbec624d --- /dev/null +++ b/tests/tcg/s390x/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526524; cv=none; d=zohomail.com; s=zohoarc; b=N0Q8UZhC/xIHSyxZ05/W31ZzQ8cq5AiY+Hz+MLwC8OIqL/tWoEh4O2extVcAPBSiJTFndgl+1F2jpuF/Ws1Y4yceWBdvydw0A1JjwdzKTj11cUWgRQDp8R+QrmnMivIPPrGhsVmHf+LYk9m87HR+Nj3kbp9LVA70F5eU5Z6YRkU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526524; 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=zf7fGwfw3SJ42pxAXUZwss0DZND93n/SNZvyCRo8fZw=; b=L9L+T/67HlbnSDZ6B3IzcSKp1INzExqz1RdpfFyT6kOcZbykdOnydQ5qDPgiSh+P2TPVQHhRqt9V76oRXmZ7+7DXyecyZJ7uBbco6aMoAZl/OLJ7yNyqE4lqmIZrMe8kCMVZXxD5U77LF/L5qk2X65wb6m53qZUQwBG7HU0YvEw= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526523294714.7049616593168; Fri, 4 Sep 2026 05:55:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQE-0001bA-1B; Fri, 04 Sep 2026 08:53:34 -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 1x2TQA-0001Ys-LF for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:30 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ8-0000eb-Cs for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:30 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-482e4998d28so706270f8f.2 for ; Fri, 04 Sep 2026 05:53:28 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5941cb4sm89439825e9.4.2026.09.04.05.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 5C5E761D76; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526407; x=1789131207; 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=zf7fGwfw3SJ42pxAXUZwss0DZND93n/SNZvyCRo8fZw=; b=U65uPL/M5V+lez1Zp+wAfnsDbzeSZ6jyg1UCjCXaVVRq20kyDDsF0Ck4bYiAFFnU46 adQKIxQKxEuxhnOnncG4YCcEUfymnwfvVnqRWIU+9nY9R1VW6nE7efkPdZM5+r5fq7LB jKcqI7VFc2Gp3gTQezMAdf+Iz3sgPJnU0FbeyuDGIN5f7dmROCS2wwQHpi10x/W4OyFy k+Wrw+MajncyFMfSDPLu0nP+jQQg0BMCeIpmtTJDXzhqkpas2p6cyFICzE6iSUUCcnNz Q0AL9sV/KDPmgNi0ZSobSrVPXTEMK3bwbHnhOaM6K3QMV3RY9uYTQXQKYDgwMH0w7qsU D2DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526407; x=1789131207; 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=zf7fGwfw3SJ42pxAXUZwss0DZND93n/SNZvyCRo8fZw=; b=B+mRqK8XWaHGuRrNyISOyfd8e0eratF8YaglkvnNBYP8V6lJY434nlgWpeKTOPBu8J eCdHYxKWLxcVw+79BurvmWSlVNUS+124u/gptffFUOIyBAUYzgpzRoqh8YKK0hm5kQNV crsoNaxnG+rkaRDeMXZYSzMu5Y7fmzwXgkrbwhHk3CZ00nW1wBfxq4AwN1JYgZCBtbGz cCeN2XSvIoc9PegYNWblYtSLCRm1xTVmHg7wjCrAePZMwY5IER8+l4csmKPgcuLGw293 jNFEYuQ2kNzYTsQKXNHUSRIs2/H/x3lI3ba9tK/luZFYOFzV0EhboOdBwTQvzrRU6AJD tPuw== X-Gm-Message-State: AFuF++mfz1h0695WXXcDBM5roj3vRLbRbzRDg4feT6DC0vQk/SnFwwN0 ozOsCp0J72VMt2q+ubq2U8dOM7BOpb8klm+92wzwqC79BeLYmmSlO2YgfJD6QKVJu7U= X-Gm-Gg: AYBFou1/v4g0T9dclmJCGkGiVyjN9SeGx0yZLMoRA7OA3BKaC4zj/dfTrKGtTCfMQbG 3NAJZWBmIyINbqvqm4jbO3iL9/k/YfMX0ui97uSua6f5ENI94HsI2ilzGfidQJ1podtYF3i1jch Qr9VESzrs9F7mAG15B0I3bi9OGfRmrCaZet+UJRNR2W5uG42jqJro0a+o1HI1GpepgEUO8XiQPd ixPXJU3VCDLRBNAD08FrOps0fJ4bz0WqV7r5DqI4sfIY0UYEfvIidU/HF9HhwrHljiiutPlgMFf 4YYxUpMQ7TyO+1kd/emFlZDNpzq8/BKBt5bTEzbCFT4eAvMkOvjqctk5h3cT6Wn1pILRHVxF+wT /ZWk0ISlzIgxoqn6Fy0D7TmkTIWsuTrlaryxX7xTrkmTsmB0ig9QssJzpRvS7RItEdDfNMGgNZ4 hLQhsTDD1uDF3rSF1G6XCFmTDdmLVDL0W9u7tVZ05Ca1IEjltX0BL3OnBlbIbW X-Received: by 2002:a05:600d:864a:10b0:49c:fc89:59cb with SMTP id 5b1f17b1804b1-49cfc8960ccmr23254945e9.5.1788526406851; Fri, 04 Sep 2026 05:53:26 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Ilya Leoshkevich , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson , David Hildenbrand , Cornelia Huck , Eric Farman , Matthew Rosato , qemu-s390x@nongnu.org (open list:S390 TCG CPUs) Subject: [PULL 084/105] tests/tcg/s390x: user tests Date: Fri, 4 Sep 2026 13:45:38 +0100 Message-ID: <20260904124604.2207440-85-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526525762158500 From: Pierrick Bouvier Reviewed-by: Ilya Leoshkevich Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-85-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 1a48b37f75c..6bc2829ba92 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -152,6 +152,7 @@ subdir('or1k') subdir('ppc64') subdir('ppc64le') subdir('riscv64') +subdir('s390x') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.tar= get deleted file mode 100644 index 97c0f021902..00000000000 --- a/tests/tcg/s390x/Makefile.target +++ /dev/null @@ -1,129 +0,0 @@ -S390X_SRC=3D$(SRC_PATH)/tests/tcg/s390x -VPATH+=3D$(S390X_SRC) -CFLAGS+=3D-march=3DzEC12 -m64 - -%.o: %.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ - -config-cc.mak: Makefile - $(quiet-@)( \ - $(call cc-option,-march=3Dz14, CROSS_CC_HAS_Z14); \ - $(call cc-option,-march=3Dz15, CROSS_CC_HAS_Z15)) 3> config-cc.mak --include config-cc.mak - -TESTS+=3Dhello-s390x -TESTS+=3Dcsst -TESTS+=3Dipm -TESTS+=3Dexrl-trt -TESTS+=3Dexrl-trtr -TESTS+=3Dpack -TESTS+=3Dmie3-compl -TESTS+=3Dmie3-mvcrl -TESTS+=3Dmie3-sel -TESTS+=3Dmvo -TESTS+=3Dmvc -TESTS+=3Dshift -TESTS+=3Dtrap -TESTS+=3Dsignals-s390x -TESTS+=3Dbranch-relative-long -TESTS+=3Dnoexec -TESTS+=3Ddiv -TESTS+=3Dclst -TESTS+=3Dlong-double -TESTS+=3Dcdsg -TESTS+=3Dchrl -TESTS+=3Drxsbg -TESTS+=3Dex-relative-long -TESTS+=3Dex-branch -TESTS+=3Dmxdb -TESTS+=3Depsw -TESTS+=3Dlarl -TESTS+=3Dmdeb -TESTS+=3Dcgebra -TESTS+=3Dclgebr -TESTS+=3Dclc -TESTS+=3Dlaalg -TESTS+=3Dadd-logical-with-carry -TESTS+=3Dlae -TESTS+=3Dcvd -TESTS+=3Dcvb -TESTS+=3Dts -TESTS+=3Dex-smc -TESTS+=3Ddivide-to-integer -TESTS+=3Dstckf - -cdsg: CFLAGS+=3D-pthread -cdsg: LDFLAGS+=3D-pthread - -# The following tests contain inline assembly that requires inlining, -# and thus cannot be built with -O0. -rxsbg: CFLAGS+=3D-O2 -divide-to-integer: CFLAGS+=3D-O2 - -cgebra: LDFLAGS+=3D-lm -clgebr: LDFLAGS+=3D-lm -divide-to-integer: LDFLAGS+=3D-lm - -include $(S390X_SRC)/pgm-specification.mak -$(PGM_SPECIFICATION_TESTS): pgm-specification-user.o -$(PGM_SPECIFICATION_TESTS): LDFLAGS+=3Dpgm-specification-user.o -TESTS +=3D $(PGM_SPECIFICATION_TESTS) - -Z13_TESTS=3Dvistr -Z13_TESTS+=3Dlcbb -Z13_TESTS+=3Dlocfhr -Z13_TESTS+=3Dvcksm -Z13_TESTS+=3Dvstl -Z13_TESTS+=3Dvrep -Z13_TESTS+=3Dprecise-smc-user -Z13_TESTS+=3Dprno-trng -$(Z13_TESTS): CFLAGS+=3D-march=3Dz13 -O2 -TESTS+=3D$(Z13_TESTS) - -ifneq ($(CROSS_CC_HAS_Z14),) -Z14_TESTS=3Dfma vfminmax -fma: float.h -fma: LDFLAGS+=3D-lm -vfminmax: LDFLAGS+=3D-lm -vfminmax: float.h -$(Z14_TESTS): CFLAGS+=3D-march=3Dz14 -O2 -TESTS+=3D$(Z14_TESTS) -endif - -ifneq ($(CROSS_CC_HAS_Z15),) -Z15_TESTS=3Dvxeh2_vs -Z15_TESTS+=3Dvxeh2_vcvt -Z15_TESTS+=3Dvxeh2_vlstr -Z15_TESTS+=3Dvxeh2_vstrs -$(Z15_TESTS): CFLAGS+=3D-march=3Dz15 -O2 -TESTS+=3D$(Z15_TESTS) -endif - -ifneq ($(GDB),) -GDB_SCRIPT=3D$(SRC_PATH)/tests/guest-debug/run-test.py - -run-gdbstub-signals-s390x: signals-s390x - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \ - mixing signals and debugging) - -hello-s390x-asm: CFLAGS+=3D-nostdlib - -run-gdbstub-svc: hello-s390x-asm - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(S390X_SRC)/gdbstub/test-svc.py, \ - single-stepping svc) - -EXTRA_RUNS +=3D run-gdbstub-signals-s390x run-gdbstub-svc -endif - -# MVX versions of sha512 -sha512-mvx: CFLAGS=3D-march=3Dz13 -mvx -O3 -sha512-mvx: sha512.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -TESTS+=3Dsha512-mvx diff --git a/tests/tcg/s390x/meson.build b/tests/tcg/s390x/meson.build new file mode 100644 index 00000000000..dcbbb463c43 --- /dev/null +++ b/tests/tcg/s390x/meson.build @@ -0,0 +1,140 @@ +cc =3D 's390x-linux-gnu-gcc' +cc_dockerfile =3D 'debian-all-test-cross' +cc_docker_host_arch =3D ['aarch64', 'x86_64'] + +cc_feat_cflags =3D { + 'z14': '-march=3Dz14', + 'z15': '-march=3Dz15', +} + +tests_s390x_pgm =3D [ + 'br-odd.S', + 'cgrl-unaligned.S', + 'clrl-unaligned.S', + 'crl-unaligned.S', + 'ex-odd.S', + 'lgrl-unaligned.S', + 'llgfrl-unaligned.S', + 'lpswe-unaligned.S', + 'lrl-unaligned.S', + 'stgrl-unaligned.S', + 'strl-unaligned.S', +] + +tests =3D [] + +# Multi arch tests +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + # The following tests contain inline assembly that requires inlining, + # and thus cannot be built with -O0. + 'rxsbg.c': {'cflags': ['-O2']}, + 'divide-to-integer.c': {'cflags': ['-O2', '-lm']}, + + 'hello-s390x.c': {}, + 'hello-s390x-asm.S': {'cflags': ['-nostdlib']}, + 'csst.c': {}, + 'ipm.c': {}, + 'exrl-trt.c': {}, + 'exrl-trtr.c': {}, + 'pack.c': {}, + 'mie3-compl.c': {}, + 'mie3-mvcrl.c': {}, + 'mie3-sel.c': {}, + 'mvo.c': {}, + 'mvc.c': {}, + 'shift.c': {}, + 'trap.c': {}, + 'signals-s390x.c': {}, + 'branch-relative-long.c': {}, + 'noexec.c': {}, + 'div.c': {}, + 'clst.c': {}, + 'long-double.c': {}, + 'cdsg.c': {}, + 'chrl.c': {}, + 'ex-relative-long.c': {}, + 'ex-branch.c': {}, + 'mxdb.c': {}, + 'epsw.c': {}, + 'larl.c': {}, + 'mdeb.c': {}, + 'cgebra.c': {'cflags': ['-lm']}, + 'clgebr.c': {'cflags': ['-lm']}, + 'clc.c': {}, + 'laalg.c': {}, + 'add-logical-with-carry.c': {}, + 'lae.c': {}, + 'cvd.c': {}, + 'cvb.c': {}, + 'stckf.c': {}, + 'ts.c': {}, + 'ex-smc.c': {'cflags': ['-Wl,--no-warn-rwx-segments']}, +} + +foreach src: tests_s390x_pgm + tests +=3D { + src: {'cflags': [files('pgm-specification-user.c'), '-Wa,--noexecstack= ']} + } +endforeach + +setup_z13 =3D {'cflags': ['-O2', '-march=3Dz13']} +tests +=3D { + 'vistr.c': setup_z13, + 'lcbb.c': setup_z13, + 'locfhr.c': setup_z13, + 'vcksm.c': setup_z13, + 'vstl.c': setup_z13, + 'vrep.c': setup_z13, + 'precise-smc-user.c': setup_z13, + 'prno-trng.c': setup_z13, + '../multiarch/sha512.c': { + 'exe_name': 'sha512-mvx', + 'cflags': setup_z13['cflags'] + ['-mvx', '-O3'], + } +} + +setup_z14 =3D { + 'cc_feat': 'z14', + 'cflags': ['-O2', '-lm', '-Wl,--no-warn-rwx-segments'] +} +tests +=3D { + 'fma.c': setup_z14, + 'vfminmax.c': setup_z14, +} + +setup_z15 =3D {'cc_feat': 'z15', 'cflags': ['-O2']} +tests +=3D { + 'vxeh2_vs.c': setup_z15, + 'vxeh2_vcvt.c': setup_z15, + 'vxeh2_vlstr.c': setup_z15, + 'vxeh2_vstrs.c': setup_z15, +} + +tests +=3D { + 'signals-s390x.c': { + 'test_name': 'signals', + 'gdb_test': ['--test', files('gdbstub/test-signals-s390x.py')], + }, + 'hello-s390x-asm.S': { + 'test_name': 'svc', + 'gdb_test': ['--test', files('gdbstub/test-svc.py')], + }, +} + +if 'qemu-s390x' in emulators + tcg_tests +=3D { + 's390x-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 's390x', + 'gdb_arch': 's390x', + 'gdb_feat_version': gdb_feat_version, + 'qemu': emulators['qemu-s390x'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:33 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527187; cv=none; d=zohomail.com; s=zohoarc; b=ZUUxLB66ukhcjE1esp54pnYtPrVx7Hf9Iw4K08HxbS5acynb/c4VPLeUyLarVAxBCZZ5ctAI6ClRupdkBh/IV6XoGE+l9wJeEM+Rh+TsalWh+nQf5r23fkgIb6COZeEbgFXogv0FhJEhPl1DtVHore2zrWNo7D+3AkxPV8bd3M4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527187; 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=Xcn4Tm46x+XZAKGkYX6ov2rPRmbRAmYhyEi27lHyKKw=; b=cdUylukLlCCEQboXk0gqA/6YYL3hbxagyZ/tLnItxhadowjw0cFI0cze0WFwOTqFB9u6iAMb9TjpwmFImYkSJ+GiFDobGgZX1xs/8V+Al0b29IuTSO9/G7/5MKt5W1dHcsPsCgDdDDlKckoMiSvBu0cSxjuPspYSyjt9J97tWns= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527187057151.20300105509136; Fri, 4 Sep 2026 06:06:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaS-0006fT-OS; Fri, 04 Sep 2026 09:04:08 -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 1x2TZt-0006Ow-KF for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:38 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZr-00036P-Qs for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:33 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-485888b3c3dso891657f8f.2 for ; Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee7febb4sm165513835e9.14.2026.09.04.06.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 72E4B61D7B; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527010; x=1789131810; 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=Xcn4Tm46x+XZAKGkYX6ov2rPRmbRAmYhyEi27lHyKKw=; b=I5Ygt9xmCX7sO3eqUC/Ewl7PhuOjriQXyPnd1K1TCe4E/9WbsEflpA4A5yIXLq3u35 K+OjPcif3RVhcutq8FD7AoXIdvEdQKED8/7IyY2UybzUt0rmnJf+rwuyLOd3EepKNNjk vPqkAsq542YIBgvRR3Mtt0GPIqw7mHoJx1URDgFN7PAee3Xvs+JW4KA0EDrbmdHiobtP W4mnY9+tGX6bx4IJyJW9+sZtH9Y0FR0RHhP3VG692eX6ZNiRmxTChaV8jVn5o+7R18yo Th148hoUyWrEwxyuPkvFYZgydZW8Sp46TVY6c/MntWSe5M+VVLkcVwgl9ugQ2aRGi53z Wnxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527010; x=1789131810; 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=Xcn4Tm46x+XZAKGkYX6ov2rPRmbRAmYhyEi27lHyKKw=; b=m/osVWB5d29ysTf0trhwJVPbQnI9WB36pyy49El0bOkrJ5Us4hwJju2WWThiH0qNHv vWYgHdrKBGclkkGinTNgeCGiB5e0IiyfmtMM8/y15KEHmapf759OBlE6x6+GOePd4PNj uIZwUsvS0+17S00eTIbHtim0qRd8OFM3B881fk6K5CprEOgCns9Bv56FT9sE2MBklqSO aGJc6849MBIUp3i61HDsqzuixvugaFCHX/zlix4OhJScShyslTHNRp3eZwpaoDHrnSMq aRdog3VHL1zDij7okU9latuWxyrwpI/jqGlHg4rzZCjyGqs9fNloChV/mHDNHldax0nI /Kng== X-Gm-Message-State: AFuF++kcbL69FuLXzTN+L5AmdHubCezWKrwZHVsDipeNNUt0FUIe4Dal YX/B9yV+bj304KhoxX3e0+kRVSVxeZPEKOn32S8nxqlwbrgaR1ewX6c8jPi3XXj7jfY= X-Gm-Gg: AYBFou39NQLwyO5FV7/GJ/23u0YNsqz8JsLLrWmpeKCNp9utF1qnDj6mIiDSxebzSmz Yt7eElEx+vVdA2oBJdUk+36M75tjo3jpvhcM2flMsM3yz4xNlDnFb4WgDKZrlNWSdCj6E+9pl6D eNBMmpiO2X/TubMnxgn39f0yRz5Ed6XZqhlqbsR8HOiD7jbhNR1giBEZqtvptqli6nHzIJzy/G5 vIk29Swrjj56g9g4OaxmEid0mrcLbA9ip3OCYGy1rmDb3d9iE8Dbn3iB6CAqEO3WPRNOjZNy7/u +Fu7YyILv78QP2l9qW6x3XuqGRR1rqrXDQHebo+LDGTmkLb/b232QPiL5t61xO3VP2ZcRrygwDP b4DRl1gVHQDTAygk+/bzh4RZK7y1B4khdJgHYLg9hJ/VCJnP0p34olsnKz0SQoeLWGyyzGZwMM2 vfgcyCIp4oB5uk810cV/ITFH6H+0H/qe448NNsLcu8ynjS1iByloqNm7ZW0/gokuyKdEAvI+A= X-Received: by 2002:a05:600c:354a:b0:49c:fc6e:8cb6 with SMTP id 5b1f17b1804b1-49cfc6e8f48mr33019635e9.26.1788527009788; Fri, 04 Sep 2026 06:03:29 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Ilya Leoshkevich , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson , David Hildenbrand , Cornelia Huck , Eric Farman , Matthew Rosato , qemu-s390x@nongnu.org (open list:S390 TCG CPUs) Subject: [PULL 085/105] tests/tcg/s390x/console.c: directly implement memcpy and memset Date: Fri, 4 Sep 2026 13:45:39 +0100 Message-ID: <20260904124604.2207440-86-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42c; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788527189318158500 From: Pierrick Bouvier pc-bios/s390-ccw/sclp.c uses memcpy and memset. pc-bios/s390-ccw is part of QEMU repository. However roms/SLOF is only available if submodules have been initialized, which is not not always the case. To break this dependency, just copy their definition here, and remove include to submodules files. Reviewed-by: Ilya Leoshkevich Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-86-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/s390x/console.c b/tests/tcg/s390x/console.c index 6c26f04949f..061b9437d98 100644 --- a/tests/tcg/s390x/console.c +++ b/tests/tcg/s390x/console.c @@ -6,8 +6,34 @@ */ =20 #include "../../../pc-bios/s390-ccw/sclp.c" -#include "../../../roms/SLOF/lib/libc/string/memset.c" -#include "../../../roms/SLOF/lib/libc/string/memcpy.c" +#include "string.h" + + +void * +memcpy(void *dest, const void *src, size_t n) +{ + char *cdest; + const char *csrc =3D src; + + cdest =3D dest; + while (n-- > 0) { + *cdest++ =3D *csrc++; + } + + return dest; +} + +void * +memset(void *dest, int c, size_t size) +{ + unsigned char *d =3D (unsigned char *)dest; + + while (size-- > 0) { + *d++ =3D (unsigned char)c; + } + + return dest; +} =20 void __sys_outc(char c) { --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526056; cv=none; d=zohomail.com; s=zohoarc; b=jpM7G7NOaq2ChiK3RLQ37231hddD9+igKv8CIL4VuW0osEuW9W5MtTXCVhVWCS+Lnqke9875TQfRrQfbXcNcQUMNjyxmXm2GKkEJWZcX1VHAzgoFxIvfrOraPmhw237afZ6Y/iM0fXPklsjc8HwW7kXyYtcRPcbokNxOoB3WUqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526056; 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=ggXS7l97nrKzR6GenQN1rryY07BIOL38kvZD8Vp/lOc=; b=dbEEdCMg2o96Rsni5WPk9JIgR0BoIOUhB30Q6v4TiisrYAUcKxjMtXEYl02HMEIXjXjrEFj/RM5pDvUYh5RiXStAhLyL5I/cgz4TU9eDVt9F0oGeAC2dMFFcnnH/gbm8PHPKxjBuOD+eNfkgTQRWs2q8twSdzl77jmhcUAFWh9o= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526055881751.2866356757161; Fri, 4 Sep 2026 05:47:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJR-0006Dq-H7; Fri, 04 Sep 2026 08:46:33 -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 1x2TJP-0006CX-Ay for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:31 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJK-0006vD-Jv for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:31 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-47de0093c42so826605f8f.3 for ; Fri, 04 Sep 2026 05:46:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885c5bbdsm5759002f8f.36.2026.09.04.05.46.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8DA6261351; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525985; x=1789130785; 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=ggXS7l97nrKzR6GenQN1rryY07BIOL38kvZD8Vp/lOc=; b=B7gGLs8XPzA1GvrkqdpyeG3A9Tyt1dS/9rpfG13VTvtnoXODWFKT6QF+YxZKhyNGiV V/I78K/mm+dkn5rPuiJ0eQWQEW536mfvobynxQwNFK8lDAcUIzN6d1Bmu29RlSVeXpKY lrxTWDXHovyOJ2e9wUsytff39/8rWFoIZiXMwAFVyEt6arMYyQKsA0QAK12vQKtAXzY2 f2zrkWkHADaC1/tO/FFUt6Cb7MaDHwj+cPRTiFYtldDdnKMlyt7y0qjwSjNSScjhkwBr iMphK9GOhNTj0sLVAJBgwQoSPamHFfYm+A/mNBMPLKQB4rOHu5i1CbgpI7k5UIQ6SLkT K9Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525985; x=1789130785; 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=ggXS7l97nrKzR6GenQN1rryY07BIOL38kvZD8Vp/lOc=; b=ShvdMU3MN6iHME07Pr/UyF4/QlqhChBjfDZYCXMCS7KZQCJqIMu7Z4d6NkPaLMEiwf R7iA8+A1u9Z6hCpPIagOLUsf6S0+PyAY2lCeKmEtH+TBeztvJNKji5vNXWOnWEwNTJTf j7kPtJC6RgJF7v2wSEQBojYbTYpNtNy9RhmBDeP9jDoeMcypQyYU0KAxWaj5GPzIrw/d 8HIwzLXS2YanRU2zd+86i6EUX1kjayPFZyo3na4HZqCl/v2yPEpVs3EEWIBlcu3rkMSR KlnAJ3hNbxfB6A0B8OTXWSn/Jkw4kiMmDc0FHmgt8dwPyrABc+/W7EGWOJLpvRydDH+g dUPw== X-Gm-Message-State: AFuF++k1YfKhpMrZHZaOfaWrQU1gPcMgwjbseJGg8x3e3XoYYJrgYwu7 kgi8xX10j+BjIwLV+mOaGxYDWGFWhlIpF8p7/fAaCEnSstdCSlvKAzrodTg+zs82ujE= X-Gm-Gg: AYBFou0MZcgWRNS3FCSUVydOfkauzXbX81rVqDZiHCeFN3dd8TtB5rqVrdYQF/EufRu GK2kj7//noRH/NdOjqTGjmWTVRuu3hEKj6khKyGsPOSJujkb5O4fiEryuQcjcTS7ZeajfhTWsAW 058Uv5A0IUWYRBFMbSSTD/a7jwlbyulkhJYuMp3Cm4mrbUEPNJ+ubAiC3SjwjkWWRS8iMb2Gh4L ssE0kax0shaRbAiz2m/xQIyaePN21MjdL4sHB2ZyrHKROggC98YR9XPvxKtWeZA7g+3bMVM+MlZ vXH7zr4N0Qy4whVGlA1QCatu9uBea2RnRIBYM50ojhpLFiZHn4QC0Wwr32Cozl9sOgrljb/NzGc llf04y/B5d+sQ4mM7nOXmKjieJWpzgnJpqzTm77xawf9XY3xCjoRQrwZDmh3SSnua4lQPrLOgT2 ybIeN4KVocFdvikPY9jW3LSRMjpC7cxeIjzpUfcTEicRbtx6tCCt7P03EicjEi X-Received: by 2002:a05:600c:3b17:b0:49c:fc6e:8cb1 with SMTP id 5b1f17b1804b1-49cfc6e8db3mr25469445e9.21.1788525984764; Fri, 04 Sep 2026 05:46:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Ilya Leoshkevich , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson , David Hildenbrand , Cornelia Huck , Eric Farman , Matthew Rosato , qemu-s390x@nongnu.org (open list:S390 TCG CPUs) Subject: [PULL 086/105] tests/tcg/s390x: system tests Date: Fri, 4 Sep 2026 13:45:40 +0100 Message-ID: <20260904124604.2207440-87-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.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=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1788526059619154100 From: Pierrick Bouvier Reviewed-by: Ilya Leoshkevich Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-87-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/s390x/pgm-specification.mak b/tests/tcg/s390x/pgm-sp= ecification.mak deleted file mode 100644 index 73dc47af0d2..00000000000 --- a/tests/tcg/s390x/pgm-specification.mak +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# List of specification exception tests. -# Shared between the system and the user makefiles. -PGM_SPECIFICATION_TESTS =3D \ - br-odd \ - cgrl-unaligned \ - clrl-unaligned \ - crl-unaligned \ - ex-odd \ - lgrl-unaligned \ - llgfrl-unaligned \ - lpswe-unaligned \ - lrl-unaligned \ - stgrl-unaligned \ - strl-unaligned diff --git a/tests/tcg/s390x/Makefile.softmmu-target b/tests/tcg/s390x/Make= file.softmmu-target deleted file mode 100644 index a4425d3184a..00000000000 --- a/tests/tcg/s390x/Makefile.softmmu-target +++ /dev/null @@ -1,57 +0,0 @@ -S390X_SRC=3D$(SRC_PATH)/tests/tcg/s390x -VPATH+=3D$(S390X_SRC) -# EXTFLAGS can be passed by the user, e.g. to override the --accel -QEMU_OPTS+=3D-action panic=3Dexit-failure -nographic -serial chardev:outpu= t $(EXTFLAGS) -kernel -LINK_SCRIPT=3D$(S390X_SRC)/softmmu.ld -CFLAGS+=3D-ggdb -O0 -I$(SRC_PATH)/include/hw/s390x/ipl/ -LDFLAGS=3D-nostdlib -static - -%.o: %.S - $(CC) -march=3Dz13 -m64 -Wa,--noexecstack -c $< -o $@ - -%.o: %.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -march=3Dz13 -m64 -c $< -o $@ - -%: %.o - $(CC) $< -o $@ $(LDFLAGS) - -ASM_TESTS =3D = \ - bal = \ - cksm = \ - clm = \ - exrl-ssm-early = \ - icm = \ - sam = \ - lpsw = \ - lpswe-early = \ - lra = \ - mc = \ - per = \ - precise-smc-softmmu = \ - sckc = \ - ssm-early = \ - stosm-early = \ - stpq = \ - unaligned-lowcore - -include $(S390X_SRC)/pgm-specification.mak -$(PGM_SPECIFICATION_TESTS): pgm-specification-softmmu.o -$(PGM_SPECIFICATION_TESTS): LDFLAGS+=3Dpgm-specification-softmmu.o -ASM_TESTS +=3D $(PGM_SPECIFICATION_TESTS) - -$(ASM_TESTS): LDFLAGS +=3D -Wl,-T$(LINK_SCRIPT) -Wl,--build-id=3Dnone -$(ASM_TESTS): $(LINK_SCRIPT) -TESTS +=3D $(ASM_TESTS) - -MULTIARCH_TESTS +=3D mvc-smc -S390X_MULTIARCH_RUNTIME_OBJS =3D head64.o console.o $(MINILIB_OBJS) -$(MULTIARCH_TESTS): $(S390X_MULTIARCH_RUNTIME_OBJS) -$(MULTIARCH_TESTS): LDFLAGS +=3D $(S390X_MULTIARCH_RUNTIME_OBJS) -$(MULTIARCH_TESTS): CFLAGS +=3D $(MINILIB_INC) \ - -I$(SRC_PATH)/roms/SLOF/lib/libc/include/ -memory: CFLAGS +=3D -DCHECK_UNALIGNED=3D0 - -# s390x clears the BSS section so we need to account for that -run-plugin-memory-with-libmem.so: \ - CHECK_PLUGIN_OUTPUT_COMMAND=3D$(MULTIARCH_SYSTEM_SRC)/validate-memory-cou= nts.py \ - --bss-cleared $@.out diff --git a/tests/tcg/s390x/meson.build b/tests/tcg/s390x/meson.build index dcbbb463c43..dc6271c7c73 100644 --- a/tests/tcg/s390x/meson.build +++ b/tests/tcg/s390x/meson.build @@ -21,6 +21,8 @@ tests_s390x_pgm =3D [ 'strl-unaligned.S', ] =20 +subdir('system') + tests =3D [] =20 # Multi arch tests diff --git a/tests/tcg/s390x/system/meson.build b/tests/tcg/s390x/system/me= son.build new file mode 100644 index 00000000000..ca07f503058 --- /dev/null +++ b/tests/tcg/s390x/system/meson.build @@ -0,0 +1,92 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('../softmmu.ld')[0] +head64 =3D files('../head64.S')[0] +console =3D files('../console.c')[0] +ipl_inc =3D meson.project_source_root()/'include'/'hw'/'s390x'/'ipl' +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, + '-I', ipl_inc, + '-march=3Dz13', + head64, console] +asmflags =3D ['-nostdlib', + '-Wl,-T', link_script, '-Wl,--build-id=3Dnone', + '-march=3Dz13', '-Wa,--noexecstack'] +qemu_args =3D ['-display', 'none', + '-action', 'panic=3Dexit-failure', + '-serial', 'stdio', + '-kernel'] + +# Multi arch tests - add cflags only once per src +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D0' + endif + if 'test_name' in setup and setup['test_name'] =3D=3D 'memory-access' + # s390x clears the BSS section so we need to account for that + # ./validate-memory-counts.py --bss-cleared + setup +=3D {'wrapper': setup['wrapper'] + '--bss-cleared'} + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_args}} + endforeach +endforeach + +tests +=3D { + 'mvc-smc.c': {'cflags': [cflags], 'qemu_args': qemu_args}, +} + +setup_asm =3D {'cflags': [asmflags], 'qemu_args': qemu_args} +tests +=3D { + 'bal.S': setup_asm, + 'cksm.S': setup_asm, + 'clm.S': setup_asm, + 'exrl-ssm-early.S': setup_asm, + 'icm.S': setup_asm, + 'sam.S': setup_asm, + 'lpsw.S': setup_asm, + 'lpswe-early.S': setup_asm, + 'lra.S': setup_asm, + 'mc.S': setup_asm, + 'per.S': setup_asm, + 'precise-smc-softmmu.S': setup_asm, + 'sckc.S': setup_asm, + 'ssm-early.S': setup_asm, + 'stosm-early.S': setup_asm, + 'stpq.S': setup_asm, + 'unaligned-lowcore.S': setup_asm, +} + +foreach src: tests_s390x_pgm + tests +=3D { + src: { + 'cflags': [asmflags, files('../pgm-specification-softmmu.S')], + 'qemu_args': qemu_args, + } + } +endforeach + +if 'qemu-system-s390x' in emulators + tcg_tests +=3D { + 's390x-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 's390x', + 'gdb_arch': 's390x', + 'qemu': emulators['qemu-system-s390x'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526047; cv=none; d=zohomail.com; s=zohoarc; b=O9ETC6gTjBd9MO3CEDrUojX1yJDVgITVCjkPLjXAs5ajI+cJObwcHUP+iBeJEHak4LrgW/qGHPFwD5czHx5sFcCIoa9XpSYAC0n5toaoK5vKIzvKpS68465cklSc6G0DOqMA3pXLb9T/RCCWVIECHyYeY35w0lpbfbmZn+UXIRA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526047; 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=pxYeJj+WehVjW9p5c1hczdzWzo4EPQKY4wlm9g0prpo=; b=n5VcXk9P1EJq+/GMsT66u3fcJ6WzuMU20QPAS+JPEF8cyRcxLbBNLgMU81g+OrY4lOZICkXqbw5P26yVJmJBod6rsSCmL5YuKjsL20A+Wn+bfRU+misdD95FF5UNISooSTd7H0CfWxBQdK/pJLxRkL6nJHpR0S+DcIXbjkyW0+4= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526047199829.1348935297635; Fri, 4 Sep 2026 05:47:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJV-0006Fo-7M; Fri, 04 Sep 2026 08:46: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 1x2TJT-0006Es-JZ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:35 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJM-0006w6-DS for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:35 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4980fe6b3beso15099395e9.0 for ; Fri, 04 Sep 2026 05:46:28 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5563c6csm160761665e9.4.2026.09.04.05.46.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:20 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id AEF1B61D84; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525987; x=1789130787; 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=pxYeJj+WehVjW9p5c1hczdzWzo4EPQKY4wlm9g0prpo=; b=HkOcb9/TToLh9bqgX9HJ0rOXli4YLkXxE7Sm49Hd3dq0JcYp4kC6kGoK4tY5cOEz4L gvZWiYtR1eR3neAFSdcgwIGQrvQY2ed5+5Y7YJwv/vIXQytXoAaX0tgOhH+sdMPW7Rba 8cFbPtwyh2OAI32/RreJBAap58HpO49+q90/IOOnO0VBYF+DgvbUMhqXWudBdIGJwzdo oVDoYUbqwP+sicqhSPBbc5S7lCN6KNNYtNzz0CgwaCRcNM6pAtkSHBc3/M4Rtr6FKzps Z+tm9R4/AMM0MlfWvPRyUxn0jrsSag1yew1yEK9es65A5fJ7AN+EjGW/e7x3rdufCMm3 AIbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525987; x=1789130787; 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=pxYeJj+WehVjW9p5c1hczdzWzo4EPQKY4wlm9g0prpo=; b=nbtojcocETssjj15m36+1bJM34ZbvC/F6plCg2/cehNI6s2RFd7Ghr9fY5xgVubRGo 2kOjKnOQtEbCMByia8hL3mJmsNgpCNnBs89V2SOGzlGZMytPhZKmXzMgzuoqyvlssk3x QQu90pEqnlx4ZH2Q2o+uytFikQKccrDKe44ovARi24YV1J60NowoFeEfoi1in4uk/IIq 0xjkbkpVDuxhqBgRNDNzIEOEALRmTWDuquJTnwkCUOTIZi/Fu/Va9F3MDi+stUn/TXEZ S/Z2ZYBK0EktJ59II6cqbAsaqlpo42YvWQuAFcN1YQdtmMxuW2fAZsYX9E2k8/NwFioj bETQ== X-Gm-Message-State: AFuF++lM522lOfv1xsmTFJTyx3tG16Lg44v8/looJRvBdAV3ivkEIaYd SlN/Ww9oL+D2lvibo2mFFAc3lKYl+9L+pIqFUr2xBxquEHF1fMXzDD6cBk3xc/2884c= X-Gm-Gg: AYBFou3S1h3WuPTGgl1v1DcEXZQvDzB9pxF90IGWb00IlmKIDjn1st2RhuoHDMdTlzj 0O8xaCqZWaqDYaFO9G22Hcpb2ANO3EEYlgFchxVRAxajAZPltsUJirCmKL3k/AfQL9XoPcoBJLl fNf1K3bkAC/ECz9tfQwWjTjiFGUdd8SMF2xU+PjfXKPwm4V0HI0W8IpP8nMMI1tlsYhygAO/8iS /6JBRstu4t8jLL0k15OOJCdsmSo3lgnsNYwZasqRiX3GJBXkkOx5wmYUwjLA//tCv13loVD0viA hZ7C4R0dHG0Y3ZlnneUjrNUVaMbeHi/h6xUoFHMXlDw1D/J2RRG3oAYyrgDB8LLQxed0yMw5cP8 Op4yLjnyvLzDSHUS5lmp2apx+Kav8+ZuPfPJcLElA7OoM5KCzYDVZXEaaJl4v4UYOotfkF4TrGw 3zfcNoezZXo4PmR8JmM91KbCj11iN5af1iMpjl8rvgJQ7CJHJ3XIM5FPckmsfq X-Received: by 2002:a05:600c:8b8c:b0:49c:f13e:e52 with SMTP id 5b1f17b1804b1-49cf893b58bmr42707105e9.15.1788525986350; Fri, 04 Sep 2026 05:46:26 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Yoshinori Sato Subject: [PULL 087/105] tests/tcg/sh4: add float reference files Date: Fri, 4 Sep 2026 13:45:41 +0100 Message-ID: <20260904124604.2207440-88-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526050361158500 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-88-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/sh4/float_convd.ref b/tests/tcg/sh4/float_convd.ref new file mode 100644 index 00000000000..23d725bcb86 --- /dev/null +++ b/tests/tcg/sh4/float_convd.ref @@ -0,0 +1,494 @@ +### Rounding to nearest +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-inf:0xff800000) (OVERFLOW INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb600000000000000p+1:0x40490fdb) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.00000000000000000000p+31:0x4f000000) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(inf:0x7f800000) (OVERFLOW INEXACT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-nan:0x00fff8000000000000) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(-inf:0x00fff0000000000000) + to single: f32(-inf:0xff800000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.fffffffffffff0000000p+1023:0x00ffefffffffffffff) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OVERFLOW INEX= ACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) + to single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from double: f64(-0x1.1874b135ff6540000000p+103:0x00c661874b135ff654) + to single: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.c0bab523323b90000000p+99:0x00c62c0bab523323b9) + to single: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) (INEXACT ) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from double: f64(-0x1.00000000000000000000p+1:0x00c000000000000000) + to single: f32(-0x1.00000000000000000000p+1:0xc0000000) (OK) + to int32: -2 (OK) + to int64: -2 (INEXACT ) + to uint32: -2 (OK) + to uint64: 4294967294 (INEXACT ) +from double: f64(-0x1.00000000000000000000p+0:0x00bff0000000000000) + to single: f32(-0x1.00000000000000000000p+0:0xbf800000) (OK) + to int32: -1 (OK) + to int64: -1 (INEXACT ) + to uint32: -1 (OK) + to uint64: 4294967295 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-1022:0x008010000000000000) + to single: f32(-0x0.00000000000000000000p+0:0x80000000) (UNDERFLOW INEXA= CT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) + to single: f32(-0x1.00000000000000000000p-126:0x80800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.00000000000000000000p+0:00000000000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from double: f64(0x1.00000000000000000000p-126:0x003810000000000000) + to single: f32(0x1.00000000000000000000p-126:0x00800000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000001c5f680000000p-25:0x003e600000001c5f68) + to single: f32(0x1.00000000000000000000p-25:0x33000000) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ffffe6cb2fa820000000p-25:0x003e6ffffe6cb2fa82) + to single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.ff801a9af58a10000000p-15:0x003f0ff801a9af58a1) + to single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000c06a1ef50000000p-14:0x003f100000c06a1ef5) + to single: f32(0x1.00000c00000000000000p-14:0x38800006) (INEXACT ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) + to single: f32(0x1.00400000000000000000p+0:0x3f802000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p-1022:0x000010000000000000) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from double: f64(0x0.9ea82a22876800000000p-1022:0x000009ea82a2287680) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x0.ab98fba8432100000000p-1022:0x00000ab98fba843210) + to single: f32(0x0.00000000000000000000p+0:0000000000) (UNDERFLOW INEXAC= T ) + to int32: 0 (INEXACT ) + to int64: 0 (UNDERFLOW INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (UNDERFLOW INEXACT ) +from double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) + to single: f32(0x1.00000000000000000000p+0:0x3f800000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from double: f64(0x1.00000000000000000000p+1:0x004000000000000000) + to single: f32(0x1.00000000000000000000p+1:0x40000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from double: f64(0x1.5bf0a8b1457690000000p+1:0x004005bf0a8b145769) + to single: f32(0x1.5bf0a800000000000000p+1:0x402df854) (INEXACT ) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from double: f64(0x1.921fb54442d180000000p+1:0x00400921fb54442d18) + to single: f32(0x1.921fb400000000000000p+1:0x40490fda) (INEXACT ) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) + to single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) + to single: f32(0x1.ffc00000000000000000p+15:0x477fe000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) + to single: f32(0x1.ffc20000000000000000p+15:0x477fe100) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) + to single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) + to single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) + to single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from double: f64(0x1.fffffffc000000000000p+30:0x0041dfffffffc00000) + to single: f32(0x1.fffffe00000000000000p+30:0x4effffff) (INEXACT ) + to int32: 2147483647 (OK) + to int64: 2147483647 (INEXACT ) + to uint32: 2147483647 (OK) + to uint64: 2147483647 (INEXACT ) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(0x1.fffffffffffff0000000p+1023:0x007fefffffffffffff) + to single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) (OVERFLOW INEXA= CT ) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from double: f64(inf:0x007ff0000000000000) + to single: f32(inf:0x7f800000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from double: f64(nan:0x007ff8000000000000) + to single: f32(nan:0x7fbfffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff0000000000001) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from double: f64(nan:0x007ff4000000000000) + to single: f32(nan:0x7fbfffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/sh4/float_convs.ref b/tests/tcg/sh4/float_convs.ref new file mode 100644 index 00000000000..b25ab921d8d --- /dev/null +++ b/tests/tcg/sh4/float_convs.ref @@ -0,0 +1,374 @@ +### Rounding to nearest +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +### Rounding to zero +from single: f32(nan:0xffa00000) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0xffc00000) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(-inf:0xff800000) + to double: f64(-inf:0x00fff0000000000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.fffffe00000000000000p+127:0xff7fffff) + to double: f64(-0x1.fffffe00000000000000p+127:0x00c7efffffe0000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INEXACT INVALID) +from single: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) + to double: f64(-0x1.1874b200000000000000p+103:0x00c661874b20000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) + to double: f64(-0x1.c0bab600000000000000p+99:0x00c62c0bab60000000) (OK) + to int32: -2147483648 (INVALID) + to int64: 1 (INEXACT INVALID) + to uint32: -2147483648 (INVALID) + to uint64: -9223372034707292160 (INVALID) +from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8) + to double: f64(-0x1.31f75000000000000000p-40:0x00bd731f7500000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.50544400000000000000p-66:0x9ea82a22) + to double: f64(-0x1.50544400000000000000p-66:0x00bbd5054440000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(-0x1.00000000000000000000p-126:0x80800000) + to double: f64(-0x1.00000000000000000000p-126:0x00b810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x0.00000000000000000000p+0:0000000000) + to double: f64(0x0.00000000000000000000p+0:00000000000000000000) (OK) + to int32: 0 (OK) + to int64: 0 (OK) + to uint32: 0 (OK) + to uint64: 0 (OK) +from single: f32(0x1.00000000000000000000p-126:0x00800000) + to double: f64(0x1.00000000000000000000p-126:0x003810000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p-25:0x33000000) + to double: f64(0x1.00000000000000000000p-25:0x003e60000000000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ffffe600000000000000p-25:0x337ffff3) + to double: f64(0x1.ffffe600000000000000p-25:0x003e6ffffe60000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.ff801a00000000000000p-15:0x387fc00d) + to double: f64(0x1.ff801a00000000000000p-15:0x003f0ff801a0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000c00000000000000p-14:0x38800006) + to double: f64(0x1.00000c00000000000000p-14:0x003f100000c0000000) (OK) + to int32: 0 (INEXACT ) + to int64: 0 (INEXACT ) + to uint32: 0 (INEXACT ) + to uint64: 0 (INEXACT ) +from single: f32(0x1.00000000000000000000p+0:0x3f800000) + to double: f64(0x1.00000000000000000000p+0:0x003ff0000000000000) (OK) + to int32: 1 (OK) + to int64: 1 (INEXACT ) + to uint32: 1 (OK) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00400000000000000000p+0:0x3f802000) + to double: f64(0x1.00400000000000000000p+0:0x003ff0040000000000) (OK) + to int32: 1 (INEXACT ) + to int64: 1 (INEXACT ) + to uint32: 1 (INEXACT ) + to uint64: 1 (INEXACT ) +from single: f32(0x1.00000000000000000000p+1:0x40000000) + to double: f64(0x1.00000000000000000000p+1:0x004000000000000000) (OK) + to int32: 2 (OK) + to int64: 2 (INEXACT ) + to uint32: 2 (OK) + to uint64: 2 (INEXACT ) +from single: f32(0x1.5bf0a800000000000000p+1:0x402df854) + to double: f64(0x1.5bf0a800000000000000p+1:0x004005bf0a80000000) (OK) + to int32: 2 (INEXACT ) + to int64: 2 (INEXACT ) + to uint32: 2 (INEXACT ) + to uint64: 2 (INEXACT ) +from single: f32(0x1.921fb600000000000000p+1:0x40490fdb) + to double: f64(0x1.921fb600000000000000p+1:0x00400921fb60000000) (OK) + to int32: 3 (INEXACT ) + to int64: 3 (INEXACT ) + to uint32: 3 (INEXACT ) + to uint64: 3 (INEXACT ) +from single: f32(0x1.ffbe0000000000000000p+15:0x477fdf00) + to double: f64(0x1.ffbe0000000000000000p+15:0x0040effbe000000000) (OK) + to int32: 65503 (OK) + to int64: 65503 (INEXACT ) + to uint32: 65503 (OK) + to uint64: 65503 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+15:0x477fe000) + to double: f64(0x1.ffc00000000000000000p+15:0x0040effc0000000000) (OK) + to int32: 65504 (OK) + to int64: 65504 (INEXACT ) + to uint32: 65504 (OK) + to uint64: 65504 (INEXACT ) +from single: f32(0x1.ffc20000000000000000p+15:0x477fe100) + to double: f64(0x1.ffc20000000000000000p+15:0x0040effc2000000000) (OK) + to int32: 65505 (OK) + to int64: 65505 (INEXACT ) + to uint32: 65505 (OK) + to uint64: 65505 (INEXACT ) +from single: f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) + to double: f64(0x1.ffbf0000000000000000p+16:0x0040fffbf000000000) (OK) + to int32: 131007 (OK) + to int64: 131007 (INEXACT ) + to uint32: 131007 (OK) + to uint64: 131007 (INEXACT ) +from single: f32(0x1.ffc00000000000000000p+16:0x47ffe000) + to double: f64(0x1.ffc00000000000000000p+16:0x0040fffc0000000000) (OK) + to int32: 131008 (OK) + to int64: 131008 (INEXACT ) + to uint32: 131008 (OK) + to uint64: 131008 (INEXACT ) +from single: f32(0x1.ffc10000000000000000p+16:0x47ffe080) + to double: f64(0x1.ffc10000000000000000p+16:0x0040fffc1000000000) (OK) + to int32: 131009 (OK) + to int64: 131009 (INEXACT ) + to uint32: 131009 (OK) + to uint64: 131009 (INEXACT ) +from single: f32(0x1.c0bab600000000000000p+99:0x71605d5b) + to double: f64(0x1.c0bab600000000000000p+99:0x00462c0bab60000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) + to double: f64(0x1.fffffe00000000000000p+127:0x0047efffffe0000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INEXACT INVALID) + to uint32: -1 (INEXACT INVALID) + to uint64: -1 (INEXACT INVALID) +from single: f32(inf:0x7f800000) + to double: f64(inf:0x007ff0000000000000) (OK) + to int32: 2147483647 (INVALID) + to int64: -1 (INVALID) + to uint32: -1 (INVALID) + to uint64: -1 (INVALID) +from single: f32(nan:0x7fc00000) + to double: f64(nan:0x007ff7ffffffffffff) (INVALID) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) +from single: f32(nan:0x7fa00000) + to double: f64(nan:0x007ff7ffffffffffff) (OK) + to int32: 2147483647 (INVALID) + to int64: 9223372034707292159 (INVALID) + to uint32: 2147483647 (INVALID) + to uint64: 9223372034707292159 (INVALID) diff --git a/tests/tcg/sh4/float_madds.ref b/tests/tcg/sh4/float_madds.ref new file mode 100644 index 00000000000..6d96a2a5929 --- /dev/null +++ b/tests/tcg/sh4/float_madds.ref @@ -0,0 +1,384 @@ +### Rounding to nearest +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/0) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (0/2) +op : f32(nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe000000000= 00000p+127:0xff7fffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(nan:0xffc00000) = + f32(-inf:0xff800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/1) +op : f32(nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(nan:0xffa00000) + f32(nan:0xffc00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/0) +op : f32(nan:0xffa00000) * f32(nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/1) +op : f32(nan:0xffc00000) * f32(nan:0x7fa00000) + f32(nan:0xffa00000) +res: f32(nan:0x7fbfffff) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526528; cv=none; d=zohomail.com; s=zohoarc; b=l2SvXnDLJGCzWvNk9UXRXjU4P4gTLlZsdW1lIt80XdZN9BLYYF8qfN3wKgIQRHCH3ZFOfK035FTLE7HMDh9mru31Xk/qe6AnWXGNKYG+JGAvMNh7plR/JsreGxu8SOKwEjSIULD52kC4wLKwHeDbue7S+1bo0aG8sQpNZai7Cr0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526528; 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=giVANm8A48zk3F2cwUknNmD1Ka0brkVNbn2iSQH3HTA=; b=n2Fw1vkAVUuwBr1JIliW2PlmrgHVEek0tLHb6/3bvE24pK06zQMrW7M7R9acqBKBzZo8NTUXgI5IZgFMOye37a1F1K7mt17U/emEXZEmfZ9lLDkNtDEArONtP2sgVTOQN2YkKTbL7JaO9bLRUg4zavaiXeJxje/usEBqIshzcCM= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526528151189.21237106968033; Fri, 4 Sep 2026 05:55:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQR-0001lQ-8G; Fri, 04 Sep 2026 08:53:47 -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 1x2TQP-0001k3-Ee for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:45 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQN-0000kw-PZ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:45 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-49cd77e0f95so8552015e9.3 for ; Fri, 04 Sep 2026 05:53:43 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfbdacc45sm42042135e9.11.2026.09.04.05.53.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:40 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id CB9A961D99; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526422; x=1789131222; 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=giVANm8A48zk3F2cwUknNmD1Ka0brkVNbn2iSQH3HTA=; b=rwZQQ7xM/TezSmdXoEGIitjPC8zVrgIMeOMlMGhmRpye1Kr8MCEebBuBXHikU8bkkw P8sJbihmkaJ7GUP8oSyEgGompKT+cnJaa1e2ovBzL/iN6IhZFfTC2LnDDPdYYTnExobT plnJSGsrbLUdo3CnjJCXlPeDqDb9POeOpefeRoYv6OhvyC8urjTdZDwHm1vHBCjTjlSI ZcBREmgtqPHS/rJPIk4f3EQVKmZRothYZH+mU2Y7SQOLBLEHpOsvaBZbaMocGAtXTqNZ oR3hI5+MgEuTU1t2KasL9LXSFJHDY8Dt1+EfS8WGVgMwYsJFOsePP5RAU+wrVyaxyJRF 9tYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526422; x=1789131222; 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=giVANm8A48zk3F2cwUknNmD1Ka0brkVNbn2iSQH3HTA=; b=THtio0LRIahUrk0xADHYVhdw99adZNpwfoouzixNhLrecM4lu3JCbk8dyLDmoJOBmU WTiARydE0pBZQakgxbTFTHcthYZAvInqak6vHH3CzlScjwIZ5MsrDc5MRQomILoZmgwQ h7tmF33oRtEtI2vwsqtch3L59kT248y3pZ91iUFV+xR+ieV9lxAfaEKqiKdCkW5Xd04k Br3LtL7taiLIwpKCKKrhcfkBYIZluLuvt8KAt1oyWnD5dJwYdALubcmvSNIxmlM4WIxN MypwITXSdvKssc4cswKwpQFE2xXLk3frhWBex+PvHjb2eyyYXsuJHd6TvnJawN9+wA60 3D/Q== X-Gm-Message-State: AFuF++nK9T/1U1TZsB/fvIajksS3H8EqN4mlot4IMZRDaUD0BFYYpvLU pVohzJu8T4d4GQaMo/CHrM73Zg96bJv4Ybw6hu01ZFjFTDNcKsrcL7lfhv1Wxk0asLQ= X-Gm-Gg: AYBFou2dFmnykY+k+vNaFAtDuW7pMlmylSn2WfbzNQk5b21qhqjHf6NrbT4t1FMocwt DYCP0Igb0hGF7tqloXLTPuPqv1j4i5fSQCivcYS14Oybxmo/abCdcp0vv9GYkK/t3g/ye5vUStR Z5bcLWwbzoZCe4BuqxsyN+pdK8RpWE+2H2hYUibY8ZfTnZn7ZUlQwJyrZmds2cHxEN7Y0rDkxgS slHYLwi4I2UruZbU2mzJYFpvnlaXoAIRqcskodn3OJGqV9PsIBlmx4HACGoUQZ9pXKLsD6dzykf dwpvghbjVi/eIWXntb4wbhJXONIB5fAkKF6fLqvcat5gdw+YtuEUE2GPacHAnQvvw+wsCkmPOom Iiqjgkxm0j5NXUjBIGKmSzjjziBzW18U2KRN2y7rdI5/tfyjSdGd/Cjk+GFDyxKxCoFsKUQKwy/ ADrxztKs9dBZ3Kcxr15zETrQyIOoFI1+A/I3U8+NW+zvEdfKlZfnNJcprE2Zw= X-Received: by 2002:a05:600c:4687:b0:49c:ff8a:44cd with SMTP id 5b1f17b1804b1-49cff8a4cfbmr5797515e9.12.1788526422266; Fri, 04 Sep 2026 05:53:42 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Yoshinori Sato Subject: [PULL 088/105] tests/tcg/sh4: user tests Date: Fri, 4 Sep 2026 13:45:42 +0100 Message-ID: <20260904124604.2207440-89-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526529696158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-89-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 6bc2829ba92..1c34b8e63c6 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -153,6 +153,7 @@ subdir('ppc64') subdir('ppc64le') subdir('riscv64') subdir('s390x') +subdir('sh4') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/sh4/Makefile.target b/tests/tcg/sh4/Makefile.target deleted file mode 100644 index b7a8737be0f..00000000000 --- a/tests/tcg/sh4/Makefile.target +++ /dev/null @@ -1,18 +0,0 @@ -# -*- Mode: makefile -*- -# -# SuperH specific tweaks -# - -VPATH +=3D $(SRC_PATH)/tests/tcg/sh4 - -test-macl: CFLAGS +=3D -O -g -TESTS +=3D test-macl - -test-macw: CFLAGS +=3D -O -g -TESTS +=3D test-macw - -test-addv: CFLAGS +=3D -O -g -TESTS +=3D test-addv - -test-subv: CFLAGS +=3D -O -g -TESTS +=3D test-subv diff --git a/tests/tcg/sh4/meson.build b/tests/tcg/sh4/meson.build new file mode 100644 index 00000000000..d73df074497 --- /dev/null +++ b/tests/tcg/sh4/meson.build @@ -0,0 +1,25 @@ +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +tests +=3D { + 'test-addv.c': {}, + 'test-macl.c': {}, + 'test-macw.c': {}, + 'test-subv.c': {}, +} + +if 'qemu-sh4' in emulators + tcg_tests +=3D { + 'sh4-linux-user': { + 'cc': 'sh4-linux-gnu-gcc', + 'cc_dockerfile': 'debian-all-test-cross', + 'cc_docker_host_arch': ['aarch64', 'x86_64'], + 'cc_feat_cflags': cc_feat_cflags, + 'folder': 'sh4', + 'gdb_arch': 'sh4', + 'qemu': emulators['qemu-sh4'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527188; cv=none; d=zohomail.com; s=zohoarc; b=mrBRXL6iFa4ckE7A2hwF8eephZpmzu+5bwvMSEjG2BKoLjBTiiy1SHOzlTwcsps2zD8WwrHKRh5LVhbPk7UjdE41CvedZlog/KoywlvVPi5ONjN2ZCJ/HFLukgQYrIT9YoxusHQfOaVrZ0AoUMdb3U3xjERWJ+cYFQQLXDQacHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527188; 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=5cpw/0nKRaRtkPe8d98ZT7Q/KRUMuuy/+CYtAA+zakI=; b=c9eN/Q7OOSaJ/tlopl7bD2Rh95BNQW/QsALrxaXGCdNWabRvSHC65YtBU/b7kx8BwdN0vQsd5kxffNNjYOYwoc1GXbIKazU6BR5EcCHh99Bc7Se9+7l5uSvD6juV7PNHqmwFmZWNPm++1llZBlg1VFuvCrfXtyoInOxLdoXtapU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527188354751.428381814192; Fri, 4 Sep 2026 06:06:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Tas-0007cF-BO; Fri, 04 Sep 2026 09:04:34 -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 1x2Ta8-0006VW-LX for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:51 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZz-00039s-4x for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:47 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so10349895e9.1 for ; Fri, 04 Sep 2026 06:03:38 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7703cefsm94700585e9.5.2026.09.04.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E54C161DA5; Fri, 04 Sep 2026 13:46:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527017; x=1789131817; 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=5cpw/0nKRaRtkPe8d98ZT7Q/KRUMuuy/+CYtAA+zakI=; b=XOkpc4oxqnezmQw3KNI5hAVMcAy3AcKsLAAAhKMQZyTbCC0YnB1FSeQnbbWROWP+dz XPUPqJSAo0PZAnqOPthdUXD4AQz8XeWHCW1Gct7Z+RKBmvkM1B9AUhJ81QEFjNlPhqhm jH1SsHUt8wVrGTgNfuYT2FZGjuK3n6KWl0+H6b1IZM9Lq0r4/2xhjnAOY5DBEDQ4B8vr mDXOw1pKPmsj/4YEG7VIPf4o6Kec/quHTTlZspxRXyGEcqFQ+zMrsglXRYzTVSjGDdkB lsMtEuqXoudbqSYBsmFkYNtMisa4TVXW++hXFUeN/Du+yzQoq9mPlCNTQ9kL5bIUySw+ rHpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527017; x=1789131817; 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=5cpw/0nKRaRtkPe8d98ZT7Q/KRUMuuy/+CYtAA+zakI=; b=srjTXGd+r6P+sCdMeSOhTLREqvGDFtDa6+Co/nU+1buiH72mRcEH0T0xznFe+OCIK5 I9e5/obKgMn+qGCEtSsQXistXbqtTa3vNrblab/hm+bGWessqmxnUoNOFZsofw9vCqOO QwHUY4Jg2fIoCyqmK7XlxtON41dwBFC152SDbeLyP7LkGIM6EP1ZX2gjL49X6Ahzjv51 wnCMqTYf0eYU0QVe8TWnm0O1xBcenOlx2nYbTcg2u1vBBHgNnpkeE4g1F6mxIYpHnI7E UFjkPdf+PZVqjKqamSUnGXPjgvLIGTcCMbJZGl5ntUnS3JsGmIzB95KTe5tGE/Shi42g lIHg== X-Gm-Message-State: AFuF++kfy3ZOBmJXfjh1dlJkMf72DFMawyXc2mGdI671cYtSRTjuR1HH RG0MBllPHyT5ryA1jsUyUviI0K958ZZc2Z+w4iR3rH4yCgHMDz8xDgt6iqnQF3rTjYQ= X-Gm-Gg: AYBFou0vvo89O5IcxSwNKLfv+HApQAWdqzR4Pnnruiz8ueyePO6TJoASHwBkCcY2E6L XyL2ZoKE01clhoDoDl/8BIRBfqtKdY7rkBUpM8HthXDQO4Kw5OrfBHuXAIzmzPXM0PxsiGxve2E /0H9njZGmUI9TbCvutixGWKDX121yZf6AsHG5MTncyY5UbX+Y9n0PoaBZjVzytDK1PqCTwOI3tR /toj917t41pl8aVp5UfPT7+H1KDuMweHZwEIEdNELmBiFa6t/1jzKOTzNJ43CO1Le/Gc4ou+3u4 G8lFb9nBX8NIz1f/Lj4J6/SaDg35vZSZgVSDIYUjyzUBe12Kj6Ar4VAdXxsIfc6FoUZqxYbicGQ +/CZSbrvM+sMFE6l/ODSws157tPgKjJ2yJCRErj9qJXWe9rNnrmRJigLY4qpryZQhnM2Y3lCdT2 pK+wy1djn9EPjviUWqxEd0QbDK4cUqes9kbwHMuDjchZNtOiweb0MPKg3s2DAEIMBPy1QxcvE= X-Received: by 2002:a05:600c:4e8e:b0:49c:dada:f57f with SMTP id 5b1f17b1804b1-49cf823cd42mr51387825e9.7.1788527017013; Fri, 04 Sep 2026 06:03:37 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 089/105] tests/tcg/tricore: system tests Date: Fri, 4 Sep 2026 13:45:43 +0100 Message-ID: <20260904124604.2207440-90-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::334; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x334.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527191491158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Reviewed-by: Alex Benn=C3=A9e Message-ID: <20260827221506.91574-90-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 1c34b8e63c6..4903947a636 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -154,6 +154,7 @@ subdir('ppc64le') subdir('riscv64') subdir('s390x') subdir('sh4') +subdir('tricore') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/tricore/Makefile.softmmu-target b/tests/tcg/tricore/= Makefile.softmmu-target deleted file mode 100644 index 258aeb40ae8..00000000000 --- a/tests/tcg/tricore/Makefile.softmmu-target +++ /dev/null @@ -1,53 +0,0 @@ -TESTS_PATH =3D $(SRC_PATH)/tests/tcg/tricore -ASM_TESTS_PATH =3D $(TESTS_PATH)/asm -C_TESTS_PATH =3D $(TESTS_PATH)/c - -LDFLAGS =3D -T$(TESTS_PATH)/link.ld --mcpu=3Dtc162 -ASFLAGS =3D -mtc162 -CFLAGS =3D -mtc162 -c -I$(TESTS_PATH) - -TESTS +=3D test_abs.asm.tst -TESTS +=3D test_bmerge.asm.tst -TESTS +=3D test_clz.asm.tst -TESTS +=3D test_crcn.asm.tst -TESTS +=3D test_dextr.asm.tst -TESTS +=3D test_dvstep.asm.tst -TESTS +=3D test_fadd.asm.tst -TESTS +=3D test_fmul.asm.tst -TESTS +=3D test_ftohp.asm.tst -TESTS +=3D test_ftoi.asm.tst -TESTS +=3D test_ftou.asm.tst -TESTS +=3D test_hptof.asm.tst -TESTS +=3D test_imask.asm.tst -TESTS +=3D test_insert.asm.tst -TESTS +=3D test_ld_bu.asm.tst -TESTS +=3D test_ld_h.asm.tst -TESTS +=3D test_madd.asm.tst -TESTS +=3D test_msub.asm.tst -TESTS +=3D test_muls.asm.tst - -TESTS +=3D test_boot_to_main.c.tst -TESTS +=3D test_context_save_areas.c.tst - -QEMU_OPTS +=3D -M tricore_testboard -cpu tc37x -nographic -kernel - -%.pS: $(ASM_TESTS_PATH)/%.S - $(CC) -E -o $@ $< - -%.o: %.pS - $(AS) $(ASFLAGS) -o $@ $< - -%.asm.tst: %.o - $(LD) $(LDFLAGS) $< -o $@ - -crt0-tc2x.o: $(C_TESTS_PATH)/crt0-tc2x.S - $(AS) $(ASFLAGS) -o $@ $< - -%.o: $(C_TESTS_PATH)/%.c - $(CC) $(CFLAGS) -o $@ $< - -%.c.tst: %.o crt0-tc2x.o - $(LD) $(LDFLAGS) -o $@ $^ - -# We don't currently support the multiarch system tests -undefine MULTIARCH_TESTS diff --git a/tests/tcg/tricore/meson.build b/tests/tcg/tricore/meson.build new file mode 100644 index 00000000000..d0bf55dedce --- /dev/null +++ b/tests/tcg/tricore/meson.build @@ -0,0 +1,57 @@ +tests =3D [] + +link_script =3D files('link.ld')[0] +crt0 =3D files('c'/'crt0-tc2x.S') +asmflags =3D ['-Wl,--mcpu=3Dtc162', + '-Wl,-T', link_script, + '-mtc162', + '-nostartfiles'] +cflags =3D [asmflags, crt0] +qemu_args =3D ['-display', 'none', + '-M', 'tricore_testboard', + '-cpu', 'tc37x', + '-kernel'] + +# Multi arch tests are not supported +# tests +=3D tcg_tests['multiarch-softmmu']['tests'] + +setup_asm =3D {'cflags': asmflags, 'qemu_args': qemu_args} +setup_c =3D {'cflags': cflags, 'qemu_args': qemu_args} + +tests +=3D { + 'asm/test_abs.S': setup_asm, + 'asm/test_bmerge.S': setup_asm, + 'asm/test_clz.S': setup_asm, + 'asm/test_crcn.S': setup_asm, + 'asm/test_dextr.S': setup_asm, + 'asm/test_dvstep.S': setup_asm, + 'asm/test_fadd.S': setup_asm, + 'asm/test_fmul.S': setup_asm, + 'asm/test_ftohp.S': setup_asm, + 'asm/test_ftoi.S': setup_asm, + 'asm/test_ftou.S': setup_asm, + 'asm/test_hptof.S': setup_asm, + 'asm/test_imask.S': setup_asm, + 'asm/test_insert.S': setup_asm, + 'asm/test_ld_bu.S': setup_asm, + 'asm/test_ld_h.S': setup_asm, + 'asm/test_madd.S': setup_asm, + 'asm/test_msub.S': setup_asm, + 'asm/test_muls.S': setup_asm, + 'c/test_boot_to_main.c': setup_c, + 'c/test_context_save_areas.c': setup_c, +} + +if 'qemu-system-tricore' in emulators + tcg_tests +=3D { + 'tricore-softmmu': { + 'cc': 'tricore-gcc', + 'cc_dockerfile': 'debian-tricore-cross', + 'cc_docker_host_arch': ['x86_64'], + 'folder': 'tricore', + 'gdb_arch': 'tricore', + 'qemu': emulators['qemu-system-tricore'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526055; cv=none; d=zohomail.com; s=zohoarc; b=RDM2LftCV7MK0q4S/N/p4xs+HXxi8BAs0dXcoLyLGnKJagnxqvYKNvgsK0Aa1qmcGyX/9M1gpKaT/UrKMbnTX0JoYlpGVCZk7PQawfej3oU2MCSxR18d8Of1gc3XKicHsDPpaU+bTBZ7hu40c23hTaWKKfJcUqt/RcomfHS5OyY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526055; 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=h7PkgLnE6OK1q87qoz2evDknJ1BdmvJXSVWT2Mfm9KA=; b=Zi1vUMDj50KJMlLoXVqDK3/l0rTvPJfBSw3N8zgAYAdRMGj7Ob5bWpeF826ynjiatfYxuGGC7XYvt6KVO7zd3ga0pKNTWf9qWi/2c7PxXhoEBpUsoXGUyFTjeN+veK1tc/QxJVViYlpPYSd4firsFMt0ev2PdQJca5FlWpimkaE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526054550972.4380289744608; Fri, 4 Sep 2026 05:47:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJW-0006Fv-8R; Fri, 04 Sep 2026 08:46:38 -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 1x2TJT-0006Et-JZ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:35 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJN-0006wW-G9 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:35 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so10168165e9.1 for ; Fri, 04 Sep 2026 05:46:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5f9114sm148006195e9.5.2026.09.04.05.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:20 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0C3E761DC3; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525988; x=1789130788; 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=h7PkgLnE6OK1q87qoz2evDknJ1BdmvJXSVWT2Mfm9KA=; b=pomF+cRT0th0Ndkjle5gOiRvmzE9L63FLrdhByGFic5rtJcMdbq8Wbs5VFCVma53lp 0PxXy7OnjKI8ADBopnQvosB52fwCHyezHoVMQdifSr2KxVUAsg9ODxGoxDTFbyLXesKS HAhXneyP14nN8QuJd0m07BO3ZnJ040eBG7RJeKtvqZlo6q5Mvp0yG1aCl0rhsp/4SrG6 76gSEf4W1rUdTSKYFjmKx44LXxzkJjLbOk3P5UY3eW1MxJpJLHEN7CHpiwDpDXlQXDNT PWfjSUBtmJlHjEdiN+Gil2mlE4Hwv9SOu7MSD5PimCCK4z7vARgzKnV2LANasDICMNJJ 0rBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525988; x=1789130788; 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=h7PkgLnE6OK1q87qoz2evDknJ1BdmvJXSVWT2Mfm9KA=; b=SR40oOdZMRSl0E62UBKjGntLFTJCjur07ZNqK+qOd1HziLVjT9OY5B7ga1c7ZC99Ic gbnFylRsTyB8lmnamJRrr+5s5WNQ+X5nWpun4vj6nHw1JTpvPxLAhI8G+EmAv0DqZyDK 4YWMfnFD/TjbqDTtMJ15h98owAGXOhsLqu77hKgnEvzb0jculJhao4JHNj3Gl7fEJXSW eNBB33gi6FfffqwZr/57b6tT4ZSm0UQVb9dJ1W14gzGkKClKvVbxvOCJvPKtGafhYsg+ UnDoku5oZ+v9egbR7APB3rzL8l4+cwCGzxEj852stu3JDxR7fnec7Y/xcSsddjTFQDH9 XjYA== X-Gm-Message-State: AFuF++kfXQiBjPro4HzmOB9OJkC2XmIaX/iH8evwRChFylUuiZTJzVSU P9Gg9KU2hDmXdW107sFgHFLO7GF7hx8BEx47W3GcL51Z7PxyfCbosyTYP2Kwffmpoig= X-Gm-Gg: AYBFou1PZmsS3ErOY4Zoz2t6FIE8imlJQBzaY3x/Volt8l2U96WEaJv9tfLHGFAkFu+ dT53OaYnsSQUj3R89PaHcz6y0eiJtKC77puWEr/eULmgfjybjycDrMRgUsOFwn6grqt8GHg7Rg7 rXIAcOoJT9C4JFeu4uSrCNvc86rEx4TRqNMF7WpHWDyHVaEeHFLFIzZd8+avGHn6eoHcUOoSMg9 oxBThPuBUfZr9PdXPit5t6lDnY0rRDbShrZ16cA4fJENiUOTo9sxnaf4CnDZkh+EMdpNN6ddlRB b3QCopehHOIQZE/VPJWORRxGCiNrBNzT1wf6V4x9qAiA/XEkOSuZnagJNzhuMrx5v9Jmy9ptRw3 UGWOn0U9uyJddCdNdn+xfNla/9uZQ/75GQ3gPDNedRTmmT47Nwh9hPRD/qsczYV+1q+4FSRkg8X nc8yg3BDAg8HF2EATpMW8Qeqhc4SBFgvg0tDbfbwJL/eHFkD1fa4CNDYDYDXg4 X-Received: by 2002:a05:600c:3e06:b0:49c:fc6c:be1b with SMTP id 5b1f17b1804b1-49cfc6cc0e9mr27181695e9.33.1788525987106; Fri, 04 Sep 2026 05:46:27 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Paolo Bonzini , Richard Henderson Subject: [PULL 090/105] tests/tcg/x86_64: add missing float reference file Date: Fri, 4 Sep 2026 13:45:44 +0100 Message-ID: <20260904124604.2207440-91-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526059582154100 From: Pierrick Bouvier Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-91-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/x86_64/float_madds.ref b/tests/tcg/x86_64/float_madd= s.ref new file mode 100644 index 00000000000..79419f003e7 --- /dev/null +++ b/tests/tcg/x86_64/float_madds.ref @@ -0,0 +1,768 @@ +### Rounding to nearest +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding upwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27fa00000000000000p+60:0x5d8613fd) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46200000000000000p+34:0x50936231) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f94000000000000000p-106:0x0ac8fca0) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe800000000000000p-25:0x337ffff4) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe800000000000000p-50:0x26fffff4) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000200000000000000p-25:0x33000001) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00080000000000000000p-25:0x33000400) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f400000000000000p-24:0x338000fa) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000e00000000000000p-14:0x38800007) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf600000000000000p-24:0x3387fdfb) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801c00000000000000p-15:0x387fc00e) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000200000000000000p+0:0x3f800001) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01a00000000000000p-14:0x38ffe00d) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440200000000000000p+0:0x3f802201) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040200000000000000p+0:0x3f800201) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d400000000000000p+2:0x409711ea) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804200000000000000p+3:0x41094021) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458200000000000000p+3:0x4128a2c1) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0600000000000000p+3:0x41100603) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1600000000000000p+15:0x477fe78b) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3c00000000000000p+17:0x4848f69e) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56200000000000000p+17:0x482de2b1) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edf000000000000000p+18:0x488476f8) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0a00000000000000p+31:0x4f7fbf05) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7a00000000000000p+18:0x4884773d) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+31:0x4f7fc005) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840800000000000000p+31:0x4f7fc204) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+31:0x4f7fc104) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860800000000000000p+31:0x4f7fc304) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820800000000000000p+32:0x4fffc104) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800a00000000000000p+32:0x4fffc005) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830800000000000000p+32:0x4fffc184) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8a00000000000000p+33:0x507fbfc5) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840800000000000000p+32:0x4fffc204) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800a00000000000000p+33:0x507fc005) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820800000000000000p+33:0x507fc104) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810800000000000000p+33:0x507fc084) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab800000000000000p+99:0x71605d5c) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0838000000000000000p+116:0x79e041c0) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c082a000000000000000p+116:0x79e04150) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOVERFLOW INEXACT (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-148:0x00000002) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding downwards +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b200000000000000p+103:0xf30c3a59) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f75000000000000000p-40:0xab98fba8) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x1.00000000000000000000p-149:0x80000001) flags=3DUNDERFLOW INEX= ACT (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) +### Rounding to zero +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/0) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-nan:0xffa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (0/1) +op : f32(-inf:0xff800000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (0/2) +op : f32(-nan:0xffc00000) * f32(-inf:0xff800000) + f32(-0x1.fffffe00000000= 000000p+127:0xff7fffff) +res: f32(-nan:0xffc00000) flags=3DOK (1/0) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-nan:0xffc00000) +res: f32(-nan:0xffc00000) flags=3DOK (1/1) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-nan:0xffc00000)= + f32(-inf:0xff800000) +res: f32(-nan:0xffc00000) flags=3DOK (1/2) +op : f32(-inf:0xff800000) * f32(-0x1.fffffe00000000000000p+127:0xff7fffff)= + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(inf:0x7f800000) flags=3DOK (2/0) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-inf:0xff800000) +res: f32(-inf:0xff800000) flags=3DOK (2/1) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-inf:0xff800000)= + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(inf:0x7f800000) flags=3DOK (2/2) +op : f32(-0x1.fffffe00000000000000p+127:0xff7fffff) * f32(-0x1.1874b200000= 000000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/0) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.fffffe00000000000000p+127:0xff7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/1) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.fffffe000000= 00000000p+127:0xff7fffff) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (3/2) +op : f32(-0x1.1874b200000000000000p+103:0xf30c3a59) * f32(-0x1.c0bab600000= 000000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (4/0) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.1874b200000000000000p+103:0xf30c3a59) +res: f32(-0x1.1874b000000000000000p+103:0xf30c3a58) flags=3DINEXACT (4/1) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.1874b2000000= 00000000p+103:0xf30c3a59) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (4/2) +op : f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) * f32(-0x1.31f750000000= 00000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(0x1.0c27f800000000000000p+60:0x5d8613fc) flags=3DINEXACT (5/0) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.c0bab600000000000000p+99:0xf1605d5b) +res: f32(-0x1.c0bab400000000000000p+99:0xf1605d5a) flags=3DINEXACT (5/1) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.c0bab6000000= 00000000p+99:0xf1605d5b) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(0x1.26c46000000000000000p+34:0x50936230) flags=3DINEXACT (5/2) +op : f32(-0x1.31f75000000000000000p-40:0xab98fba8) * f32(-0x1.505444000000= 00000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(0x1.91f93e00000000000000p-106:0x0ac8fc9f) flags=3DINEXACT (6/0) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(-0x1.31f75000000000000000p-40:0xab98fba8) +res: f32(-0x1.31f74e00000000000000p-40:0xab98fba7) flags=3DINEXACT (6/1) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(-0x1.31f75000000= 000000000p-40:0xab98fba8) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544200000000000000p-66:0x9ea82a21) flags=3DINEXACT (6/2) +op : f32(-0x1.50544400000000000000p-66:0x9ea82a22) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (7/0) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(-0x1.50544400000000000000p-66:0x9ea82a22) +res: f32(-0x1.50544400000000000000p-66:0x9ea82a22) flags=3DOK (7/1) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(-0x1.50544400000000= 000000p-66:0x9ea82a22) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (7/2) +op : f32(-0x1.00000000000000000000p-126:0x80800000) * f32(0x0.000000000000= 00000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (8/0) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(-0x1.00000000000000000000p-126:0x80800000) +res: f32(-0x1.00000000000000000000p-126:0x80800000) flags=3DOK (8/1) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(-0x1.000000000000= 00000000p-126:0x80800000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(-0x0.00000000000000000000p+0:0x80000000) flags=3DUNDERFLOW INEXAC= T (8/2) +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DOK (9/0) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DUNDERFLOW INEXACT= (9/1) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x0.00000000000000= 000000p+0:0000000000) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.00000000000000000000p-126:0x00800000) flags=3DOK (9/2) +op : f32(0x1.00000000000000000000p-126:0x00800000) * f32(0x1.0000000000000= 0000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.ffffe600000000000000p-25:0x337ffff3) flags=3DINEXACT (10/0) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.00000000000000000000p-126:0x00800000) +res: f32(0x1.ffffe600000000000000p-50:0x26fffff3) flags=3DINEXACT (10/1) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.00000000000000= 000000p-126:0x00800000) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.00000000000000000000p-25:0x33000000) flags=3DINEXACT (10/2) +op : f32(0x1.00000000000000000000p-25:0x33000000) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (11/0) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000000000000000000p-25:0x33000000) +res: f32(0x1.0007fe00000000000000p-25:0x330003ff) flags=3DINEXACT (11/1) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000000000000= 000000p-25:0x33000000) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0001f200000000000000p-24:0x338000f9) flags=3DINEXACT (11/2) +op : f32(0x1.ffffe600000000000000p-25:0x337ffff3) * f32(0x1.ff801a00000000= 000000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00000c00000000000000p-14:0x38800006) flags=3DINEXACT (12/0) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.ffffe600000000000000p-25:0x337ffff3) +res: f32(0x1.0ffbf400000000000000p-24:0x3387fdfa) flags=3DINEXACT (12/1) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.ffffe600000000= 000000p-25:0x337ffff3) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ff801a00000000000000p-15:0x387fc00d) flags=3DINEXACT (12/2) +op : f32(0x1.ff801a00000000000000p-15:0x387fc00d) * f32(0x1.00000c00000000= 000000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00000000000000000000p+0:0x3f800000) flags=3DINEXACT (13/0) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.ff801a00000000000000p-15:0x387fc00d) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/1) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.ff801a000000000= 00000p-15:0x387fc00d) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.ffc01800000000000000p-14:0x38ffe00c) flags=3DINEXACT (13/2) +op : f32(0x1.00000c00000000000000p-14:0x38800006) * f32(0x1.00000000000000= 000000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/0) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000c00000000000000p-14:0x38800006) +res: f32(0x1.00440000000000000000p+0:0x3f802200) flags=3DINEXACT (14/1) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.00000c000000000= 00000p-14:0x38800006) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.00040000000000000000p+0:0x3f800200) flags=3DINEXACT (14/2) +op : f32(0x1.00000000000000000000p+0:0x3f800000) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/0) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.00000000000000000000p+0:0x3f800000) +res: f32(0x1.80400000000000000000p+1:0x40402000) flags=3DOK (15/1) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.000000000000000= 00000p+0:0x3f800000) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.80200000000000000000p+1:0x40401000) flags=3DOK (15/2) +op : f32(0x1.00400000000000000000p+0:0x3f802000) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.2e185400000000000000p+2:0x40970c2a) flags=3DOK (16/0) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.00400000000000000000p+0:0x3f802000) +res: f32(0x1.9c00a800000000000000p+2:0x40ce0054) flags=3DOK (16/1) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.004000000000000= 00000p+0:0x3f802000) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.2e23d200000000000000p+2:0x409711e9) flags=3DINEXACT (16/2) +op : f32(0x1.00000000000000000000p+1:0x40000000) * f32(0x1.5bf0a8000000000= 00000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.12804000000000000000p+3:0x41094020) flags=3DINEXACT (17/0) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.00000000000000000000p+1:0x40000000) +res: f32(0x1.51458000000000000000p+3:0x4128a2c0) flags=3DINEXACT (17/1) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.000000000000000= 00000p+1:0x40000000) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.200c0400000000000000p+3:0x41100602) flags=3DINEXACT (17/2) +op : f32(0x1.5bf0a800000000000000p+1:0x402df854) * f32(0x1.921fb6000000000= 00000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ffcf1400000000000000p+15:0x477fe78a) flags=3DINEXACT (18/0) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.5bf0a800000000000000p+1:0x402df854) +res: f32(0x1.91ed3a00000000000000p+17:0x4848f69d) flags=3DINEXACT (18/1) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.5bf0a800000000= 000000p+1:0x402df854) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.5bc56000000000000000p+17:0x482de2b0) flags=3DINEXACT (18/2) +op : f32(0x1.921fb600000000000000p+1:0x40490fdb) * f32(0x1.ffbe00000000000= 00000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.08edee00000000000000p+18:0x488476f7) flags=3DINEXACT (19/0) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.921fb600000000000000p+1:0x40490fdb) +res: f32(0x1.ff7e0800000000000000p+31:0x4f7fbf04) flags=3DINEXACT (19/1) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.921fb600000000= 000000p+1:0x40490fdb) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.08ee7800000000000000p+18:0x4884773c) flags=3DINEXACT (19/2) +op : f32(0x1.ffbe0000000000000000p+15:0x477fdf00) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+31:0x4f7fc004) flags=3DINEXACT (20/0) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbe0000000000000000p+15:0x477fdf00) +res: f32(0x1.ff840600000000000000p+31:0x4f7fc203) flags=3DINEXACT (20/1) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbe0000000000= 000000p+15:0x477fdf00) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+31:0x4f7fc103) flags=3DINEXACT (20/2) +op : f32(0x1.ffc00000000000000000p+15:0x477fe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff860600000000000000p+31:0x4f7fc303) flags=3DINEXACT (21/0) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+15:0x477fe000) +res: f32(0x1.ff820600000000000000p+32:0x4fffc103) flags=3DINEXACT (21/1) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+15:0x477fe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff800800000000000000p+32:0x4fffc004) flags=3DINEXACT (21/2) +op : f32(0x1.ffc20000000000000000p+15:0x477fe100) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff830600000000000000p+32:0x4fffc183) flags=3DINEXACT (22/0) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc20000000000000000p+15:0x477fe100) +res: f32(0x1.ff7f8800000000000000p+33:0x507fbfc4) flags=3DINEXACT (22/1) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc20000000000= 000000p+15:0x477fe100) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff840600000000000000p+32:0x4fffc203) flags=3DINEXACT (22/2) +op : f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.ff800800000000000000p+33:0x507fc004) flags=3DINEXACT (23/0) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.ffbf0000000000000000p+16:0x47ffdf80) +res: f32(0x1.ff820600000000000000p+33:0x507fc103) flags=3DINEXACT (23/1) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.ffbf0000000000= 000000p+16:0x47ffdf80) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.ff810600000000000000p+33:0x507fc083) flags=3DINEXACT (23/2) +op : f32(0x1.ffc00000000000000000p+16:0x47ffe000) * f32(0x1.ffc10000000000= 000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.c0bab600000000000000p+99:0x71605d5b) flags=3DINEXACT (24/0) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.ffc00000000000000000p+16:0x47ffe000) +res: f32(0x1.c0837e00000000000000p+116:0x79e041bf) flags=3DINEXACT (24/1) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.ffc00000000000= 000000p+16:0x47ffe000) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.c0829e00000000000000p+116:0x79e0414f) flags=3DINEXACT (24/2) +op : f32(0x1.ffc10000000000000000p+16:0x47ffe080) * f32(0x1.c0bab600000000= 000000p+99:0x71605d5b) + f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/0) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(0x1.ffc10000000000000000p+16:0x47ffe080) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/1) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(0x1.ffc1000000000= 0000000p+16:0x47ffe080) + f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(0x1.fffffe00000000000000p+127:0x7f7fffff) flags=3DOVERFLOW INEXAC= T (25/2) +op : f32(0x1.c0bab600000000000000p+99:0x71605d5b) * f32(0x1.fffffe00000000= 000000p+127:0x7f7fffff) + f32(inf:0x7f800000) +res: f32(inf:0x7f800000) flags=3DOK (26/0) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(0x1.c0bab600000000000000p+99:0x71605d5b) +res: f32(inf:0x7f800000) flags=3DOK (26/1) +op : f32(inf:0x7f800000) * f32(0x1.c0bab600000000000000p+99:0x71605d5b) + = f32(0x1.fffffe00000000000000p+127:0x7f7fffff) +res: f32(inf:0x7f800000) flags=3DOK (26/2) +op : f32(0x1.fffffe00000000000000p+127:0x7f7fffff) * f32(inf:0x7f800000) += f32(nan:0x7fc00000) +res: f32(nan:0x7fc00000) flags=3DOK (27/0) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(0x1.fffffe00000000000= 000p+127:0x7f7fffff) +res: f32(nan:0x7fc00000) flags=3DOK (27/1) +op : f32(nan:0x7fc00000) * f32(0x1.fffffe00000000000000p+127:0x7f7fffff) += f32(inf:0x7f800000) +res: f32(nan:0x7fc00000) flags=3DOK (27/2) +op : f32(inf:0x7f800000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (28/0) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(inf:0x7f800000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/1) +op : f32(nan:0x7fa00000) * f32(inf:0x7f800000) + f32(nan:0x7fc00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (28/2) +op : f32(nan:0x7fc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (29/0) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(nan:0x7fc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (29/1) +op : f32(-nan:0xffa00000) * f32(nan:0x7fc00000) + f32(nan:0x7fa00000) +res: f32(nan:0x7fc00000) flags=3DINVALID (29/2) +op : f32(nan:0x7fa00000) * f32(-nan:0xffa00000) + f32(-nan:0xffc00000) +res: f32(-nan:0xffe00000) flags=3DINVALID (30/0) +op : f32(-nan:0xffa00000) * f32(-nan:0xffc00000) + f32(nan:0x7fa00000) +res: f32(-nan:0xffc00000) flags=3DINVALID (30/1) +op : f32(-nan:0xffc00000) * f32(nan:0x7fa00000) + f32(-nan:0xffa00000) +res: f32(nan:0x7fe00000) flags=3DINVALID (30/2) +# LP184149 +op : f32(0x0.00000000000000000000p+0:0000000000) * f32(0x1.000000000000000= 00000p-1:0x3f000000) + f32(0x0.00000000000000000000p+0:0000000000) +res: f32(0x0.00000000000000000000p+0:0000000000) flags=3DOK (31/0) +op : f32(0x1.00000000000000000000p-149:0x00000001) * f32(0x1.0000000000000= 0000000p-149:0x00000001) + f32(0x1.00000000000000000000p-149:0x00000001) +res: f32(0x1.00000000000000000000p-149:0x00000001) flags=3DUNDERFLOW INEXA= CT (32/0) --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526440; cv=none; d=zohomail.com; s=zohoarc; b=nU94lAe2yor2qP6Ysnl95dJUKoOCrD7stWjZsmBTfnwmAcbfPrUqmtIvirMVP3gMSkSRNt35K5MPGJSj7SXF5WBpZhu1dhzdZEaSfpL56Vl6mlZESU81AiNcv1blf0WM7RKSihdfWQZn890xpVS53nk3dm3eQGiHYPWY2eRxNuc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526440; 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=S8eQ+7Z6+0xFs1DW+qXSLA+xxMg7Efwg9xJ1Y21YCVI=; b=HIThPbG6EatIXI6e4cNFw3b2xVwJgX6clSvAnNfCfx4RNwjIoaeKmhQbJlmpJztDDWAnp+/d/N4DAktqMDQCY2a8eWdKb5ttPNaI1khUd5Br62iVbq+flnTBG7t6ni9nrtQC1ioD6ppSCflc6FByuOrAICXGciGPGgaweFV62IY= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526440698698.3503740711554; Fri, 4 Sep 2026 05:54:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQG-0001df-Ul; Fri, 04 Sep 2026 08:53:36 -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 1x2TQE-0001cG-RW for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQC-0000gI-UQ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-48586861639so678803f8f.0 for ; Fri, 04 Sep 2026 05:53:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883959f0sm6611886f8f.10.2026.09.04.05.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 265D061DD8; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526411; x=1789131211; 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=S8eQ+7Z6+0xFs1DW+qXSLA+xxMg7Efwg9xJ1Y21YCVI=; b=wrzMMSenO2WOMr9MMqhqmVfWUi2uGZw0Jif6OjRTxPoQTRSlgUqdlnmbi8yuCJbJFF bxUj08B6qYhO6LM83E/vL2QditfIJQsCX31kude5o9kxkKfFTD77Njbun4h4B2N0AT8X TJQw8n2VVBxFb62Jv4Z0lzvrHVAaZPT1st5/dgM8ynsffwZlFICMHfrK9za56qwooSZQ 5VK/gnSJaBGewEK8sH7TWAWYpNjaP5Pf5a5LyYkR/ZRZ+9wssz77oKKh4tPjM4GNGW5h R52d/lzM5w4/kPrMR6BVgTc5BFg47aqXfFNcHOgImb5c7WRRUP61Wtn6JUstbl48fO31 FHMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526411; x=1789131211; 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=S8eQ+7Z6+0xFs1DW+qXSLA+xxMg7Efwg9xJ1Y21YCVI=; b=OYZJtkr/UBmbYI7cG2XmXX7bFdmJP/n02Elo4AXefGo+PWOMmGn1eopjhFPw2vCt/9 0D4jaiF+tU+nGprpGVrZh1H+fpw1h/ZxkEHZJ2wopNO0rx7gw0yFf+pYqJRtkdTItsMn kA44F8n7Ibovs5R0gxsaaIBE3Fpq2/J2U35qXUfn5qbyK77H6QeTBePROXDb5JiF98p4 PVP47vunxTWGhUCGAMg2TiLOXXqA+DNGPI4P3VYgZXl3RMutD2aLI2mOnpsDguJgsipg dEkXlOD+OKN5+bNU1vg2ZDK21bwrtOIOQustNEUsgwiJf1DkgNfWWOztUDEEq5wn0Dat si0g== X-Gm-Message-State: AFuF++mcYBJNWhC+SQ1wv8SfGAO3amBPT7T1u8ZbtnrEbV7zpP77DnnL zg2kVy5KUEEupToqGMt/RTt7bBl55TAeQMAF0A5dGhZ8sMs1xhnX6EcED+zQ3GVgvOo= X-Gm-Gg: AYBFou3BppMTqgC6Hr+MT1TUItuPDaypXshCtHrXZHFZxbZ0uSA5GD6RHidbWOCeWTY GBtasQmk4I0Gbl8kweNfs346tGABaaFb4bQOQmYjj9sOudcpAr/mNqxnKeRy36MeuSBqRSPVHSq VdB7YYyRTjQxyyeE/tSORpbDbGVy5giJ9c9JmzoXMdoZV/vMIr3O1WMalrp1sfgibGwbOF+bxLG qKA59/rqAITAqRi5VMjwVOQFws0UzigEDHBsbFn7c1LEUedNolMnVTwGxJejKd/DhMGhtuFeU2Z BQbu6NCLF7kN0lK9DMcHTX73NRkWWkuub/rdDVvttnvOMYfi4EsWbVrlrmBqhGunp9HCUwh0AYg 09apQSS6L0ib42ri2gnXrmWHFGSWB9IJd0Kp/1kXw/Cl7YB0pzsxkLFP9E8d4SDN0QLv4J2rDiW MnOkPNWLRGRsRUMTGpcvZJtXK0wgXKVhVnCeJxgymy4Es5F0YkT2mpbY4apo9LZgs5kTgFtFI= X-Received: by 2002:adf:e011:0:20b0:485:8e0c:641e with SMTP id ffacd0b85a97d-4858e0c648bmr1255307f8f.22.1788526411360; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson Subject: [PULL 091/105] tests/tcg/x86_64: user tests Date: Fri, 4 Sep 2026 13:45:45 +0100 Message-ID: <20260904124604.2207440-92-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::434; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x434.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526443592158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-92-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 4903947a636..163e0a96753 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -155,6 +155,7 @@ subdir('riscv64') subdir('s390x') subdir('sh4') subdir('tricore') +subdir('x86_64') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.t= arget deleted file mode 100644 index 9994dff4c44..00000000000 --- a/tests/tcg/x86_64/Makefile.target +++ /dev/null @@ -1,41 +0,0 @@ -# -*- Mode: makefile -*- -# -# x86_64 tests - included from tests/tcg/Makefile.target -# -# Currently we only build test-x86_64 and test-i386-ssse3 from -# $(SRC_PATH)/tests/tcg/i386/ -# - -#include $(SRC_PATH)/tests/tcg/i386/Makefile.target - -X86_64_TESTS +=3D test-2413 - -ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET)) -X86_64_TESTS +=3D vsyscall -X86_64_TESTS +=3D noexec -X86_64_TESTS +=3D cmpxchg -X86_64_TESTS +=3D adox -X86_64_TESTS +=3D segment-prefixes -X86_64_TESTS +=3D test-1648 -X86_64_TESTS +=3D test-2175 -X86_64_TESTS +=3D cross-modifying-code -X86_64_TESTS +=3D fma -TESTS=3D$(MULTIARCH_TESTS) $(X86_64_TESTS) #test-x86_64 -else -TESTS=3D$(MULTIARCH_TESTS) -endif - -adox: CFLAGS=3D-O2 - -run-test-i386-ssse3: QEMU_OPTS +=3D -cpu max -run-plugin-test-i386-ssse3-%: QEMU_OPTS +=3D -cpu max - -cross-modifying-code: CFLAGS+=3D-pthread -cross-modifying-code: LDFLAGS+=3D-pthread - -#test-x86_64: LDFLAGS+=3D-lm -lc -#test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h -# $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) - -%: $(SRC_PATH)/tests/tcg/x86_64/%.c - $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) diff --git a/tests/tcg/x86_64/meson.build b/tests/tcg/x86_64/meson.build new file mode 100644 index 00000000000..2607a1cbcf4 --- /dev/null +++ b/tests/tcg/x86_64/meson.build @@ -0,0 +1,82 @@ +cc =3D 'x86_64-linux-gnu-gcc' +cc_dockerfile =3D 'debian-amd64-cross' +cc_docker_host_arch =3D ['x86_64'] + +tests =3D [] + +tests +=3D tcg_tests['multiarch-linux-user']['tests'] + +test_3dnow_h =3D custom_target('test_3dnow_h', + command: [files('../i386/test-mmx.py'), + files('../i386/x86.csv'), + '@OUTPUT@', + '3DNOW'], + output: 'test-3dnow.h') + +test_avx_h =3D custom_target('test_avx_h', + command: [files('../i386/test-avx.py'), + files('../i386/x86.csv'), + '@OUTPUT@'], + output: 'test-avx.h') + +test_mmx_h =3D custom_target('test_mmx_h', + command: [files('../i386/test-mmx.py'), + files('../i386/x86.csv'), + '@OUTPUT@', + 'MMX', 'SSE', 'SSE2', 'SSE3', 'SSSE3'= ], + output: 'test-mmx.h') + +tests +=3D { + '../i386/test-i386-ssse3.c': {}, + '../i386/test-3dnow.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-masm=3Dintel', '-O'], + 'depends': [test_3dnow_h], + }, + '../i386/test-avx.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-mavx', '-masm=3Dintel', '-O'], + 'depends': [test_avx_h], + }, + '../i386/test-flags.c': {}, + '../i386/test-mmx.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-masm=3Dintel', '-O'], + 'depends': [test_mmx_h], + }, + '../i386/test-i386.c': { + 'cflags': ['-lm', '-lc'], + 'exe_name': 'test-x86_64' + }, + '../i386/test-i386-adcox.c': {'cflags': ['-O2']}, + '../i386/test-i386-bmi2.c': {'cflags': ['-O2', '-fwrapv']}, +} + +tests +=3D { + 'adox.c': {'cflags': ['-O2']}, + 'cmpxchg.c': {}, + 'cross-modifying-code.c': { + 'cflags': ['-pthread', '-Wl,--no-warn-rwx-segments'] + }, + 'fma.c': {}, + 'noexec.c': {}, + 'segment-prefixes.c': {}, + 'test-1648.c': {}, + 'test-2175.c': {}, + 'test-2413.c': {}, + 'vsyscall.c': {}, +} + +if 'qemu-x86_64' in emulators + tcg_tests +=3D { + 'x86_64-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'x86_64', + 'gdb_arch': 'x86_64', + 'qemu': emulators['qemu-x86_64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527156; cv=none; d=zohomail.com; s=zohoarc; b=nhd7taXP3Nr1rID5IelGXwN3CxQzbIkvYfBmiGZpJrRrNvWeEC0NBRMPwuRyDxcpvoKoUzR5p0kECbIoBPclgHnCafD6Z+O1PyyMBkq+syU316xKWLt1QrOG9WSCN9rD0AfxrMouRWMeUgVN86YVhbZlgriy8TS0DQVCovRLMiI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527156; 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=0ZKsUexTYgmpm8KblGBVOPBvs/i1QuXtNlPzSUg/xbE=; b=KOW8Z3KHO9Bj3/JnMbytdbbw5viNHtORYTjKu5IWoWpi9pMj5fwJ8QUHa6lwnBVm+mrkCTsRUeMzJEZwQXmE4xvgSB8UXpDSkq5SK08gWqzWRQsVWK+UWE34ol0o7BYnIWIgmnVjLntKOHKQmkMyvloW3NF+9zI7jelnqhWO870= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527156110380.2831728678234; Fri, 4 Sep 2026 06:05:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaS-0006fO-Ob; Fri, 04 Sep 2026 09:04:08 -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 1x2TZw-0006P6-HT for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:39 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZt-00036n-3P for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:34 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4980fe6b3beso15246115e9.0 for ; Fri, 04 Sep 2026 06:03:32 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5d476esm169675095e9.1.2026.09.04.06.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3F5FD61DDB; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527011; x=1789131811; 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=0ZKsUexTYgmpm8KblGBVOPBvs/i1QuXtNlPzSUg/xbE=; b=rHV+Qrg0qhOQi14vbwKwjHWKLq9sDp2TAPWmRluMVi1aUocHhr3AOE9djOd76a9i7m R9rFQbWN4g+LwnYRTJnEdYLnDezWAzqX2EscoFlCTRUCq3RIl9OlwnOaJAim3xTXMohc 0eGhkvrTMHM9qYElw9FMbAQwQTRcA4QfuGJdlKKRbSLS0ZEkHcnWYxP4wOrSj2fbzRzL nFv9B6YyHTi+S0fZosN55xf5kOc+vVt1aFpjyPfxHA/O3W09oVFrpfjFuncykQuCEPMG 9kHwGFf2La3kdfE6wMwVU/DfJLpDvCjPO8K1ZayNstCzUQcYb+aIDGQVgtxrf+SxtG37 qGwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527011; x=1789131811; 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=0ZKsUexTYgmpm8KblGBVOPBvs/i1QuXtNlPzSUg/xbE=; b=GkLl4lamEfzffw+DIiN7ECOpL9gPgNpvJuaCP25O85KGzcjzVe2e8WxrT+hvfesKkp vmrc3gOU1qzWvlbgc86NfG1lhFbgv/MB/1j7+LGHX7cZ+QArEq2x39AptFTWOfRmxkUI IV2iGUfzuusaWa5j2J6zpUouU2izRbQps0MppI/K5SjFi8MirgDY/1/SQumg0DBxNHo1 ofr9nEA5HyGDm6eNpLeCkYajZO2e5fz5Ep7u2vBZyQO/64Qnvx3C1oAYLVWn3yVTmYlP Zn9YZLiJOiVqSf2gEwMCR+yyEcEQhY9pFRpF0cfYjTZoTpDwD44j1fjmEM9t2FE9p/yZ xBpA== X-Gm-Message-State: AFuF++n0yNOAJ7E2Z8okfYIfv13Yh+WL0NkW7yuMAd0paud33RAyTiG4 lwqkEP1K0IwbQQjCtQvuC6X13JOzZLlYfaqT189nCqJhBfBcO51BA0XlmXWfhM2VtCc= X-Gm-Gg: AYBFou2Msbojh/CfPH6PR7uwvIvQ5fRPJhXzrDacaLNVK0EYjlwpWS/frWFn4Tz48rk FtCxZCmd/9fxSQHxiWV1NQDYt6+RAmpcXVq1YxU7/LvpwP9LO/Q3LRpAhqEDxvTtRbcfIuKvOiE ULHAJHMhRd/w25c31E7a5t6gnS2vETHmKvsovobAzIjwd4sSdiUJcZQU/3IJxindFj3wTb3dh/s 8HYKjZEvJr7W68AGJ0hZo+wmqqvy6EFhl3Ik4FjJNUEowSsO0QkKX2p2sRxUl0zZIVXVnFQ7GJS UAFBfT8W/sJ5BGpKZ++9x5IKcA9tbvELL/xHqRsRE2dcY6u2dizyEOQ0HI0Zzg76GF/y0B8QKER p7gMWRp4VgWv/nklML3z7vUMR3xdSkZYSY4Bgtr4/lwOzn3K+ZPB3hYPNCeQnwsd++APUqjodrV 8FXLNcDelXx3E+uOU74JhR7j2aFKawjMUXSRxoEDka5w1scQJcUqWnX9CRrgcB X-Received: by 2002:a05:600c:a05:b0:49c:f501:e428 with SMTP id 5b1f17b1804b1-49cf82e5b1amr44268815e9.8.1788527011036; Fri, 04 Sep 2026 06:03:31 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson Subject: [PULL 092/105] tests/tcg/x86_64: system tests Date: Fri, 4 Sep 2026 13:45:46 +0100 Message-ID: <20260904124604.2207440-93-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527157065158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-93-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/x86_64/Makefile.softmmu-target b/tests/tcg/x86_64/Ma= kefile.softmmu-target deleted file mode 100644 index 4e65f58b570..00000000000 --- a/tests/tcg/x86_64/Makefile.softmmu-target +++ /dev/null @@ -1,44 +0,0 @@ -# -# x86_64 system tests -# - -X64_SYSTEM_SRC=3D$(SRC_PATH)/tests/tcg/x86_64/system -X64_SYSTEM_TESTS=3D$(patsubst $(X64_SYSTEM_SRC)/%.c, %, $(wildcard $(X64_S= YSTEM_SRC)/*.c)) - -VPATH+=3D$(X64_SYSTEM_SRC) - -# These objects provide the basic boot code and helper functions for all t= ests -CRT_OBJS=3Dboot.o - -CRT_PATH=3D$(X64_SYSTEM_SRC) -LINK_SCRIPT=3D$(X64_SYSTEM_SRC)/kernel.ld -LDFLAGS=3D-Wl,-T$(LINK_SCRIPT) -Wl,-melf_x86_64 -CFLAGS+=3D-nostdlib -ggdb -O0 $(MINILIB_INC) -LDFLAGS+=3D-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc - -TESTS+=3D$(MULTIARCH_TESTS) $(X64_SYSTEM_TESTS) -EXTRA_RUNS+=3D$(MULTIARCH_RUNS) - -# building head blobs -.PRECIOUS: $(CRT_OBJS) - -%.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack -c $< -o $@ - -# Build and link the tests -%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) - -memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 - -# Running -QEMU_OPTS+=3D-device isa-debugcon,chardev=3Doutput -device isa-debug-exit,= iobase=3D0xf4,iosize=3D0x4 -kernel - -ifeq ($(CONFIG_PLUGIN),y) -run-plugin-patch-target-with-libpatch.so: \ - PLUGIN_ARGS=3D$(COMMA)target=3Dffc0$(COMMA)patch=3D9090$(COMMA)use_hwaddr= =3Dtrue -run-plugin-patch-target-with-libpatch.so: \ - CHECK_PLUGIN_OUTPUT_COMMAND=3D$(X64_SYSTEM_SRC)/validate-patch.py $@.out -run-plugin-patch-target-with-libpatch.so: patch-target libpatch.so -EXTRA_RUNS_WITH_PLUGIN+=3Drun-plugin-patch-target-with-libpatch.so -endif diff --git a/tests/tcg/x86_64/meson.build b/tests/tcg/x86_64/meson.build index 2607a1cbcf4..ab336eca9b2 100644 --- a/tests/tcg/x86_64/meson.build +++ b/tests/tcg/x86_64/meson.build @@ -2,6 +2,8 @@ cc =3D 'x86_64-linux-gnu-gcc' cc_dockerfile =3D 'debian-amd64-cross' cc_docker_host_arch =3D ['x86_64'] =20 +subdir('system') + tests =3D [] =20 tests +=3D tcg_tests['multiarch-linux-user']['tests'] diff --git a/tests/tcg/x86_64/system/meson.build b/tests/tcg/x86_64/system/= meson.build new file mode 100644 index 00000000000..80110d0ae57 --- /dev/null +++ b/tests/tcg/x86_64/system/meson.build @@ -0,0 +1,63 @@ +tests =3D [] + +minilib_dir =3D meson.current_source_dir() / '..' / '..' / 'minilib' +minilib_printf =3D files(minilib_dir / 'printf.c')[0] +link_script =3D files('kernel.ld')[0] +boot =3D files('boot.S')[0] +cflags =3D ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-I', minilib_dir, minilib_printf, boot, + '-Wl,-T', link_script, + '-Wl,-melf_x86_64', + '-Wl,--no-warn-rwx-segments', + '-Wl,--build-id=3Dnone', + '-lgcc'] +qemu_def_args =3D ['-display', 'none', + '-device', 'isa-debugcon,chardev=3Dstdio', + '-chardev', 'stdio,id=3Dstdio', + '-device', 'isa-debug-exit,iobase=3D0xf4,iosize=3D0x4', + '-kernel'] + +# Multi arch tests +multi_src =3D [] +foreach t: tcg_tests['multiarch-softmmu']['tests'] + foreach src, setup: t + new_cflags =3D cflags + if fs.stem(src) =3D=3D 'memory' + new_cflags +=3D '-DCHECK_UNALIGNED=3D1' + endif + if src not in multi_src + setup +=3D {'cflags': [new_cflags]} + multi_src +=3D src + endif + tests +=3D {src: setup + {'qemu_args': qemu_def_args}} + endforeach +endforeach + +tests +=3D { + 'patch-target.c': { + 'cflags': cflags, + 'qemu_args': qemu_def_args, + 'plugin_test': { + 'plugin': 'patch', + 'args': ['target=3Dffc0', 'patch=3D9090', 'use_hwaddr=3Dtrue'], + }, + 'wrapper': [prog_check_plugin_output, + find_program('./validate-patch.py')] + } +} + +if 'qemu-system-x86_64' in emulators + tcg_tests +=3D { + 'x86_64-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'x86_64/system', + 'gdb_arch': 'x86_64', + 'qemu': emulators['qemu-system-x86_64'], + 'tests': tests, + } + } +endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526441; cv=none; d=zohomail.com; s=zohoarc; b=SagEoA4I6VSeVNecmvXo+rA5OkrlUNyVndy3dTKfpvjvM3mWPAWMcjhwFWi8TrFTGwW1yISyUqYgYcGMKkh/h0ZnWi9Yql3lMKPwwUbmyDqw1qWxgAi/0PZoWcvuFIUtDs/BQFPhch/oBxZY5vXG2aqM+Ycw5S5JtouX+ObCnxc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526441; 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=RCBCqNf55K7xHMoHzaj/l3Ean3qG59R7LnRcJutki7o=; b=hpe6R740R9KSxj+3clL9yUfQ7BdyEFEll/g11Z2zeaRQYBGroMcz8F2Wqh0VPBT2STLerNTgHs9H7sqC2hmuH9DS/O0o/Vy9tS3c9KDFHgyqbemlgwIfoDWwdZFV6pwbwftE0+JtLGdJfEX5uJtw9lZ5ffp9lQCxHI3EwkbZfrs= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852644108271.11649089466846; Fri, 4 Sep 2026 05:54:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQ9-0001YA-H4; Fri, 04 Sep 2026 08:53:29 -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 1x2TQ8-0001Xn-38 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:28 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ6-0000e7-Db for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:27 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4954a9e8490so11438545e9.1 for ; Fri, 04 Sep 2026 05:53:25 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf771e9absm69124345e9.9.2026.09.04.05.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 56A44613B5; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526405; x=1789131205; 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=RCBCqNf55K7xHMoHzaj/l3Ean3qG59R7LnRcJutki7o=; b=EOMty5P5aEe9kFVcI2eUGoQQFaaCdsjHFV9FW4qU8HLkxeN9GeEhszkH9Bsq8BGPa+ hYQYTdqTt+obobieQwZxunOZgOh5ixwBJPnCezl6s5zNdFR5H91LStVU+dnEkYd9GLVE 2xIuf3YfAVL/xcPmAmkPF2D7xqsANlVaoh2Z3mTTysWiifKc4sWEj2gB16Jc9AQN0SpY dKbyqkV14w45vJu8jbvmrEPGFNJUfspZRiZ32ZMGzTq4kNR7sK3od1uY7IO8ZqV2hYJ6 PdnYLGAcU7q69PXMjvKZpCnBcm1ktU4uZuc6x/Cau28snTGeGvQximEJ54BDp4PCY4s0 WnAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526405; x=1789131205; 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=RCBCqNf55K7xHMoHzaj/l3Ean3qG59R7LnRcJutki7o=; b=Bs1CeIFZ4bO4FHpRCg1TZemVostKtdpnibp8HsJpt20wPreV7kTBV05Ud1NnL3k1Dj G6sWG0KcAsAReBMdAW1h20sc5Af8YwxqTMemA/QJmmqbvAV9BP/KVVDIjwuO+LRgJbGp g15JktcxptEA81fqQ8HqW8goSVMk530M6y/BFS67AB99Zrx/HCRYpbMlFbmJ9B3BH36G euX91zYsRNKSYhO7mV/SDIrt/09/r9bEE7lcL1HWJCehcdb5TXuZsdURcaVZY9Xsho+w TJAVNoEZf9Kh5ee86svpwQBooE3Ml6RHuhd5CfbI7ovLg4KpvbF5x6jx1mmLpCbe5qrk mzlg== X-Gm-Message-State: AFuF++njU2EcSD1kV3m68b/gg+QKw/8qJ5cQbxAgRL4A5YgDXiXLikLr luCJIItgX0Jv9yU+dxK39Jr737v46wsbO/ZhdUYW4kGst0QFA7CG8cPQ9njiJR9hhIE= X-Gm-Gg: AYBFou0+EySjlbF78udnWUwiYwLkhOuQMIbH1rRRmx39NjpuFXYOpUnobpG5wVv673h 1MGqHrr5u4UMFq7OlCGit9Wwc4CVomDtaVHq74WZrqnEWztFiSgVS7d+vTDjbkDit17J9fbFGGG mHIUBcCa6+k7lMvnuKF2Q92rsfL/qewR+xDH2QIZZszAkLwpqaJT/ec7+SN5iVZtQPlscMGcON1 Gb+edEAeiS2wmg3qofhw0dcqhGmzp9V91gThqwUvJApfIgYq+0nU9w/arpIRZImlmKWRMhDSkGf Zt5/+MHyuMKzCS2yN7G7I6wv/vzdixjK7jZXB/3f8Hh0hTpAs9N2Ulnqgp8RhX332r3hb8V1qXI goGLWApU4CieCrGvHQ68Jh7GZxuACDBNj2f7mzkJ/bURQTpsE829XinlBzAIfyIYvoTIrKI3hZ9 a4yHPUc1rj+GS50ptXonN36LD7kwg8QRULhdyiLSkqJiVpHK14d7AewShGmgUb X-Received: by 2002:a05:600c:4e4b:b0:49c:f13e:e50 with SMTP id 5b1f17b1804b1-49cf8925f99mr42441115e9.13.1788526404530; Fri, 04 Sep 2026 05:53:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Max Filippov , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu Subject: [PULL 093/105] tests/tcg/xtensa/crt.S: align .text section Date: Fri, 4 Sep 2026 13:45:47 +0100 Message-ID: <20260904124604.2207440-94-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526443469158500 From: Pierrick Bouvier Needed, else we get this error: dangerous relocation: l32r: misaligned literal target: .text Previously, .S and .c were compiled in different steps, with different options. Now, with meson, we have to provide a single compiler command for all the files (no intermediate steps), which is a *hard* requirement to save user from dealing with compilation details in arch files. One consequence is that .c + .S combination gets -mtext-section-literals, which triggers this. Easily fixed by adding the .align section. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Max Filippov Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-94-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/xtensa/crt.S b/tests/tcg/xtensa/crt.S index 909872cd385..de8fd8c1cd7 100644 --- a/tests/tcg/xtensa/crt.S +++ b/tests/tcg/xtensa/crt.S @@ -6,6 +6,7 @@ jx a2 =20 .text +.align 4 .global _start _start: #if XCHAL_HAVE_WINDOWED --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528305; cv=none; d=zohomail.com; s=zohoarc; b=dirXfRBV3bb5sYzYcn8aAR078vtlSgY+jqxeoVsNpPdI+CPO/NgeoxRjuu4D7JIXisOrPzrkTQ9j4hmMYUQtGN7R6JftGJU32ADshqxbhkU2QvV5rbYr2KxZHYMxbEg0NvkkFR9RW2CM+BD5sx9MkPjN2F6TO4LsAfGsxZ8OvS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528305; 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=SvEt8Hf8LMw1pvtF6NguqXUPwe1nFKcM+ugRFAyNtFs=; b=Q+oFBJozqPq4kfbqCNdSLvo5yVpnEd0aZ3uZme25hoWRMUn0XYKfZQeG0HzOvbGBgk2JbSX89UGDazWHx5v3jwTcsF1+2WGMd/yXKJ7/cFKLi6A3yitx1SYnsV2wysq3TqHKLCWmjDNM8DRr2pShfliwVpIjYUCwNQRinmnGCBU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528305484904.885987844866; Fri, 4 Sep 2026 06:25:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtH-0005VL-P3; Fri, 04 Sep 2026 09:23:35 -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 1x2TtE-0005TU-OQ for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:32 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtC-0008Hd-Cv for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:32 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-49b9320423cso10864755e9.0 for ; Fri, 04 Sep 2026 06:23:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cffdb2c40sm594215e9.1.2026.09.04.06.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6B3D661DED; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528209; x=1789133009; 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=SvEt8Hf8LMw1pvtF6NguqXUPwe1nFKcM+ugRFAyNtFs=; b=C1AXw3Jzgmy5/se5NnXk1fq2eM2lCB8na4Gu7CqGT5OqbPRxn+eIgtdIx4qfxs3zbA SIc/GOj+n8M47MmhS16AiH5cEEqA9uVQlTRFtTbMTsugvRfxxX/gLNvtOI4BhlXMO3bw myFeHgfi+RLBw45g0cwVOT+wqBoeP0TP6A7r+Z8FrAJ49BetQwnfRvNcjWqfON4mpmWN +yXt+umpdUhkgcR5aAW3+SOqUxiun9w4tNlrhx6oL7TXaNCG+nAK+pXmLd+eJD4WzpiG 9ED+/vd6hcFfhR8bKmaiRg+qBJp4EnPcdFCtup7vTsB4T9Z/oY4jr5hTisNjparZy9i3 J0Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528209; x=1789133009; 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=SvEt8Hf8LMw1pvtF6NguqXUPwe1nFKcM+ugRFAyNtFs=; b=ilPI4sewbieegqj1I3D4K6wYOMVHA7wDGUYzbm2CEJCtNkm3DIQYRZZ6XFBTDVIf7c x/DMBUtkOWm5c7nrWvm9B2vATdt4RRAAsUMquLWlSsejPVjam/8cJ4Raq+Nyq04jzlX8 WaOajrSUsAsM9jOcBUEcc43GmOE0seC8jkWhhWgLhGt08lOOsZOSyDyJgiYcYPSvN9wK Cn55z5+5emC/tL7rB6j+1/koI2nHoWQwZrjuow4hh1IEHXT/uvcLbOEcxdTa9SfW1VaD 2JmWGvbDemR98QHuxeWLlyzSWXpzCw8DZPmZYFQm1jFa8I4Q4tepZobh06EYYZc1Eyvc jVlA== X-Gm-Message-State: AFuF++n7nytJUzbqo7pFMun/fN59YSUkGgvCJtX6Tj+hKUjK9a7/CHI8 ta6ImohRjFT9JqDhmM8kM9yGbQsyzGBkvtl7yhzLop9eLom8PTuhQBQvIYUKHF4PeIY= X-Gm-Gg: AYBFou1c176N5iLpbLnWugR/MMKN1AjdzHresX6mKFIxdZf1XkWRGd1E0C9fZgwyXtc sbnfww8Z7DMBuv9oH4kDgQ5rXvmrFOffRb18mVQPjGh/XND3qSRjmZg5KW+ODOb9/eCuNsai+3b eoy0lhPcCLU1T0IdS/tH5+3ueByHnu4pniZAFb1AKjtjcYrmiwKxtPhxYmnKhXQoHvPdRg4uDst NEur5C11D3Kbm5qpTfZjQV35WiXGwzBmrIy3aRfn+0d2iHy4Ad08j4mGq0vsx7EtnFKfqIiBgbB n9Wy86W7E8gzFvH5Wds/OWWwtQTIyjfiiqXT0so1xOEnwFHyP/4GMCW+fPTvFNZi5ugKkOGpCEh zKwWGRiE7bePOyvPQpzCw1bvPScLKKhKBpoMVP+roub0oP/6+tyRDWZ/pdP5GJW/e29XaxJVujG UUGtN5DdixpXCgG1sde5XeAli+XRWTtibx7+CbO5JRNy6+r0CaZ2y/PM2jBhLo X-Received: by 2002:a05:600d:4452:20b0:493:f140:c3fb with SMTP id 5b1f17b1804b1-49cf81f1542mr78618725e9.7.1788528207426; Fri, 04 Sep 2026 06:23:27 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Max Filippov Subject: [PULL 094/105] tests/docker/dockerfiles/debian-xtensa-cross.docker: add test_kc705_be toolchain for xtensaeb Date: Fri, 4 Sep 2026 13:45:48 +0100 Message-ID: <20260904124604.2207440-95-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528305783158500 From: Pierrick Bouvier Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-95-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/do= cker/dockerfiles/debian-xtensa-cross.docker index d9130fc3378..0eb6d98cc75 100644 --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker @@ -19,7 +19,7 @@ RUN apt-get update && \ python3-minimal && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --sh= ow > /packages.txt =20 -ENV CPU_LIST=3D"dc232b dc233c de233_fpu dsp3400" +ENV CPU_LIST=3D"dc232b dc233c de233_fpu dsp3400 test_kc705_be" ENV TOOLCHAIN_RELEASE=3D2020.07 =20 RUN for cpu in $CPU_LIST; do \ @@ -27,7 +27,7 @@ RUN for cpu in $CPU_LIST; do \ | tar -xzC /opt; \ done =20 -ENV PATH=3D$PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLC= HAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu= -elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin +ENV PATH=3D$PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLC= HAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu= -elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin:/opt/$TOOLCHAIN_REL= EASE/xtensa-test_kc705_be-elf/bin ENV MAKE=3D/usr/bin/make # As a final step configure the user (if env is defined) ARG USER --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527190; cv=none; d=zohomail.com; s=zohoarc; b=g045Z92nWnIwS+U3sKI1P8+TO6c3ZtI+ETRJjZQPHYMvco08o2E4ZhsqleDTTfnfDh1kDkGyNoqsAlziiKvcr9ECLUfebiyIsgQynPjT7HCnRSBYDPPu1eXIhhXi/CTGkvitFqFK7m0+vy8rEG+l8kw4FSrUrXXcQGdWaKUuLX8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527190; 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=jH/YhAShmTlzf0+AabKSvAovvMGp8bar6oaO4P3LggI=; b=oE6HasnbVho/bHt3SdZFQ7l0o3hMhdxsmAaV32PTJtdkjMkInFHcr09IoRnWpA6jQ4i9o2nFMm1c8RUgpRK6quRWA4FnDmm3ZbwyXYOrUeYOih4zstXXCR0zQs0zx4S4aNJA4oZCTRb6jP6XQZkjTlAMLpahx3fH7ElHKKdJ5B8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527190420466.3655688142734; Fri, 4 Sep 2026 06:06:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaT-0006hY-Sb; Fri, 04 Sep 2026 09:04:09 -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 1x2TZs-0006Nj-3N for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:35 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZp-000351-Sj for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:31 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4995b0343c1so12965635e9.3 for ; Fri, 04 Sep 2026 06:03:29 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cfd3f8192sm29777095e9.3.2026.09.04.06.03.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 835E061DEE; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527008; x=1789131808; 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=jH/YhAShmTlzf0+AabKSvAovvMGp8bar6oaO4P3LggI=; b=kF1ndWoIwyf1RhDtxKDac4gTxJ2PF8esxWzHK6grFWmYy4fXri+iWfYmkh86dRrQ/y kJIp/iqpgKVbt50JzjdWkYwrTrf0tagPeyJgpaoZe16PWA4Xocg318ozQ2fMf1EHsPh3 y51B/p98biFtytPYO4KuEgTZ5ydUlup1eRWgkjLPFVofAtpt3xQG3HfPX42vXkiE+4eO SXw2kOymNOrTJqB9NsdLnJtueZdQjEUopE2hEh+GrTLFilQQR4CPc8RKwypoxnVEy3vg djIkYg3q7XIw5JbahLOQKAk+yhI8td4WpHu9OVppySkbt+/7F6dYsd33AbdZdj+RtkLm KZBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527008; x=1789131808; 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=jH/YhAShmTlzf0+AabKSvAovvMGp8bar6oaO4P3LggI=; b=VeVsyk2IbEwbJ/o0hPp2Vd4zmy5Jp+tQ+k4hyT0N+3DGdtre58Ho6H+Lowys5uvkS7 shsaq5dHIJTgpDAIkih0VeqqojL2AXivpBYC05UAFlgkBypo7qWbEXpB4Hfa39iUMgqR bgen0DxWNki5XjLj77ZyR1iIiUTrIWntBq1V7y2tloW34iKz6gRqhbTkaAQMSXvL31JR De7yO+C2GHKYO+VuIP9IGHKaIJzly4W9qvE+eFTJGtUj6m+9YrCAx0J9LHAyj48gQb8O 0fLrctOBbD31S5/2bNc4t6LGVQcKrhn8wVMPvEcFi7xZV0J45hgnQ+CYxlGczzjhJAks fILA== X-Gm-Message-State: AFuF++m2gqVdjFPWZDZ0pNYTz9o9nrDdfpV4Kw8UKmu/s3MbAqweyuMp gCOTPE6RL2QPf4VrvsoKkWsfF0aKoJkQwLsJvU+nN3Bn5yVewTa2BFuGl4itnUmKlFU= X-Gm-Gg: AYBFou3GZbEAM9ULY3EqunwLe12BBaiHPje4s85o1yGAx00iriOVuLM7ZSyOWpyW+sT xjLnmYKS4X0ASKAKGF3XPDBDIJvzeBGxfX2rkOJXgo8lajArNiL5JicYpw2jQgkLgFp5IApx3q9 +XFXxWXJomchlyBoDbjtlgZf/El2iYFcYTWSmqFNKquguOloT9PdpNp0zn9voZj7igiEvlvwa/F bvcLnhJ/9NWXtEnmn3khFl+HlNazMoBhdXE2f9g3zPeUV4bp6+IuNkohW9giPU/vI4y80ojIbhg Stf30vOGwWO3cbOuPu/cf6OiM2SDcsCjpiDAr+QEjWXtbBr7MaXLMbBT/xHv6u7Og0HhhyzaJkV giQLficETE2lXu4rdVZlgkT2kRkmgTF6E0w4YWITQhrjAe9uXThQo4K5p22Bru3H152EgeJ3sZk OsPoCX44JJnGZURK/LGJ2Fp+upxBbXq3/imHk3MD2FDmQFgBMuwlSmqyogXLdHhW/OkGf2VAY= X-Received: by 2002:a05:600c:5303:b0:49c:fa21:1c85 with SMTP id 5b1f17b1804b1-49cfa211d81mr36827245e9.26.1788527008207; Fri, 04 Sep 2026 06:03:28 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Max Filippov Subject: [PULL 095/105] tests/tcg/xtensa: system tests Date: Fri, 4 Sep 2026 13:45:49 +0100 Message-ID: <20260904124604.2207440-96-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527191461158500 From: Pierrick Bouvier We prepare structure to be able to test multiple cores. Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-96-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 163e0a96753..76f8f3e6e02 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -156,6 +156,7 @@ subdir('s390x') subdir('sh4') subdir('tricore') subdir('x86_64') +subdir('xtensa') =20 image_targets =3D {} exe_targets =3D [] diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Ma= kefile.softmmu-target deleted file mode 100644 index a29571b367c..00000000000 --- a/tests/tcg/xtensa/Makefile.softmmu-target +++ /dev/null @@ -1,46 +0,0 @@ -# -# Xtensa system tests -# - -CORE=3Ddc232b -ifneq ($(shell $(QEMU) -cpu help | grep -w $(CORE)),) - -XTENSA_SRC =3D $(SRC_PATH)/tests/tcg/xtensa -XTENSA_ALL =3D $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_= SRC)/*.S)) -XTENSA_TESTS =3D $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL)) -# Filter out common blobs and broken tests -XTENSA_BROKEN_TESTS =3D crt vectors -XTENSA_USABLE_TESTS =3D $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TEST= S)) - -# add to the list of tests -TESTS +=3D $(XTENSA_USABLE_TESTS) -VPATH +=3D $(XTENSA_SRC) - -QEMU_OPTS+=3D-M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFL= AGS) -kernel - -INCLUDE_DIRS =3D $(SRC_PATH)/target/xtensa/core-$(CORE) -XTENSA_INC =3D $(addprefix -I,$(INCLUDE_DIRS)) - -vectors_ASFLAGS =3D -mtext-section-literals -ASFLAGS =3D -Wa,--no-absolute-literals -LDFLAGS =3D -Tlinker.ld -nostartfiles -nostdlib - -CRT =3D crt.o vectors.o -CLEANFILES +=3D linker.ld - -linker.ld: linker.ld.S - $(CC) $(XTENSA_INC) -E -P $< -o $@ - -$(XTENSA_USABLE_TESTS): linker.ld macros.inc $(CRT) Makefile.softmmu-target - -# special rule for common blobs -%.o: %.S - $(CC) $(XTENSA_INC) $($*_ASFLAGS) $(ASFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ - -%: %.S - $(CC) $(XTENSA_INC) $(ASFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) $(NOST= DFLAGS) $(CRT) - -endif - -# We don't currently support the multiarch system tests -undefine MULTIARCH_TESTS diff --git a/tests/tcg/xtensa/meson.build b/tests/tcg/xtensa/meson.build new file mode 100644 index 00000000000..339a9a1294e --- /dev/null +++ b/tests/tcg/xtensa/meson.build @@ -0,0 +1,96 @@ +tests_per_core =3D {} +cores =3D ['dc232b'] + +foreach core: cores + tests =3D [] + core_dir =3D meson.project_source_root() / 'target' / 'xtensa' / 'core-'= + core + link_script_src =3D files('linker.ld.S')[0] + link_script =3D custom_target('xtensa_linker.ld.' + core, + command: [meson.get_compiler('c').cmd_array(), + '-E', '-P', '-I', core_dir, + '@INPUT@', + '-o', '@OUTPUT@'], + input: link_script_src, + output: 'xtensa_linker.ld' + core, + ) + crt =3D files('crt.S')[0] + vectors =3D files('vectors.S')[0] + cflags =3D ['-nostdlib', + '-nostartfiles', + '-mtext-section-literals', + crt, vectors, + '-I', core_dir, + '-Wa,--no-absolute-literals', + '-Wl,-T', link_script, + '-lgcc'] + qemu_args =3D ['-M', 'sim', '-cpu', core, + '-nographic', + '-semihosting', + '-kernel'] + setup =3D {'cflags': cflags, 'qemu_args': qemu_args} + + # Multi arch tests are not supported + # tests +=3D tcg_tests['multiarch-softmmu']['tests'] + + tests +=3D { + 'test_b.S': setup, + 'test_bi.S': setup, + 'test_boolean.S': setup, + 'test_break.S': setup, + 'test_bz.S': setup, + 'test_cache.S': setup, + 'test_clamps.S': setup, + 'test_dfp0_arith.S': setup, + 'test_exclusive.S': setup, + 'test_extui.S': setup, + 'test_flix.S': setup, + 'test_fp0_arith.S': setup, + 'test_fp0_conv.S': setup, + 'test_fp0_div.S': setup, + 'test_fp0_sqrt.S': setup, + 'test_fp1.S': setup, + 'test_fp_cpenable.S': setup, + 'test_interrupt.S': setup, + 'test_load_store.S': setup, + 'test_loop.S': setup, + 'test_lsc.S': setup, + 'test_mac16.S': setup, + 'test_max.S': setup, + 'test_min.S': setup, + 'test_mmu.S': setup, + 'test_mul16.S': setup, + 'test_mul32.S': setup, + 'test_nsa.S': setup, + 'test_phys_mem.S': setup, + 'test_quo.S': setup, + 'test_rem.S': setup, + 'test_rst0.S': setup, + 'test_s32c1i.S': setup, + 'test_sar.S': setup, + 'test_sext.S': setup, + 'test_shift.S': setup, + 'test_sr.S': setup, + # test_timer is time sensitive, use icount to control time + 'test_timer.S': setup + {'qemu_args': ['-icount', '8'] + qemu_args}, + 'test_windowed.S': setup, + } + + tests_per_core +=3D {core: tests} +endforeach + +cc_dockerfile =3D 'debian-xtensa-cross' +cc_docker_host_arch =3D ['x86_64'] + +if 'qemu-system-xtensa' in emulators + tcg_tests +=3D { + 'xtensa-softmmu': { + 'cc': 'xtensa-dc232b-elf-gcc', + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'xtensa', + 'gdb_arch': 'xtensa', + 'qemu': emulators['qemu-system-xtensa'], + 'tests': tests_per_core['dc232b'], + } + } +endif diff --git a/tests/tcg/xtensaeb/Makefile.softmmu-target b/tests/tcg/xtensae= b/Makefile.softmmu-target index 95d0528c372..3df131acea7 100644 --- a/tests/tcg/xtensaeb/Makefile.softmmu-target +++ b/tests/tcg/xtensaeb/Makefile.softmmu-target @@ -2,4 +2,4 @@ # Xtensa system tests # =20 -include $(SRC_PATH)/tests/tcg/xtensa/Makefile.softmmu-target +#include $(SRC_PATH)/tests/tcg/xtensa/Makefile.softmmu-target --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526478; cv=none; d=zohomail.com; s=zohoarc; b=dPbNzXhSFVc2Uisre5hQPskTV62OCpAiaFcapCqtGPclt4C7+YYXRazqH3yjuv4uQUtZ/v/LwcvaHgey5cWB2L4Ci6hYJU9qW2SXIrF4tWkiKamfD/a5lnAnh9z9Z2q5dVVIKAQn7olZIB1xyR4JkQq4RARb08LcU1fMuBQTU+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526478; 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=Slkp6qUqPuvs+zmMchtKNanQ6N4m3B+Q5NmTSoZ0p1s=; b=VXYU/4hZgwQK8fvmeYVNznRlv4klSniCk8gzgr58+tAR2kdRo7n1HZVMqfSftp1CCIIHM15f/Y7NmN6E1HjH/0sjg+UDuupqXbJ9fgxkLgW64kGHmA8EEwQpr7iL5C0qMCEu2M7SPGwRyQ794yU6cKUiXP1paxWSNjxZPlUEAnU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526478932624.5197804831043; Fri, 4 Sep 2026 05:54:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQI-0001fS-Nj; Fri, 04 Sep 2026 08:53:38 -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 1x2TQG-0001dD-8L for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:36 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQE-0000gx-2F for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:35 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-48436251906so1062823f8f.0 for ; Fri, 04 Sep 2026 05:53:33 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf75ce49esm118472095e9.1.2026.09.04.05.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 9863361DF4; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526412; x=1789131212; 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=Slkp6qUqPuvs+zmMchtKNanQ6N4m3B+Q5NmTSoZ0p1s=; b=Qw/5nt18n2fMmMWA5enec9EB0fkQjctiVroeExReFQszcWA3jjM+jhIjBffzxKBKD8 9ir+r1Xfp6WAvpEOpVEJvVNyTpEMPlqFBRtQ1l3WG+9C8KbmvsznwWlG9zR8IxRE6WN1 NJANyT1qBCmq7KpbR02G7ltwlhBW7HqTWLFTaUVk0JsO0WtOm4Xj5zWbKUzj5crZboaD ygZtZvjVX4jr0ZNlxE6fEhOIMiUwHV4jYs+WhJkSVSE5Qs3pfJh3jXOeuFFD9acbnUET dzFmpLa78Z05qtdZ+FYlPxETIygprs2aOC1pwr3Tqk0MMpsR1E2//ULM7fFp2/b5a2cn Cu3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526412; x=1789131212; 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=Slkp6qUqPuvs+zmMchtKNanQ6N4m3B+Q5NmTSoZ0p1s=; b=AkXX2z3zcKbNsXQbPD+260GTs6XQzg/4qBpYpGpA58zId8jvEyfuUPUzueFtccc4B/ 2IZbQCYhfIcXxo1ydIFjToD337PBX01xowYKxQ5uhio1FsI4L9usM4VXNRflY7RjXR4X C/Bvb1I5eHC9RscAKr4f46CI+g+f+XKvUVaaHZne9598KRUGUZj59GK/YyrLfSEiz0nJ grh+b8yFsFbcS6+R6zDv+BeO+Ge5ByCsnKd3+X9Cnq+ygSmuaKMLvtY1sMDIOi9K2+RB BLT7AmKN18OcQ6jzZExLzu8u5rODzpvhtfrjTIRGiqTsFcqIMiDDIl0tCg3YnX1MJAiJ 8NFA== X-Gm-Message-State: AFuF++mc7ZC9ZLdVjXtDf6jN1EvljC8n9cx0MjtYp/0DZ3BkumsQ+gDD L/B9yyuferkvRfd5eWymD7KYu3gYGEFIEVK1bFQDkUQ24oP2Rx6YhucdNyMdigX1b48= X-Gm-Gg: AYBFou0b6a9VzChNsXMBfof+q1B3nseUlVtwTSFvwcY4txBo9+RTqmm4C6euvjcL1jf jMAi6laKkzfDOP8tSM76tPrbSH/EKnKM1inuryIl3gAlRPTqgtMd2qRv287hgv1SGvhdBEczNyp 0iry9zIWGMYdFDoDDxK2o9Kb2hlJDC0WyCXimub9fatpPtTDX0cyuKW3ysIjX1jTFyyeSb9NbCE f4S4AqXOBWfbxO7/se4iuG7zFf10nOBi1akr8MIa4ALqaFTadgirWn2bfJR4oLkKIqbstF11zX3 0oWnwyHmRO3QLiiLtNmNstGaY97w9fGoxKcUNLCNUduD6KSAx5a2LsaPmuE+RBECfsJqOdC8iJF 5ugtLyRNO1rDXucGtF6NK5F1yf9pbxjBm6nP3AlsI+zgETVGZF/RQWwckuXtU/HYuHE7WOolvvN h6hSOlCIlWT1t5ezDG1FXIFMJAW/HdkNhIRJFdFxPIcAQYF5hKqVIO7w0EdVs1 X-Received: by 2002:a05:600c:8b6d:b0:499:a277:e8b5 with SMTP id 5b1f17b1804b1-49cf7fdd67emr93852345e9.3.1788526412485; Fri, 04 Sep 2026 05:53:32 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Max Filippov Subject: [PULL 096/105] tests/tcg/xtensa: xtensaeb system tests Date: Fri, 4 Sep 2026 13:45:50 +0100 Message-ID: <20260904124604.2207440-97-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526479471158500 From: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-97-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/xtensa/meson.build b/tests/tcg/xtensa/meson.build index 339a9a1294e..bb1dd1542e5 100644 --- a/tests/tcg/xtensa/meson.build +++ b/tests/tcg/xtensa/meson.build @@ -1,5 +1,5 @@ tests_per_core =3D {} -cores =3D ['dc232b'] +cores =3D ['dc232b', 'test_kc705_be'] =20 foreach core: cores tests =3D [] @@ -94,3 +94,17 @@ if 'qemu-system-xtensa' in emulators } } endif + +if 'qemu-system-xtensaeb' in emulators + tcg_tests +=3D { + 'xtensaeb-softmmu': { + 'cc': 'xtensa-test_kc705_be-elf-gcc', + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'xtensa', + 'gdb_arch': 'xtensaeb', + 'qemu': emulators['qemu-system-xtensaeb'], + 'tests': tests_per_core['test_kc705_be'], + } + } +endif diff --git a/tests/tcg/xtensaeb/Makefile.softmmu-target b/tests/tcg/xtensae= b/Makefile.softmmu-target deleted file mode 100644 index 3df131acea7..00000000000 --- a/tests/tcg/xtensaeb/Makefile.softmmu-target +++ /dev/null @@ -1,5 +0,0 @@ -# -# Xtensa system tests -# - -#include $(SRC_PATH)/tests/tcg/xtensa/Makefile.softmmu-target --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528265; cv=none; d=zohomail.com; s=zohoarc; b=l+2p7D7gVCB/wbFMnH/74lgnPZvCFjEn2+c0TVvmTuPniJgd4KiNC99BtmrCPa2vHJUBkxYfZKVOI9wjmYjqPrCbwlFggodznmWKWnE5otvPeBxkzCDul1oYpsRQ/TiaKODPV1JIAGK6N61NgUrR1z7oqBAlVoouHntxL5R2s1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528265; 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=tThKemscd50RotSCEPaRZ+r1PFaYh4tCXbLEInqXizQ=; b=kMoH2GPAyB6+hRsaBdvnVSGA24nceO9npKvcDR0MUQ27Pptg5s8Rr/9Z+GNhP8YtjanusrrPH8/5uKr79pMmdnLo1k5Q0qNnhcxMXjO2OrENjYDQQCt2r9VsYAHfJTGt1dWPOo4BdapJyme10sAXAde8858q/1ipkbwjlGLG82A= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852826581065.50303810419393; Fri, 4 Sep 2026 06:24:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtG-0005UI-CI; Fri, 04 Sep 2026 09:23:34 -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 1x2TtF-0005Tw-JM for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:33 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtC-0008Hm-Qx for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:33 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4957eefd361so7691425e9.1 for ; Fri, 04 Sep 2026 06:23:30 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf755c22esm70666695e9.0.2026.09.04.06.23.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:27 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B103861DF6; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528209; x=1789133009; 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=tThKemscd50RotSCEPaRZ+r1PFaYh4tCXbLEInqXizQ=; b=JZcp7EqX7LZxfcirKuKjPR9Zn6BjTdnZue0V/gBf1dZPk3P2YfyfqeNUZDdRCjNFaP nmNVe9Kj34KW6trtHv4H5yccOudAkATZyHwM637Vmj2OGQ6Lq0rhgPf2lYMHkMvpzlEj Ig+J/NojLzwfYMGk4olAFoZSQyvgtU2ydBiHJqHGd50kmM2pSpLQmUaeUptnZzwQ7SHA jnqxAONSyjk90xphqPjvMGV4d+VlbLQ1Mxml+DXRpx16O1lhk5PeDWMPkK7kQ331hx02 LbSGYGS9DDofD1IxPOGJMe9PheLtYqwmMkyZhvgCl2P/fFNHsN29nUGfVpjGEkUj7rse ousw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528209; x=1789133009; 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=tThKemscd50RotSCEPaRZ+r1PFaYh4tCXbLEInqXizQ=; b=JuQmZEntXfKQ243LTrYQfzliE9hcZEa6dTS4+GT9SNNnZzQvHrOE/HM7pqR/sw821q me7+JZw46HoDw65IAam/+gMsIsIMMwneUoTLzUwaEZcTUeUk7ipp0vB6gE2CvC74us9K Cp6qe3VkxzbYObrpFyz2IpKym+/zdSTkSspro/jk2Z+MA2zEFocGvZLVcpZifo9XGRZt HCXRthG3ipPxbcJKsDoKMX+BX1IbPorsG1g3dH6jtQZs2jlQuC3aK0RypiGbwMaD+9D1 p6cYC4itis+hpDfMItmFTKNl2cmFXry954y6fVo6WONrhnVM0CkrhfXlGH9x+3dO7EtK 8YZg== X-Gm-Message-State: AFuF++nsqJJafsGorTJxRNBqz7busSnT1snQdqCeXfgIkIPhNgNab2Qv iTAJaSxbGWWV/xwGHxbKU54mb0hTp+vVbMS3fnpN4BX+lCRuM4D9TEyzuMTxWCwEFCY= X-Gm-Gg: AYBFou3WZkzx3tBGdLlRnTCTZcrpdEVniJwMMgXMuKCAzPshag9q1DJpXnKRlFgj9gM AsB8RzoRaP+8q4O2Uu5um9QacDsY9nN2TdEubMecHY/280Fdq9/2CoPkwB+81cjcAHML80M/2U1 TpXY437iqDGIIT9oZsnAYkhduwqqm01DUnLHOmbTiAjlHIb0V4wqgiVYXrZvVw3gbG2OZ0PZbkJ c4v5WZiI4vp6WjRUBIyROpK3CxxtXD/nz3dl6k7E+1tCyhzS+QDOthH+0Qliz8Ha4+1iZSGJpcz ZnFCAoTGYBE0fK6VhCzPy7bg8OADMl3GNuvEyfOWIhTl7oEKAy8ChWbuqmljHjTr67swnROzx1N oCjw+S4gtr4GuNQweRMoM0cfK9lavDXx859abksdlwVX6W6tEpc7rx981rZQ6QraQrDkP3FalqO LBnA81mqEb1df9fHSKHov8wrxkd+jG1ZY0mVVBB+ZWqnLIYQ== X-Received: by 2002:a05:600c:8711:b0:49c:fc6e:a3dd with SMTP id 5b1f17b1804b1-49cfc6ea7bfmr44802215e9.28.1788528209222; Fri, 04 Sep 2026 06:23:29 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aniket Sahu , Paolo Bonzini Subject: [PULL 097/105] tests: remove tcg tests machinery Date: Fri, 4 Sep 2026 13:45:51 +0100 Message-ID: <20260904124604.2207440-98-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528267599158500 From: Pierrick Bouvier It's now built-in meson, which offers targets check-tcg and check-tcg-*. Tested-by: Alex Benn=C3=A9e Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-98-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/Makefile.include b/tests/Makefile.include index 494d0109f26..9f82552ab54 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -19,9 +19,7 @@ check-help: ifneq ($(filter $(all-check-targets), check-softfloat),) @echo " $(MAKE) check-softfloat Run FPU emulation tests" @echo " $(MAKE) check-tcg Run TCG tests" - @echo " $(MAKE) run-tcg-tests-TARGET Run TCG tests for a given t= arget" - @echo - @echo "The variable TCG_TEST_FILTER will select the subset of matching te= sts." + @echo " $(MAKE) check-tcg-TARGET Run TCG tests for a given t= arget" endif @echo @echo " $(MAKE) check-report.junit.xml Generates an aggregated XML= test report" @@ -40,67 +38,6 @@ export SRC_PATH =20 SPEED =3D quick =20 - -# TCG_TESTS_WITH_COMPILERS represents the test targets we have cross compi= ler -# support for, CONFIGURED_TCG_TARGETS it what meson has finally -# configured having rejected stuff we can't build. -CONFIGURED_TCG_TARGETS=3D$(patsubst %-config-target.h, %, $(wildcard *-con= fig-target.h)) - -# This is the intersection of what tests we can build and is configured -TCG_TESTS_TARGETS=3D$(filter $(CONFIGURED_TCG_TARGETS), $(TCG_TESTS_WITH_C= OMPILERS)) - -# Per guest TCG tests -BUILD_TCG_TARGET_RULES=3D$(patsubst %,build-tcg-tests-%, $(TCG_TESTS_TARGE= TS)) -CLEAN_TCG_TARGET_RULES=3D$(patsubst %,clean-tcg-tests-%, $(TCG_TESTS_TARGE= TS)) -DISTCLEAN_TCG_TARGET_RULES=3D$(patsubst %,distclean-tcg-tests-%, $(TCG_TES= TS_TARGETS)) -RUN_TCG_TARGET_RULES=3D$(patsubst %,run-tcg-tests-%, $(TCG_TESTS_TARGETS)) - -$(foreach TARGET,$(TCG_TESTS_TARGETS), \ - $(eval $(BUILD_DIR)/tests/tcg/config-$(TARGET).mak: config-host.ma= k)) - -# $1 =3D the stem (e.g., arm-softmmu or x86_64-linux-user) -get-qemu-bin =3D $(if $(findstring softmmu,$1),qemu-system-$(subst -softmm= u,,$1),qemu-$(subst -linux-user,,$1)) - -$(foreach TARGET,$(TCG_TESTS_TARGETS), \ - $(eval .ninja-goals.run-tcg-tests-$(TARGET) +=3D $(call get-qemu-b= in,$(TARGET)))) - -.PHONY: $(TCG_TESTS_TARGETS:%=3Dbuild-tcg-tests-%) -$(TCG_TESTS_TARGETS:%=3Dbuild-tcg-tests-%): build-tcg-tests-%: $(BUILD_DIR= )/tests/tcg/config-%.mak - $(call quiet-command, \ - $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS), \ - "BUILD","$* guest-tests") - -.PHONY: $(TCG_TESTS_TARGETS:%=3Drun-tcg-tests-%) -$(TCG_TESTS_TARGETS:%=3Drun-tcg-tests-%): run-tcg-tests-%: build-tcg-tests= -% - $(call quiet-command, \ - $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS) SPEED=3D$(SPEED) TC= G_TEST_FILTER=3D$(TCG_TEST_FILTER) run, \ - "RUN", "$* guest-tests") - -.PHONY: $(TCG_TESTS_TARGETS:%=3Dclean-tcg-tests-%) -$(TCG_TESTS_TARGETS:%=3Dclean-tcg-tests-%): clean-tcg-tests-%: - $(call quiet-command, \ - $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS) clean, \ - "CLEAN", "$* guest-tests") - -.PHONY: $(TCG_TESTS_TARGETS:%=3Ddistclean-tcg-tests-%) -$(TCG_TESTS_TARGETS:%=3Ddistclean-tcg-tests-%): distclean-tcg-tests-%: - $(call quiet-command, \ - $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS) distclean, \ - "CLEAN", "$* guest-tests") - -.PHONY: build-tcg -build-tcg: $(BUILD_TCG_TARGET_RULES) - -.PHONY: check-tcg -.ninja-goals.check-tcg =3D all test-plugins -check-tcg: $(RUN_TCG_TARGET_RULES) - -.PHONY: clean-tcg -clean-tcg: $(CLEAN_TCG_TARGET_RULES) - -.PHONY: distclean-tcg -distclean-tcg: $(DISTCLEAN_TCG_TARGET_RULES) - # Build up our target list from the filtered list of ninja targets TARGETS=3D$(patsubst libqemu-%.a, %, $(filter libqemu-%.a, $(ninja-targets= ))) =20 @@ -128,7 +65,6 @@ check-build: run-ninja check-clean: rm -rf $(BUILD_DIR)/tests/functional =20 -clean: check-clean clean-tcg -distclean: distclean-tcg +clean: check-clean =20 endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526124; cv=none; d=zohomail.com; s=zohoarc; b=aAsY5Fdh+ckIjM5I/ioOgmZQBQOn5JZ76mCPnvv4g9dx/IxaA9SXWR24zl7LaFEwbP2ZUrZ+jZCMCiJ6nHJ2xLHdalEA5ulMUPRaOmEMiJADcV5gjKDrrX38A3zotrfrkDxs3LAZBjN3vsLor8mMIpZZWLF8+TzkiOnmfttSEuA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526124; 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=sIag4Fzsu9B8U+SkbDlliXrMHT7XPSP7LFjINxQxx8E=; b=QNAm6m50DHNCnvLDN6e2OOIEnrfurhnD5tHpCobVVXX//DvqjA88oT4QREm6YLWOl27LBZZAPJ1VCtVxL/mMAHjBaO1bSorlzg7d4liE9dJgC1aM7tu+sM185hP6+1q0aX/C8CwoTn3w0eWoHWNDaksM+u06HGqxO19RZAJVXOA= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526124135247.9146662690041; Fri, 4 Sep 2026 05:48:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJT-0006Ep-I4; Fri, 04 Sep 2026 08:46:35 -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 1x2TJR-0006Dt-HV for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:33 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJL-0006vn-GO for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:33 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-4858303de5dso1200320f8f.2 for ; Fri, 04 Sep 2026 05:46:27 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885bbb51sm6202357f8f.30.2026.09.04.05.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:20 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C7D8161E06; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525986; x=1789130786; 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=sIag4Fzsu9B8U+SkbDlliXrMHT7XPSP7LFjINxQxx8E=; b=bFRGp8eLRpcxwkoDTl1Uuv+9SWJGFCFWpuQJu76wGX8NngQAOHIu39NITtA4SDBgmV ZkUKzbodNxGE2HgyhSpi5ynQvg9VVrJpfBr808JYRCy+HhLEBd2L5dOc9rna8kXMPUD7 i/h3gaJIHaNnPQ2dDd8Rb/sFewIDdxBE3Td3hm8OqL8fIvzozyI6W/UIqj9x4PsM7lV9 IBWsCehZQKm8/pLOjxUfbijP41TVTyC6tdqqcTA3HwQXOawV3iAjeQIEkWe8VYbt7w4z uDquaceT9fJPqpwXFOdIfSx9PLFQ8cL6Useuf4AzWKo8I7Niwl+Nxp9bWqqd1qzcxI98 2T4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525986; x=1789130786; 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=sIag4Fzsu9B8U+SkbDlliXrMHT7XPSP7LFjINxQxx8E=; b=Br7PWTyAun9w7jYiNcwmg/ERs60Uw7jN7XkneKNzE97RzkrfAvqPD/xoUdKkgHtUT2 a3XuCfbKgvdBDzg+cgZlZaYy+iS+ilr1tpxRt/wCPg6PccWphTNKsSo4EKtoS4roIb+A LI5MRxR+rQbo+56FlZOST7clJ3fiv3bM25SL2MUZ8+a7FjqmZoVeb1Qs/iLRu03OCH2A 0tclXem4tsMiYV0n1kqoIy/mqsOJmfFPVI/BAQYWHw0Ep6CuDmCczQjik5vqDUFtpH0z UjlfGXtGbkVieKbW0Z8Gv4V6UE9puIxV7NN31FPuM2LvhZJBmVhx1tcxhQLE+pC6kwYE fCjQ== X-Gm-Message-State: AFuF++mBYrt8Y8yBBTzEm81hifan8K73B7dj8Zl4Y51ImheJustkQqMT dmJWD34dAFgbMWrWY5H1a6/PbJjQ+AANK6a7ICl7W8c42L/CFeAeV15vENAIwNPv/00= X-Gm-Gg: AYBFou2HfkJjBraaO99iG+6fwf9UW4geGJos16HOM8Il61aN/Z+piHbkFGir0kvxspC 41wYoudXsDR5UPwh41/M3805aQAD83ppFkznNi4h+FCkmCdffG+JYu1r69XgBk5+zVEfcCf77WG il5WNamzCUk61SX8HqRQpRJPgYQWBJZorJAL2VAvL8bDuf8qXJlE9ArG5HY1o05eA1QafVBvbTq HFRBvBx8+lXqFt+q7uAClfhXPwlruAEJw1j+geEVxgdX7ko3v9ONIWdTh/OZ2kuZK1cw3GXkJgZ TAuLKEbe8Ax24rzKxzXTau2JPOzepWfzHIdrz7WBrEseMdUV7nR9gD4EPeCseg452poMppodRqc RkoEYQatzD3FAv8/MpvmJfD1WP4BwcCCc0BpG1KMEXvwvomzRh2PcftZMZlq5vGPVGvrEMlhJFw 1jXAfQN62EIChlfSwIHufK+qd5wvf2lV1jA2aaUzPovkB/CFd3cAupaXqZ3EHM X-Received: by 2002:a05:6000:2303:b0:485:8cc8:1f5f with SMTP id ffacd0b85a97d-4858cc8216cmr2725093f8f.42.1788525985713; Fri, 04 Sep 2026 05:46:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Subject: [PULL 098/105] tests/tcg: remove remaining Makefiles Date: Fri, 4 Sep 2026 13:45:52 +0100 Message-ID: <20260904124604.2207440-99-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42c; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526126697158500 From: Pierrick Bouvier tests/tcg/mips/user/ has extra tests that are not currently run at the moment. Keep their Makefiles until they are implemented. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-99-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/configure b/configure index 46cbcc085b3..cb5fdfed221 100755 --- a/configure +++ b/configure @@ -1749,15 +1749,6 @@ if test "$default_targets" =3D "yes"; then echo "CONFIG_DEFAULT_TARGETS=3Dy" >> $config_host_mak fi =20 -# tests/tcg configuration -mkdir -p tests/tcg -echo "# Automatically generated by configure - do not modify" > tests/tcg/= $config_host_mak -echo "SRC_PATH=3D$source_path" >> tests/tcg/$config_host_mak -if test "$plugins" =3D "yes" ; then - echo "CONFIG_PLUGIN=3Dy" >> tests/tcg/$config_host_mak -fi -echo "PYTHON=3D$python" >> tests/tcg/$config_host_mak - tcg_tests_with_compilers=3D for target in $target_list; do arch=3D${target%%-*} diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target deleted file mode 100644 index 836fccaca23..00000000000 --- a/tests/tcg/Makefile.target +++ /dev/null @@ -1,287 +0,0 @@ -# -*- Mode: makefile -*- -# -# TCG tests -# -# These are complicated by the fact we want to build them for guest -# systems. This requires knowing what guests we are building and which -# ones we have cross-compilers for or docker images with -# cross-compilers. -# -# The tests themselves should be as minimal as possible as -# cross-compilers don't always have a large amount of libraries -# available. -# -# We only include the host build system for SRC_PATH and we don't -# bother with the common rules.mk. We expect the following: -# -# CC - the C compiler command -# EXTRA_CFLAGS - any extra CFLAGS -# BUILD_STATIC - are we building static binaries -# -# By default all tests are statically compiled but some host systems -# may not package static libraries by default. If an external -# cross-compiler can only build dynamic libraries the user might need -# to make extra efforts to ensure ld.so can link at runtime when the -# tests are run. -# -# We also accept SPEED=3Dslow to enable slower running tests -# -# We also expect to be in the tests build dir for the FOO-(linux-user|soft= mmu). -# - -all: --include ../config-host.mak --include config-target.mak - -# Get semihosting definitions for user-mode emulation -ifeq ($(filter %-softmmu, $(TARGET)),) --include $(SRC_PATH)/configs/targets/$(TARGET).mak -endif - -# for including , in command strings -COMMA :=3D , -NULL :=3D -SPACE :=3D $(NULL) # -TARGET_PREFIX=3Dtests/tcg/$(TARGET):$(SPACE) - -quiet-@ =3D $(if $(V),,@$(if $1,printf " %-7s %s\n" "$(strip $1)" "$(stri= p $2)" && )) -quiet-command =3D $(call quiet-@,$2,$3)$1 - -cc-test =3D $(CC) -Werror $1 -c -o /dev/null -xc /dev/null >/dev/null 2>&1 -cc-option =3D if $(call cc-test, $1); then \ - echo "$(TARGET_PREFIX)$1 detected" && echo "$(strip $2)=3D$(strip $1)"= >&3; else \ - echo "$(TARGET_PREFIX)$1 not detected"; fi - -# $1 =3D test name, $2 =3D cmd, $3 =3D desc -ifeq ($(filter %-softmmu, $(TARGET)),) -run-test =3D $(call quiet-command, timeout -s KILL --foreground $(TIMEOUT)= $2 > $1.out, \ - TEST,$(or $3, $*, $<) on $(TARGET_NAME)) -else -run-test =3D $(call quiet-command, timeout -s KILL --foreground $(TIMEOUT)= $2, \ - TEST,$(or $3, $*, $<) on $(TARGET_NAME)) -endif - -# $1 =3D test name, $2 =3D reference -# to work around the pipe squashing the status we only pipe the result if -# we know it failed and then force failure at the end. -diff-out =3D $(call quiet-command, diff -q $1.out $2 || \ - (diff -u $1.out $2 | head -n 10 && false)= , \ - DIFF,$1.out with $2) - -# $1 =3D test name, $2 =3D reason -skip-test =3D @printf " SKIPPED %s on $(TARGET_NAME) because %s\n" $1 $2 - -# $1 =3D test name, $2 =3D reference -# As above but only diff if reference file exists, otherwise the test -# passes if it managed to complete with a status of zero -conditional-diff-out =3D \ - $(if $(wildcard $2), \ - $(call diff-out,$1,$2), \ - $(call skip-test,"$1 check","no reference")) - - -# Tests we are building -TESTS=3D -# additional tests which may re-use existing binaries -EXTRA_TESTS=3D - -# Start with a blank slate, the build targets get to add stuff first -CFLAGS=3D -LDFLAGS=3D - -QEMU_OPTS=3D -CHECK_PLUGIN_OUTPUT_COMMAND=3D - - -# If TCG debugging, or TCI is enabled things are a lot slower -# so we have to set our timeout for that. The current worst case -# offender is the system memory test running under TCI. -TIMEOUT=3D120 - -ifeq ($(filter %-softmmu, $(TARGET)),) -# The order we include is important. We include multiarch first and -# then the target. If there are common tests shared between -# sub-targets (e.g. ARM & AArch64) then it is up to -# $(TARGET_NAME)/Makefile.target to include the common parent -# architecture in its VPATH. However some targets are so minimal we -# can't even build the multiarch tests. -ifeq ($(wildcard $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target),) -# skip user tests if Makefile.target is not present -else ifneq ($(filter $(TARGET_NAME),aarch64_be),) --include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target -else --include $(SRC_PATH)/tests/tcg/multiarch/Makefile.target --include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target -endif - -# Add the common build options -CFLAGS+=3D-Wall -Werror -O0 -g -fno-strict-aliasing -ifeq ($(BUILD_STATIC),y) -LDFLAGS+=3D-static -endif - -%: %.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) -%: %.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack $< -o $@ $(LDFLAGS) -else -# For system targets we include a different Makefile fragment as the -# build options for bare programs are usually pretty different. They -# are expected to provide their own build recipes. -EXTRA_CFLAGS +=3D -ffreestanding -fno-stack-protector - -# We skip the multiarch tests if the target hasn't provided a boot.S -MULTIARCH_SOFTMMU_TARGETS =3D i386 alpha aarch64 arm loongarch64 s390x x86= _64 - -ifneq ($(filter $(TARGET_NAME),$(MULTIARCH_SOFTMMU_TARGETS)),) --include $(SRC_PATH)/tests/tcg/minilib/Makefile.target --include $(SRC_PATH)/tests/tcg/multiarch/system/Makefile.softmmu-target -endif -ifeq ($(wildcard $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-tar= get),) -# skip system tests if Makefile.target is not present -else --include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-target -endif - -endif - -all: $(TESTS) $(EXTRA_TESTS) - -# -# Test Runners -# -# By default we just run the test with the appropriate QEMU for the -# target. More advanced tests may want to override the runner in their -# specific make rules. Additional runners for the same binary should -# be added to EXTRA_RUNS. -# - -RUN_TESTS=3D$(patsubst %,run-%, $(TESTS)) - -# If plugins exist also include those in the tests -ifeq ($(CONFIG_PLUGIN),y) -PLUGIN_SRC=3D$(SRC_PATH)/tests/tcg/plugins -PLUGIN_LIB=3D../plugins -VPATH+=3D$(PLUGIN_LIB) -# Some plugins need to be disabled for all tests to avoid exponential expl= osion. -# For example, libpatch.so only needs to run against the arch-specific pat= ch -# target test, so we explicitly run it in the arch-specific Makefile. -DISABLE_PLUGINS=3Dlibpatch.so - -# Likewise don't bother with the syscall plugin for softmmu -ifneq ($(filter %-softmmu, $(TARGET)),) -DISABLE_PLUGINS +=3D libsyscall.so -endif - -PLUGINS=3D$(filter-out $(DISABLE_PLUGINS), \ - $(patsubst %.c, lib%.so, $(notdir $(wildcard $(PLUGIN_SRC)/*.c)))) - -strip-plugin =3D $(wordlist 1, 1, $(subst -with-, ,$1)) -extract-plugin =3D $(wordlist 2, 2, $(subst -with-, ,$1)) -extract-test =3D $(subst run-plugin-,,$(wordlist 1, 1, $(subst -with-, ,$1= ))) - -# We need to ensure expand the run-plugin-TEST-with-PLUGIN -# pre-requistes manually here as we can't use stems to handle it. We -# only expand MULTIARCH_TESTS which are common on most of our targets -# and rotate the plugins so we don't grow too out of control as new -# tests are added. Plugins that need to run with a specific test -# should ensure they add their combination to EXTRA_RUNS. - -ifneq ($(MULTIARCH_TESTS),) - -# Extract extra tests from the extra test+plugin combination. -EXTRA_TESTS_WITH_PLUGIN=3D$(foreach test, \ - $(EXTRA_RUNS_WITH_PLUGIN),$(call extract-test,$(te= st))) -# Exclude tests that were specified to run with specific plugins from the = tests -# which can run with any plugin combination, so we don't run it twice. -MULTIARCH_TESTS:=3D$(filter-out $(EXTRA_TESTS_WITH_PLUGIN), $(MULTIARCH_TE= STS)) - -NUM_PLUGINS :=3D $(words $(PLUGINS)) -NUM_TESTS :=3D $(words $(MULTIARCH_TESTS)) - -define mod_plus_one - $(shell $(PYTHON) -c "print( ($(1) % $(2)) + 1 )") -endef - -# Rules for running tests with any plugin combination, i.e., no specific p= lugin. -$(foreach _idx, $(shell seq 1 $(NUM_TESTS)), \ - $(eval _test :=3D $(word $(_idx), $(MULTIARCH_TESTS))) \ - $(eval _plugin :=3D $(word $(call mod_plus_one, $(_idx), $(NUM_PLUGINS)),= $(PLUGINS))) \ - $(eval run-plugin-$(_test)-with-$(_plugin): $(_test) $(_plugin)) \ - $(eval RUN_TESTS+=3Drun-plugin-$(_test)-with-$(_plugin))) - -# Rules for running extra tests with specific plugins. -$(foreach f,$(EXTRA_RUNS_WITH_PLUGIN), \ - $(eval $(f): $(call extract-test,$(f)) $(call extract-plugin,$(f)))) - -endif # MULTIARCH_TESTS -endif # CONFIG_PLUGIN - -RUN_TESTS+=3D$(EXTRA_RUNS) -RUN_TESTS+=3D$(EXTRA_RUNS_WITH_PLUGIN) - -# Some plugins need additional arguments above the default to fully -# exercise things. We can define them on a per-test basis here. -run-plugin-%-with-libmem.so: PLUGIN_ARGS=3D$(COMMA)inline=3Dtrue - -ifeq ($(filter %-softmmu, $(TARGET)),) -run-%: % - $(call run-test, $<, env QEMU=3D$(QEMU) $(QEMU) $(QEMU_OPTS) $<) - -run-plugin-%: - $(call run-test, $@, env QEMU=3D$(QEMU) $(QEMU) $(QEMU_OPTS) \ - -plugin $(PLUGIN_LIB)/$(call extract-plugin,$@)$(PLUGIN_ARGS) \ - -d plugin -D $*.pout \ - $(call strip-plugin,$<)) - $(if $(CHECK_PLUGIN_OUTPUT_COMMAND), \ - $(call quiet-command, $(CHECK_PLUGIN_OUTPUT_COMMAND) $*.pout, \ - TEST, check plugin $(call extract-plugin,$@) output \ - with $(call strip-plugin,$<))) -else -run-%: % - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - $(QEMU_OPTS) $<) - -run-plugin-%: - $(call run-test, $@, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$@.out$(COMMA)id=3Doutput \ - -plugin $(PLUGIN_LIB)/$(call extract-plugin,$@)$(PLUGIN_ARGS) \ - -d plugin -D $*.pout \ - $(QEMU_OPTS) $(call strip-plugin,$<)) - $(if $(CHECK_PLUGIN_OUTPUT_COMMAND), \ - $(call quiet-command, $(CHECK_PLUGIN_OUTPUT_COMMAND) $*.pout, \ - TEST, check plugin $(call extract-plugin,$@) output \ - with $(call strip-plugin,$<))) -endif - -gdb-%: % - gdb --args $(QEMU) $(QEMU_OPTS) $< - -# Filter tests based on TCG_TEST_FILTER if set -ifdef TCG_TEST_FILTER -FILTERED_RUN_TESTS=3D$(foreach test,$(RUN_TESTS),$(if $(findstring $(TCG_T= EST_FILTER),$(test)),$(test))) -else -FILTERED_RUN_TESTS=3D$(RUN_TESTS) -endif - -.PHONY: run -run: $(FILTERED_RUN_TESTS) - -clean: - rm -f $(TESTS) *.o $(CLEANFILES) - -distclean: - rm -f config-cc.mak config-target.mak ../config-$(TARGET).mak - -.PHONY: help -help: - @echo "TCG tests help $(TARGET_NAME)" - @echo "Built with $(CC)" - @echo "Available tests:" - @$(foreach t,$(RUN_TESTS),echo " $t";) - @echo "" - @echo "Environment variables:" - @echo " TCG_TEST_FILTER=3D Filter tests matching pattern" diff --git a/tests/tcg/minilib/Makefile.target b/tests/tcg/minilib/Makefile= .target deleted file mode 100644 index af0bf54be98..00000000000 --- a/tests/tcg/minilib/Makefile.target +++ /dev/null @@ -1,21 +0,0 @@ -# -# System test minilib objects -# -# The system tests are very constrained in terms of the library they -# support but we are not savages. We provide a few helpful routines -# that can be shared with the tests for basic I/O. -# -# They assume each arch has provided a putc function. -# - -SYSTEM_MINILIB_SRC=3D$(SRC_PATH)/tests/tcg/minilib -MINILIB_SRCS=3D$(wildcard $(SYSTEM_MINILIB_SRC)/*.c) -MINILIB_OBJS=3D$(patsubst $(SYSTEM_MINILIB_SRC)/%.c, %.o, $(MINILIB_SRCS)) - -MINILIB_CFLAGS+=3D-nostdlib -fno-stack-protector -ggdb -O0 -MINILIB_INC=3D-isystem $(SYSTEM_MINILIB_SRC) - -.PRECIOUS: $(MINILIB_OBJS) - -%.o: $(SYSTEM_MINILIB_SRC)/%.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Make= file.target deleted file mode 100644 index 35050acedc9..00000000000 --- a/tests/tcg/multiarch/Makefile.target +++ /dev/null @@ -1,223 +0,0 @@ -# -*- Mode: makefile -*- -# -# Multiarch Tests - included from tests/tcg/Makefile.target -# -# These tests are plain C and built without any architecture specific code. -# - -MULTIARCH_SRC=3D$(SRC_PATH)/tests/tcg/multiarch - -# Set search path for all sources -VPATH +=3D $(MULTIARCH_SRC) -MULTIARCH_SRCS =3D $(notdir $(wildcard $(MULTIARCH_SRC)/*.c)) -ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET)) -VPATH +=3D $(MULTIARCH_SRC)/linux -MULTIARCH_SRCS +=3D $(notdir $(wildcard $(MULTIARCH_SRC)/linux/*.c)) -endif -ifeq ($(CONFIG_PLUGIN),y) -VPATH +=3D $(MULTIARCH_SRC)/plugin -MULTIARCH_SRCS +=3D $(notdir $(wildcard $(MULTIARCH_SRC)/plugin/*.c)) -endif -MULTIARCH_TESTS =3D $(MULTIARCH_SRCS:.c=3D) - -# -# The following are any additional rules needed to build things -# - - -float_%: LDFLAGS+=3D-lm -float_%: float_%.c libs/float_helpers.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< $(MULTIARCH_SRC)/libs/float_helpers.c = -o $@ $(LDFLAGS) - -run-float_%: float_% - $(call run-test,$<, $(QEMU) $(QEMU_OPTS) $<) - $(call conditional-diff-out,$<,$(SRC_PATH)/tests/tcg/$(TARGET_NAME)/$<.re= f) - -fnmsub: LDFLAGS+=3D-lm - -testthread: LDFLAGS+=3D-lpthread - -threadcount: LDFLAGS+=3D-lpthread - -signals: LDFLAGS+=3D-lrt -lpthread - -munmap-pthread: CFLAGS+=3D-pthread -munmap-pthread: LDFLAGS+=3D-pthread - -vma-pthread: CFLAGS+=3D-pthread -vma-pthread: LDFLAGS+=3D-pthread - -sigreturn-sigmask: CFLAGS+=3D-pthread -sigreturn-sigmask: LDFLAGS+=3D-pthread - -tb-link: LDFLAGS+=3D-lpthread - -# GCC versions 12/13/14/15 at least incorrectly complain about -# "'SHA1Transform' reading 64 bytes from a region of size 0"; see the gcc = bug -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106709 -# Since this is just a standard piece of library code we've borrowed for a -# TCG test case, suppress the warning rather than trying to modify the -# code to work around the compiler. -sha1: CFLAGS+=3D-Wno-stringop-overread -Wno-unknown-warning-option - -run-test-mmap: test-mmap - $(call run-test, test-mmap, $(QEMU) $<, $< (default)) - -ifneq ($(GDB),) -GDB_SCRIPT=3D$(SRC_PATH)/tests/guest-debug/run-test.py - -run-gdbstub-sha1: sha1 - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/sha1.py, \ - basic gdbstub support) - -run-gdbstub-qxfer-auxv-read: sha1 - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/test-qxfer-auxv-read.py, \ - basic gdbstub qXfer:auxv:read support) - -run-gdbstub-qxfer-siginfo-read: segfault - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin "$< -s" --test $(MULTIARCH_SRC)/gdbstub/test-qxfer-siginfo-read.py= , \ - basic gdbstub qXfer:siginfo:read support) - -run-gdbstub-proc-mappings: sha1 - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/test-proc-mappings.py, \ - proc mappings support) - -run-gdbstub-thread-breakpoint: testthread - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/test-thread-breakpoint.py, \ - hitting a breakpoint on non-main thread) - -run-gdbstub-registers: sha512 - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/registers.py, \ - checking register enumeration) - -# The prot-none test was skipped on gitlab due to missing gdb-multiarch, -# however it seems to have bitrotten. Disable, it is tracked as -# https://gitlab.com/qemu-project/qemu/-/issues/3329 -run-gdbstub-prot-none: prot-none -ifneq ($(GITLAB_CI),) - $(call skip-test, $<, "Broken on GitLab") -else - $(call run-test, $@, env PROT_NONE_PY=3D1 $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/prot-none.py, \ - accessing PROT_NONE memory) -endif - -run-gdbstub-catch-syscalls: catch-syscalls - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/catch-syscalls.py, \ - hitting a syscall catchpoint) - -run-gdbstub-follow-fork-mode-child: follow-fork-mode - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/follow-fork-mode-child.py, \ - following children on fork) - -run-gdbstub-follow-fork-mode-parent: follow-fork-mode - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/follow-fork-mode-parent.py, \ - following parents on fork) - -run-gdbstub-late-attach: late-attach - $(call run-test, $@, env LATE_ATTACH_PY=3D1 $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) --qargs "$(QEMU_OPTS)" --no-suspend \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/late-attach.py, \ - attaching to a running process) - -else -run-gdbstub-%: - $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst -%= ,,$(TARGET_NAME)) support") -endif -EXTRA_RUNS +=3D run-gdbstub-sha1 run-gdbstub-qxfer-auxv-read \ - run-gdbstub-proc-mappings run-gdbstub-thread-breakpoint \ - run-gdbstub-registers run-gdbstub-prot-none \ - run-gdbstub-catch-syscalls run-gdbstub-follow-fork-mode-child \ - run-gdbstub-follow-fork-mode-parent \ - run-gdbstub-qxfer-siginfo-read run-gdbstub-late-attach - -# ARM Compatible Semi Hosting Tests -# -# Despite having ARM in the name we actually have several -# architectures that implement it. We gate the tests on the feature -# appearing in config. -# -ifeq ($(CONFIG_ARM_COMPATIBLE_SEMIHOSTING),y) -VPATH +=3D $(MULTIARCH_SRC)/arm-compat-semi - -# Add -I path back to TARGET_NAME for semicall.h -semihosting: CFLAGS+=3D-I$(SRC_PATH)/tests/tcg/$(TARGET_NAME) - -run-semihosting: semihosting - $(call run-test,$<,$(QEMU) $< 2> $<.err) - -run-plugin-semihosting-with-%: - $(call run-test, $@, $(QEMU) $(QEMU_OPTS) \ - -plugin $(PLUGIN_LIB)/$(call extract-plugin,$@) \ - $(call strip-plugin,$<) 2> $<.err, \ - $< with $*) - -semiconsole: CFLAGS+=3D-I$(SRC_PATH)/tests/tcg/$(TARGET_NAME) - -run-semiconsole: semiconsole - $(call skip-test, $<, "MANUAL ONLY") - -run-plugin-semiconsole-with-%: - $(call skip-test, $<, "MANUAL ONLY") - -TESTS +=3D semihosting semiconsole -endif - -test-plugin-mem-access: CFLAGS+=3D-pthread -O0 -test-plugin-mem-access: LDFLAGS+=3D-pthread -O0 - -ifeq ($(CONFIG_PLUGIN),y) -# Test plugin memory access instrumentation -run-plugin-test-plugin-mem-access-with-libmem.so: \ - PLUGIN_ARGS=3D$(COMMA)print-accesses=3Dtrue -run-plugin-test-plugin-mem-access-with-libmem.so: \ - CHECK_PLUGIN_OUTPUT_COMMAND=3D \ - $(SRC_PATH)/tests/tcg/multiarch/plugin/regex-compare.sh $@.out -run-plugin-test-plugin-syscall-filter-with-libsyscall.so: -run-plugin-test-plugin-set-pc-with-libsetpc.so: - -EXTRA_RUNS_WITH_PLUGIN +=3D run-plugin-test-plugin-mem-access-with-libmem.= so \ - run-plugin-test-plugin-syscall-filter-with-libsyscall.so \ - run-plugin-test-plugin-set-pc-with-libsetpc.so - -else # CONFIG_PLUGIN=3Dn -# Do not build the syscall skipping test if it's not tested with the setpc -# plugin because it will simply fail the test. -MULTIARCH_TESTS :=3D $(filter-out test-plugin-set-pc, $(MULTIARCH_TESTS)) - -# test-plugin-syscall-filter needs syscall plugin to succeed -test-plugin-syscall-filter: CFLAGS+=3D-DSKIP -endif - -# Update TESTS -TESTS +=3D $(MULTIARCH_TESTS) diff --git a/tests/tcg/multiarch/system/Makefile.softmmu-target b/tests/tcg= /multiarch/system/Makefile.softmmu-target deleted file mode 100644 index 98c4eda5e00..00000000000 --- a/tests/tcg/multiarch/system/Makefile.softmmu-target +++ /dev/null @@ -1,81 +0,0 @@ -# -*- Mode: makefile -*- -# -# Multiarch system tests -# -# We just collect the tests together here and rely on the actual guest -# architecture to add to the test dependencies and deal with the -# complications of building. -# -# To support the multiarch guests the target arch needs to provide a -# boot.S that jumps to main and provides a __sys_outc functions. -# Remember to update MULTIARCH_SOFTMMU_TARGETS in the tcg test -# Makefile.target when this is done. -# - -MULTIARCH_SRC=3D$(SRC_PATH)/tests/tcg/multiarch -MULTIARCH_SYSTEM_SRC=3D$(MULTIARCH_SRC)/system -VPATH+=3D$(MULTIARCH_SYSTEM_SRC) - -MULTIARCH_TEST_SRCS=3D$(wildcard $(MULTIARCH_SYSTEM_SRC)/*.c) -MULTIARCH_TESTS =3D $(patsubst $(MULTIARCH_SYSTEM_SRC)/%.c, %, $(MULTIARCH= _TEST_SRCS)) - -ifneq ($(GDB),) -GDB_SCRIPT=3D$(SRC_PATH)/tests/guest-debug/run-test.py - -run-gdbstub-memory: memory - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) \ - --output $<.gdb.out \ - --qargs \ - "-monitor none -display none -chardev file$(COMMA)path=3D$<.out$(COMMA)i= d=3Doutput $(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/memory.py, \ - softmmu gdbstub support) -run-gdbstub-interrupt: interrupt - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) \ - --output $<.gdb.out \ - --qargs \ - "-smp 2 -monitor none -display none -chardev file$(COMMA)path=3D$<.out$(= COMMA)id=3Doutput $(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/interrupt.py, \ - softmmu gdbstub support) -run-gdbstub-untimely-packet: hello - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --gdb-args "-ex 'set debug remote 1'" \ - --output untimely-packet.gdb.out \ - --stderr untimely-packet.gdb.err \ - --qemu $(QEMU) \ - --bin $< --qargs \ - "-monitor none -display none -chardev file$(COMMA)path=3Duntimely-packet= .out$(COMMA)id=3Doutput $(QEMU_OPTS)", \ - softmmu gdbstub untimely packets) - $(call quiet-command, \ - (! grep -Fq 'Packet instead of Ack, ignoring it' untimely-packet.gdb.err= ), \ - "GREP", file untimely-packet.gdb.err) - -run-gdbstub-registers: memory - $(call run-test, $@, $(GDB_SCRIPT) \ - --gdb $(GDB) \ - --qemu $(QEMU) \ - --output $<.registers.gdb.out \ - --qargs \ - "-monitor none -display none -chardev file$(COMMA)path=3D$<.out$(COMMA)i= d=3Doutput $(QEMU_OPTS)" \ - --bin $< --test $(MULTIARCH_SRC)/gdbstub/registers.py, \ - softmmu gdbstub support) -else -run-gdbstub-%: - $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst -%= ,,$(TARGET_NAME)) support") -endif - -MULTIARCH_RUNS +=3D run-gdbstub-memory run-gdbstub-interrupt \ - run-gdbstub-untimely-packet run-gdbstub-registers - -ifeq ($(CONFIG_PLUGIN),y) -# Test plugin memory access instrumentation -run-plugin-memory-with-libmem.so: memory libmem.so -run-plugin-memory-with-libmem.so: PLUGIN_ARGS=3D$(COMMA)region-summary=3Dt= rue -run-plugin-memory-with-libmem.so: CHECK_PLUGIN_OUTPUT_COMMAND=3D$(MULTIARC= H_SYSTEM_SRC)/validate-memory-counts.py $@.out - -EXTRA_RUNS_WITH_PLUGIN +=3D run-plugin-memory-with-libmem.so -endif --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526171; cv=none; d=zohomail.com; s=zohoarc; b=SmvZ6wfOSl36GDP0eM+TskIgh/hW8DmX0nSWUZj+m0pOvT2UFpQO/t5kq9UzlsuKDoyMWyYMRVZctUc8jjyq/KBOnxz1V5MJp2DxaL2EUV/Ozie6TXNSNpolm0epe73bilZJPhHC0nC1o9W2BHYKtN21fycrYz+RnnXtVIWOgNQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526171; 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=dwaCZdsJYlqcxTKd4393FEZpoMWYHWUJsBFlxpnir8I=; b=CrzxiE6eo8qkgBgiz/fJXbiDFzCmrclVMxAERJKPa82qSmDZA8cr2+Ut56MG9MmEIlnoHsaz7t1uQTpU8UdYnp1L7DYhiTwYYgd3wTl2jubyscQMJt5t1fktaH8v0KLG9oSwzCVzybiWOrMAYejQeX511evwOzpUvMxiwMq5tKA= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526170765973.9509933827226; Fri, 4 Sep 2026 05:49:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJO-0006CK-7J; Fri, 04 Sep 2026 08:46:30 -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 1x2TJM-0006BH-67 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:28 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJJ-0006ub-BW for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:27 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-49b0d78a801so9168845e9.2 for ; Fri, 04 Sep 2026 05:46:24 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885cb03asm6043070f8f.37.2026.09.04.05.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E147961E15; Fri, 04 Sep 2026 13:46:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525984; x=1789130784; 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=dwaCZdsJYlqcxTKd4393FEZpoMWYHWUJsBFlxpnir8I=; b=gbm51yLwZ7y9Ld/s/f/kkoYgv3VkixghfuATgxm8es97712MBmRvIW9PCNhYFHX/We fl7dWxz71uUVBH3HMhnEvEJZ9oYb84p1oPyY2pft7Yeuuvu8jZxueojl+/pQIKAji0pk IcOcR4MuL3xdu+Y3Lz/iyNmYCcQrLNbBL7FZI53krmVkZREsTOTIGc6bdv1G9UD/O3Ah 1Mo4qAao+JDfop2NBcYzy1rIAdl0YM/uTJzEbv0hbDbf9QPwikrDo3gDftdw3XsEDtQE EX8iBnBHJ7JFRkxPKbpieeIMNW/XtiareU/S5HnTi8DfpdcLvp8IBCustkZzCuuE689I QOCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525984; x=1789130784; 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=dwaCZdsJYlqcxTKd4393FEZpoMWYHWUJsBFlxpnir8I=; b=et1jLYEq01bMwR1us/+7s4hwTJz5n9AAGNEBXaDV3uZOgpIx6CgLggC17SEzRU/ODC f5uvP+WLTZB4TMrV4zCxYggrGhJS4KoNmKktHu8RfOLWIGeiu9c3MQcsv/nTxw6+PisD iFqKF/hxzlQQfBRnGvsrtJitXJC+MysQPv4cmiIGZI0sxcypRtkreSKJVF/+X9GTmP8X RP8Ydtsb6cmYahiLmRl5NlxNCA8gjSwaQRkE7pZzMif2sBHeD2QfVSFBImUrj864aD8e r2YOJBK/I+RNsEf0sZpQA1KtSWR2uM3vhslcXSaVPqJHMpl4ediWGUY/1dcH41xo5lST ErBQ== X-Gm-Message-State: AFuF++my/7BVe1g5En/fGp4nc8jn16w58s9GF397NR4vHnJU3y37npOB t3AnJJiMr0MesMQpnOh3pFs2NQ7gAlZKkVyuyirp5936qSHZqJgL3VPYexQyKabsK8E= X-Gm-Gg: AYBFou3FNrEeUnQ3bSgolNCQU0AMmgag5z5cOX6CWAoSaQZmM5B4kPF591d8QoydIi4 1fW/Ndwry651k7sGeQceZa3E5gjW+LcMOeBoFlDY7mqex9UzyoaTo4l8P7+oqr/9mfDts/tAoAW OEm8N9fvwLVot/6yLyf6DkXUzwm/Ri3G/YR4MbHtQw7LrmKYJV3TkI8PMtzVeMqahc645pXLvMS eAxbxFWW4afn7QEdb0xoYILS9ANX4CvX4j3BfstEafbHTlMSZ5p7KDTDA0HB1SHkVoRVLgRzuQ4 A5pYP5j6SgUBMBIbtFies6n7HBWrU6N2LoHE6KtZDfq1MmZZ7v+oSkdwJeGPDWqarLbK20CrJTy MiAwJNlqVmWYoTxFT84uccgIX39UveM4JHHouCN40rzaCCM4GwCyv2hEf4Y/mo/e/Edd98ZTv+O Uu9SOP5TrvU+8w+56Za1WHDp7N6QJpIS/EITiBaXgwrXO+oSkdkF9Ung7CKa1h X-Received: by 2002:a05:600c:a0b:b0:49c:cee2:1697 with SMTP id 5b1f17b1804b1-49cf8262133mr65404605e9.16.1788525983764; Fri, 04 Sep 2026 05:46:23 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 099/105] configure: directly pass gdb path as a meson option Date: Fri, 4 Sep 2026 13:45:53 +0100 Message-ID: <20260904124604.2207440-100-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526174164158500 From: Pierrick Bouvier Move the remaining bit of the detection logic to meson. We can assume gdb can be probed since gdb-9 has been published more than 6 years ago. If ./configure --gdb is set, make sure the given program exists by using find_program(..., required: true). Also, using a proper meson option lists this at end of meson summary. Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-100-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/configure b/configure index cb5fdfed221..cec6f18f857 100755 --- a/configure +++ b/configure @@ -263,8 +263,6 @@ skip_meson=3Dno use_containers=3D"yes" rust=3D"disabled" rust_target_triple=3D"" -gdb_bin=3D$(command -v "gdb-multiarch" || command -v "gdb") -gdb_arches=3D"" =20 # Don't accept a target_list environment variable. unset target_list @@ -737,7 +735,7 @@ for opt do ;; --rust-target-triple=3D*) rust_target_triple=3D"$optarg" ;; - --gdb=3D*) gdb_bin=3D"$optarg" + --gdb=3D*) meson_option_add -Dgdb=3D"$optarg" ;; --enable-rust) rust=3Denabled ;; @@ -869,7 +867,7 @@ Advanced options (experts only): --cpu=3DCPU Build for host CPU [$cpu] --disable-containers don't use containers for cross-building --container-command=3DCMD which container command to use [autodetect] - --gdb=3DGDB-path gdb to use for gdbstub tests [$gdb_bin] + --gdb=3DGDB-path gdb to use for gdbstub tests [autodetect] --wasm64-32bit-address-limit Restrict wasm64 address space to 32-bit (de= fault is to use the whole 64-bit range). EOF @@ -1120,20 +1118,6 @@ if test "$tcg" =3D "auto"; then fi fi =20 -######################################### -# gdb test - -if test -n "$gdb_bin"; then - gdb_version_string=3D$($gdb_bin --version | head -n 1) - # Extract last field in the version string - gdb_version=3D${gdb_version_string##* } - if version_ge $gdb_version 9.1; then - gdb_arches=3D$($python "$source_path/scripts/probe-gdb-support.py"= $gdb_bin) - else - gdb_bin=3D"" - fi -fi - ########################################## # big/little endian test cat > $TMPC << EOF @@ -1734,7 +1718,6 @@ echo all: >> $config_host_mak =20 echo "SRC_PATH=3D$source_path" >> $config_host_mak echo "TARGET_DIRS=3D$target_list" >> $config_host_mak -echo "GDB=3D$gdb_bin" >> $config_host_mak if test "$container_command" !=3D ""; then echo "CONTAINER_COMMAND=3D$container_command" >> $config_host_mak fi @@ -1930,7 +1913,6 @@ if test "$skip_meson" =3D no; then test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engin= e=3D$LIB_FUZZING_ENGINE" test "$plugins" =3D yes && meson_option_add "-Dplugins=3Dtrue" test "$tcg" !=3D enabled && meson_option_add "-Dtcg=3D$tcg" - test -n "$gdb_bin" && meson_option_add "-Dgdb=3D$gdb_bin" =20 run_meson() { NINJA=3D$ninja $meson setup "$@" "$PWD" "$source_path" diff --git a/meson_options.txt b/meson_options.txt index d8f59cf92ca..a41ed64bc90 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -36,7 +36,7 @@ option('trace_file', type: 'string', value: 'trace', option('coroutine_backend', type: 'combo', choices: ['ucontext', 'sigaltstack', 'windows', 'wasm', 'auto'], value: 'auto', description: 'coroutine backend to use') -option('gdb', type: 'string', value: '', +option('gdb', type: 'string', description: 'Path to GDB') =20 # Everything else can be set via --enable/--disable-* option diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 76f8f3e6e02..144577fd94e 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -1,11 +1,11 @@ env =3D find_program('env') =20 docker_wrapper =3D find_program('../docker/docker.py') -gdb_progs =3D ['gdb-multiarch', 'gdb'] -if config_host.has_key('GDB') - gdb_progs =3D [config_host['GDB'], gdb_progs] +if get_option('gdb') !=3D '' + gdb =3D find_program(get_option('gdb'), required: true) +else + gdb =3D find_program(['gdb-multiarch', 'gdb'], required: false) endif -gdb =3D find_program(gdb_progs, required: false) prog_check_plugin_output =3D find_program('./scripts/check_plugin_output.s= h') prog_gdb_test =3D find_program('../guest-debug/run-test.py') prog_record_replay =3D find_program('./scripts/record_replay.sh') --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526137; cv=none; d=zohomail.com; s=zohoarc; b=H5b4kZrI7INO/nzBEooScxnwQNAuRSxzulmiSlX/HQG98Vtk+0ExEA2q/c6Y1Z/Fbi427Wp/RmbOFB6HxWYy+p9D7sO0ZwihVFNG8XDk5DJ3G6ZxqDPWotuyom9M8d9owcpDWLgzbOS4ZxSTY18jlKALWXtuOgNAuoewiCnx0ME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526137; 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=tFpQ8psKfh/GfasFmr3B5G7VD9bDZo/cQLmAEF4vkwE=; b=Cko1dJSPV/VT/JggkXBkC39BkCzQ73sz9sL1gCU9fU0lXI0KrfyvU2oV8Kq4YryMNnPqdW3R964M1ai6U4o5NMnV1fPMJQ2EwicUwZJnGtSvA2waUPo6Q1ThpKCRiSeWU9CJIyssdaptAyfIY3qeI3Sb0H3/WHXm6B4ZIYkKCMw= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526136995462.66379519487725; Fri, 4 Sep 2026 05:48:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TJQ-0006Dm-UI; Fri, 04 Sep 2026 08:46:33 -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 1x2TJN-0006C3-P6 for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:29 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TJK-0006uq-5K for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:46:29 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-499b2981a7bso9440645e9.3 for ; Fri, 04 Sep 2026 05:46:25 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf75ce49esm117851625e9.1.2026.09.04.05.46.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:46:19 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0A65261E24; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788525984; x=1789130784; 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=tFpQ8psKfh/GfasFmr3B5G7VD9bDZo/cQLmAEF4vkwE=; b=cPNgP3MuOWIzIu66y2xO2ImizCFNbiy+l8e5KrzKHPRCaEHfCdHHIW6ICWGDMkjVdp H+8hTGaS9/ahMkxOId/FbSBufWte32eWPZoSHZds6SUjFSxjbeWqAtnRQsYfX3VoW6Q1 kaZY6ARZkGsv6df+U2YIJjmUpMz6tgA/eS8Yf3L3GuAdzo3J814Kgs01I2/+rjZvYuQd JqWI2qZfojAFf8T2jqTOhdSQaPKkfdCL0gbzSnfMeYsIUnIGlAdrnIoGLCoED4jzkd+0 kJ8Oy4oCR+HDqg+zF7v3Z85Z7o60WncbTz6LvAaA78ypvy2u6gWaQGAW4PxdKGvZMKGl y/aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788525984; x=1789130784; 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=tFpQ8psKfh/GfasFmr3B5G7VD9bDZo/cQLmAEF4vkwE=; b=mgtXbEu/eVK1BAy+St8q634qzw6gXXr95nEDZEgWc0t0KYqh7kIPSQiTA1v2vvq1EG A7UD/StlxKl7BhTRG6zjZ2RJVF+cvlg5KP6ieTyJ/xf/eqEylDFwsjadjPsoUqqfp6W0 0keFJLnV45jnyN9DDKZQTlGUAWzsLdB0YPr0gyyZwFX2BQLwzDUy3wg094iMwmXF7IZo /Ieeagp9Lxmj7qBR1cGwMIICzC2uX/e/uyP6ikMgn4wu6OkOlqpMr9yPELi19XCrbxD9 vfZiZ8cfrc4vIFKeF8g7kYwu4kfERuPQVxQDS41p3/6Yb8toGOH0nIaDloJPcwZII+cl AzrA== X-Gm-Message-State: AFuF++mQiQx9bwN6HHNbNfY3wo5eh/S/JCT+GWedVqzW10iVp4vSP0mE vriQP4y+zCovQyJ1vtOZQZvR1taGzbSAQVlPIyYPu6DYHPaJomZrmX09+WEjKDK9idY= X-Gm-Gg: AYBFou0nQ1oKmiAst3AjGPVMijU2BfEI+sTtGWywgMfhsRMFkbbCBo1UwSAIo57nKMj 9eCpl9azwRlDNNF1PDQwJJYetB97lUi8Fy93vFv1F+Q265T4ZOmPOLO1BzpbE83LQ07wuLRSeUi 0C7MuioyZ/rRMTCezQz73p/IqurATzIcjYSaY04ZCUtmiXBwhFQhBfXExng4yXeEruOnN0DASmT 45d9ocvC4xD/U6FbdJKv83bFoTN9e2X0BEYTsVmFSL1tz5fknnBsR60jVeIaUAKBsE2G1bzGe4N p+mvsOqP2ykU4mGrXiowyxkFDjUT/ZzZUjeSdsk+RrFkbKgh2EmXNTeRCyknt9wXjxIP9ZbVM4x Rji3YnyFuvdA9XyE8Qvtoff7C2m6vyIb4lcz4D4e0Wrxx7qe18JoTyg6+MbexUqWg3CZ1S6y7Ei gg4t7T9hcyLTGmF8CC0Rh7xlg1CX0uMCczRA0tENTeCwDBpWBXD8KyqAlrHYTD3sj+jZmU9DMV1 A== X-Received: by 2002:a05:600c:3b01:b0:49b:4d64:bbc4 with SMTP id 5b1f17b1804b1-49cf81f1592mr81758895e9.8.1788525984271; Fri, 04 Sep 2026 05:46:24 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 100/105] tests/tcg/meson.build: implement ./configure containers options Date: Fri, 4 Sep 2026 13:45:54 +0100 Message-ID: <20260904124604.2207440-101-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526141793154100 From: Pierrick Bouvier ./configure --disable-containers now skip containers build. ./configure --container-command "/path/to/docker" can be used to override autodetection. Tested-by: Aniket Sahu Tested-by: Alex Benn=C3=A9e Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-101-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/configure b/configure index cec6f18f857..aa98cf39584 100755 --- a/configure +++ b/configure @@ -172,7 +172,6 @@ fi # some defaults, based on the host environment =20 # default parameters -container_command=3D"" cpu=3D"" cross_compile=3D"no" cross_prefix=3D"" @@ -260,7 +259,6 @@ ninja=3D"" python=3D download=3D"enabled" skip_meson=3Dno -use_containers=3D"yes" rust=3D"disabled" rust_target_triple=3D"" =20 @@ -727,11 +725,11 @@ for opt do ;; --disable-plugins) plugins=3D"no" ;; - --enable-containers) use_containers=3D"yes" + --enable-containers) # enabled by default ;; - --disable-containers) use_containers=3D"no" + --disable-containers) meson_option_add -Dcontainers=3Dfalse ;; - --container-command=3D*) container_command=3D"$optarg" + --container-command=3D*) meson_option_add -Dcontainer_command=3D"$optarg" ;; --rust-target-triple=3D*) rust_target_triple=3D"$optarg" ;; @@ -1718,9 +1716,6 @@ echo all: >> $config_host_mak =20 echo "SRC_PATH=3D$source_path" >> $config_host_mak echo "TARGET_DIRS=3D$target_list" >> $config_host_mak -if test "$container_command" !=3D ""; then - echo "CONTAINER_COMMAND=3D$container_command" >> $config_host_mak -fi echo "SUBDIRS=3D$subdirs" >> $config_host_mak echo "PYTHON=3D$python" >> $config_host_mak echo "MKVENV_ENSUREGROUP=3D$mkvenv ensuregroup $mkvenv_online_flag" >> $co= nfig_host_mak diff --git a/meson_options.txt b/meson_options.txt index a41ed64bc90..f9604a6c192 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -387,3 +387,7 @@ option('rust', type: 'feature', value: 'disabled', description: 'Rust support') option('strict_rust_lints', type: 'boolean', value: false, description: 'Enable stricter set of Rust warnings') +option('containers', type: 'boolean', value: true, + description: 'use containers to cross compile tcg tests') +option('container_command', type: 'string', + description: 'command to build/run containers') diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 144577fd94e..2458a231f5f 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -78,10 +78,23 @@ if gdb.found() endforeach endif =20 -docker_probe =3D run_command(docker_wrapper, 'probe', check: false) -docker_supported =3D docker_probe.returncode() =3D=3D 0 -if docker_supported - docker_wrapper =3D [docker_wrapper, '--command', docker_probe.stdout().s= trip()] +docker_supported =3D false +if get_option('containers') + if get_option('container_command') !=3D '' + # make sure command is working + cmd =3D get_option('container_command').split() + run_command([cmd, 'info'], check: true) + docker_supported =3D true + docker_wrapper =3D [docker_wrapper, '--command', + get_option('container_command')] + else + docker_probe =3D run_command(docker_wrapper, 'probe', check: false) + docker_supported =3D docker_probe.returncode() =3D=3D 0 + if docker_supported + docker_wrapper =3D [docker_wrapper, '--command', + docker_probe.stdout().strip()] + endif + endif endif =20 # plugins come first, as we need to build the list --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526530; cv=none; d=zohomail.com; s=zohoarc; b=gixc9hdiujIZhj3TvyLsSaaJdct3GmVhhhV+zbuHx4FwI7TpTjllAzCtD5JeUQiWk+30jKbktAFKMDAqU5W9EUsPr53sxwRprQZytVKAifjqo6UU3JessKcE/p6hlp8ClYr++TGV80ukoOWT27DEmiIC1qNQ6/TSv7h4CdYrH9c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526530; 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=VZ56hUm46ZCsuRXrdJuTj9n6DQWjKkAlV/0A2Puo6Pg=; b=iFwtLtgD1IoTd/8sKSwJc7utwCp2tR3BsyYwizz8nkWdQVwOzdmQy4wt0X8Dc1cYdFutlXT7MXp4Or7GRcbMzfqAsksCQQRZmNRjqCbIbmW8gAAWfgIfE/ELtIHc6jS9TdLde8cSKYoqJyNNtFfB0fM3FRgNio/T+e36KCpb4/I= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788526530359668.9327814344039; Fri, 4 Sep 2026 05:55:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQG-0001dS-Fz; Fri, 04 Sep 2026 08:53:36 -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 1x2TQE-0001cD-OE for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQC-0000g7-Bc for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:34 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-49b392ccaacso15290375e9.2 for ; Fri, 04 Sep 2026 05:53:31 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee5d4938sm151913635e9.2.2026.09.04.05.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 26B1661E2D; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526411; x=1789131211; 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=VZ56hUm46ZCsuRXrdJuTj9n6DQWjKkAlV/0A2Puo6Pg=; b=Nof3NlXFOfCKy0Kw177+cO2etV4LjrGywiXO5T4PkwAwxRd4kXEkQ46uvuYc6XiZ2r N4No7iaKC3aNSaod4uokF36j1qn5fhSqXiQMbI6UCqnwJEpCX0iVJeTEYQ/N32DUSxaR 0qVC0GsglsHUjy3gFWnyO3EGnCG8+FWjsX6OzmExU6+TO/cnxpOpYOqGKXrQ/J7FeG5g FONHvWTL1dv974svy6hxhYOaZIDsi9li76S4q63JIzqMnh1y3Zq6KytxmbexafbO1oKA 7eDAkNyLWWw0+jLVw8RVWUr7dQML3k266piYh6zPnBbUHXmnz3IIumi0krvbmkeVIE/U JZYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526411; x=1789131211; 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=VZ56hUm46ZCsuRXrdJuTj9n6DQWjKkAlV/0A2Puo6Pg=; b=VUURtqqzSEfSZ44JHIHnZex2vnrzaPe4mkDbQDjh0OV0DFDfyuolQcLCtwc2oRYe13 cxFxSEQQLYF56yLzEhFrgtjTMUswV3wcWpzKF4L4cV63ZFHzV2kt8wcUOQaunBU59aJs YFzbVI7/aHgP/4DemCh9WHUVKo5yRmnt1W9STXdrjwet1dOAb1qf+ttK+HNyF5Pg0cku 3Bjqkvnk4XmLFPfzku1GgeZku38WEKpTK/sKLvYgh23InR4wtM/nyZqVd47ALwNwwHuI qKPfAWU2/k2dublfechrGSz/FWxLzEVVur2IHCxt6xyeYbMnFKoKkEtOWvhJl0USDrr0 AMSg== X-Gm-Message-State: AFuF++n6AhU4bnUqQU+vKG9IS+uVHe3kxj8sV10RAozbLY/FKCVfmrR0 VmZRBLoi8AGMrJMjgwvsamMf269rTfNTm9dCBzC/HQFk1qDPOFpaIkcNAqiwgTBdwto= X-Gm-Gg: AYBFou2AcAavlnWPKQUft2kZhW891ZWnj9uNinPdOJa0PYEcEQ5jB5lKH5FWuu10ONf m3VT0Aw2hdlqacCx32CsxEO91SN21PsKSTTT5ToR5ezix5cEB6L2HlF8PhPt6lBJgCZ4fc8orZ6 2ExBusSa1YQE+iaVCe/muQWWs5sD4ySYuAR1+sazec2VsCrmCVSQhlJSOd2vvSCgjejt0527qub UZny+wAdsq/bMDBdoV5h5I4/hDEHAx0PkFeZ8erFlUen6StxsCXMKCTkxXKDt+xQ5/K2W6AlzSj Vw/F9tYVRmxBwfNbVOan/ZTrAIego947fOomaBfrRi3AT3Air2MtYX4L4MLRVQvWnE6S9hT6/Eh YnS8QrTAdiJhW1aI/Vwip9qbSFcBfcWgxeEd2JGWnUodrhmj4Mp5W0Rv8I4AW25eKk38zRtfxaf 17F/ahOiqRDQNA+cdoTrqwHeQWEoK356B4DXxmFAZIOPEqtARiZCWmOAfbiQEo X-Received: by 2002:a05:600c:1f87:b0:49b:47b3:d6d with SMTP id 5b1f17b1804b1-49cf825c7e8mr51908535e9.10.1788526410758; Fri, 04 Sep 2026 05:53:30 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 101/105] tests/tcg/meson.build: implement ./configure -cross-cc-* options Date: Fri, 4 Sep 2026 13:45:55 +0100 Message-ID: <20260904124604.2207440-102-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32c; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32c.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526531908158500 From: Pierrick Bouvier When a user set explicit cross cc, we ensure it's available and working. When a user set explicit cross cflags, we ensure they work with default or overriden cross_cc. Made the first implementation with a single meson option (array), which proved to be absolutely unreadable. By having one option per target, we directly detect issue at configure time, either for user, or when iterating on all our targets. This ensures user can't mispell any target name, and that we can't forget any new one in the future. Also, it shows them in the configuration summary, which is a bonus. Since we now only need to know compiler to write tcg tests, we can simply alias -cross-prefix-* options to compiler override. Examples Tested-by: Aniket Sahu -------- wrong architecture: $ ./configure --cross-cc-bad=3D'cc' ../meson.build:1:0: ERROR: Unknown option: "tcg_tests_cross_cc_bad" wrong option: $ ./configure --cross-cc-cflags-aarch64=3D'-bad-option' ../tests/tcg/meson.build:228:10: ERROR: Command `/usr/bin/aarch64-linux-gnu= -gcc /home/pbouvier/.work/qemu/tests/tcg/test_cc.c -bad-option -static -nos= tdlib -r -o /dev/null` failed with status 1. A full log can be found at /qemu/build/meson-logs/meson-log.txt cross compile with clang (fails at the moment, since some tests have compilation errors with it): $ ./configure --target-list=3Daarch64-linux-user --cross-cc-aarch64=3D'clan= g' --cross-cc-cflags-aarch64=3D'-target aarch64-linux-gnu' User defined options ... tcg_tests_cross_cc_aarch64 : clang tcg_tests_cross_cflags_aarch64 : -target aarch64-linux-gnu Tested-by: Aniket Sahu Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-102-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/configure b/configure index aa98cf39584..1973f023b1e 100755 --- a/configure +++ b/configure @@ -227,19 +227,6 @@ for opt do ;; --extra-ldflags=3D*) EXTRA_LDFLAGS=3D"$EXTRA_LDFLAGS $optarg" ;; - --cross-cc-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-cc-FOO o= ption" - ;; - --cross-cc-cflags-*) cc_arch=3D${opt#--cross-cc-cflags-}; cc_arch=3D${cc= _arch%%=3D*} - eval "cross_cc_cflags_${cc_arch}=3D\$optarg" - ;; - --cross-cc-*) cc_arch=3D${opt#--cross-cc-}; cc_arch=3D${cc_arch%%=3D*} - eval "cross_cc_${cc_arch}=3D\$optarg" - ;; - --cross-prefix-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-pref= ix-FOO option" - ;; - --cross-prefix-*) cc_arch=3D${opt#--cross-prefix-}; cc_arch=3D${cc_arch%= %=3D*} - eval "cross_prefix_${cc_arch}=3D\$optarg" - ;; --without-default-features) default_feature=3D"no" ;; --wasm64-32bit-address-limit) wasm64_memory64=3D"2" @@ -631,9 +618,19 @@ for opt do ;; --extra-ldflags=3D*) ;; - --cross-cc-*) + --cross-cc-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-cc-FOO o= ption" + ;; + --cross-cc-cflags-*) arch=3D${opt#--cross-cc-cflags-}; arch=3D${arch%%= =3D*} + meson_option_add "-Dtcg_tests_cross_cflags_${arch}= =3D${optarg}" + ;; + --cross-cc-*) arch=3D${opt#--cross-cc-}; arch=3D${arch%%=3D*} + meson_option_add "-Dtcg_tests_cross_cc_${arch}=3D${optarg}" + ;; + --cross-prefix-*[!a-zA-Z0-9_-]*=3D*) error_exit "Passed bad --cross-pref= ix-FOO option" ;; - --cross-prefix-*) + # cross-prefix is just used as a syntactic sugar for -cross-cc. + --cross-prefix-*) arch=3D${opt#--cross-prefix-}; arch=3D${arch%%=3D*} + meson_option_add "-Dtcg_tests_cross_cc_${arch}=3D${opt= arg}gcc" ;; --enable-docs) docs=3Denabled ;; diff --git a/meson_options.txt b/meson_options.txt index f9604a6c192..292625af08a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -391,3 +391,92 @@ option('containers', type: 'boolean', value: true, description: 'use containers to cross compile tcg tests') option('container_command', type: 'string', description: 'command to build/run containers') + +option('tcg_tests_cross_cc_aarch64', type: 'string', + description: 'cc for aarch64 tcg tests') +option('tcg_tests_cross_cflags_aarch64', type: 'string', + description: 'cflags for aarch64 tcg tests') +option('tcg_tests_cross_cc_aarch64_be', type: 'string', + description: 'cc for aarch64_be tcg tests') +option('tcg_tests_cross_cflags_aarch64_be', type: 'string', + description: 'cflags for aarch64_be tcg tests') +option('tcg_tests_cross_cc_alpha', type: 'string', + description: 'cc for alpha tcg tests') +option('tcg_tests_cross_cflags_alpha', type: 'string', + description: 'cflags for alpha tcg tests') +option('tcg_tests_cross_cc_arm', type: 'string', + description: 'cc for arm tcg tests') +option('tcg_tests_cross_cflags_arm', type: 'string', + description: 'cflags for arm tcg tests') +option('tcg_tests_cross_cc_hexagon', type: 'string', + description: 'cc for hexagon tcg tests') +option('tcg_tests_cross_cflags_hexagon', type: 'string', + description: 'cflags for hexagon tcg tests') +option('tcg_tests_cross_cc_hppa', type: 'string', + description: 'cc for hppa tcg tests') +option('tcg_tests_cross_cflags_hppa', type: 'string', + description: 'cflags for hppa tcg tests') +option('tcg_tests_cross_cc_i386', type: 'string', + description: 'cc for i386 tcg tests') +option('tcg_tests_cross_cflags_i386', type: 'string', + description: 'cflags for i386 tcg tests') +option('tcg_tests_cross_cc_loongarch64', type: 'string', + description: 'cc for loongarch64 tcg tests') +option('tcg_tests_cross_cflags_loongarch64', type: 'string', + description: 'cflags for loongarch64 tcg tests') +option('tcg_tests_cross_cc_m68k', type: 'string', + description: 'cc for m68k tcg tests') +option('tcg_tests_cross_cflags_m68k', type: 'string', + description: 'cflags for m68k tcg tests') +option('tcg_tests_cross_cc_mips', type: 'string', + description: 'cc for mips tcg tests') +option('tcg_tests_cross_cflags_mips', type: 'string', + description: 'cflags for mips tcg tests') +option('tcg_tests_cross_cc_mips64', type: 'string', + description: 'cc for mips64 tcg tests') +option('tcg_tests_cross_cflags_mips64', type: 'string', + description: 'cflags for mips64 tcg tests') +option('tcg_tests_cross_cc_mips64el', type: 'string', + description: 'cc for mips64el tcg tests') +option('tcg_tests_cross_cflags_mips64el', type: 'string', + description: 'cflags for mips64el tcg tests') +option('tcg_tests_cross_cc_or1k', type: 'string', + description: 'cc for or1k tcg tests') +option('tcg_tests_cross_cflags_or1k', type: 'string', + description: 'cflags for or1k tcg tests') +option('tcg_tests_cross_cc_ppc64', type: 'string', + description: 'cc for ppc64 tcg tests') +option('tcg_tests_cross_cflags_ppc64', type: 'string', + description: 'cflags for ppc64 tcg tests') +option('tcg_tests_cross_cc_ppc64le', type: 'string', + description: 'cc for ppc64le tcg tests') +option('tcg_tests_cross_cflags_ppc64le', type: 'string', + description: 'cflags for ppc64le tcg tests') +option('tcg_tests_cross_cc_riscv64', type: 'string', + description: 'cc for riscv64 tcg tests') +option('tcg_tests_cross_cflags_riscv64', type: 'string', + description: 'cflags for riscv64 tcg tests') +option('tcg_tests_cross_cc_s390x', type: 'string', + description: 'cc for s390x tcg tests') +option('tcg_tests_cross_cflags_s390x', type: 'string', + description: 'cflags for s390x tcg tests') +option('tcg_tests_cross_cc_sh4', type: 'string', + description: 'cc for sh4 tcg tests') +option('tcg_tests_cross_cflags_sh4', type: 'string', + description: 'cflags for sh4 tcg tests') +option('tcg_tests_cross_cc_tricore', type: 'string', + description: 'cc for tricore tcg tests') +option('tcg_tests_cross_cflags_tricore', type: 'string', + description: 'cflags for tricore tcg tests') +option('tcg_tests_cross_cc_x86_64', type: 'string', + description: 'cc for x86_64 tcg tests') +option('tcg_tests_cross_cflags_x86_64', type: 'string', + description: 'cflags for x86_64 tcg tests') +option('tcg_tests_cross_cc_xtensa', type: 'string', + description: 'cc for xtensa tcg tests') +option('tcg_tests_cross_cflags_xtensa', type: 'string', + description: 'cflags for xtensa tcg tests') +option('tcg_tests_cross_cc_xtensaeb', type: 'string', + description: 'cc for xtensaeb tcg tests') +option('tcg_tests_cross_cflags_xtensaeb', type: 'string', + description: 'cflags for xtensaeb tcg tests') diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 2458a231f5f..9cf632d2717 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -180,6 +180,8 @@ foreach target, plan: tcg_tests continue endif =20 + cc_arch =3D target.replace('-linux-user', '').replace('-softmmu', '') + # Detect duplicated executables/tests, and report an error to force user= to # choose how to deal with it. built_tests =3D {} @@ -197,16 +199,35 @@ foreach target, plan: tcg_tests endforeach =20 cc =3D find_program(plan['cc'], required : false) + cc_cflags =3D [] + + check_flags =3D [] + check_required =3D false + cross_cc =3D get_option('tcg_tests_cross_cc_' + cc_arch) + if cross_cc !=3D '' + # we make sure cross cc exists + cc =3D find_program(cross_cc, required: true) + check_required =3D true + endif + cross_cflags =3D get_option('tcg_tests_cross_cflags_' + cc_arch) + if cross_cflags !=3D '' + cc_cflags =3D cross_cflags.split() + # and that cross cc can compile programs + check_flags =3D cc_cflags + check_required =3D true + endif + cc_from_system =3D cc.found() has_cc =3D cc.found() if has_cc - check_flags =3D ['-static'] if target.endswith('softmmu') - check_flags =3D ['-nostdlib', '-ffreestanding', '-r'] + check_flags +=3D ['-nostdlib', '-ffreestanding', '-r'] + else + check_flags +=3D ['-static'] endif =20 cmd =3D run_command([cc, files('test_cc.c'), check_flags, '-o', '/dev/= null'], - check: false) + check: check_required) has_cc =3D cmd.returncode() =3D=3D 0 cc_from_system =3D has_cc endif @@ -333,9 +354,9 @@ foreach target, plan: tcg_tests endif endif =20 - cflags =3D [] + cflags =3D cc_cflags if 'cflags' in setup - cflags =3D setup['cflags'] + cflags +=3D setup['cflags'] endif =20 if 'cc_feat' in setup --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528294; cv=none; d=zohomail.com; s=zohoarc; b=KVPM7niHbEiFGArvrlEkhLl7qusoO2EsOOEt/9ww82qhsFcPY8ue+5ZnKSkBu5a3t4StAwbjx5HVfJlCwb4+luagh8jtA3xsmxjiiR2lPMUzA/95LHjvt3pan055EhDVOmqywy5ZoTAhp4cNyFd0evf781wjIqcJRfDoz+MY8qg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528294; 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=seDNgLd0sJSB6WOuJJHDNE5SSJgLBO7WRGK6WSPxe20=; b=niBATnoUHLXRKsSC7CZdWluD4OnYU0zY7Nlvm/tZM3BBoobpRh2K4dojsMcASEqYpC3+dcX6CJ6HIK8+CUgzeG/qHt3JmhtgVqDeEAAN9PC5GSB1HbTTXK8P+hdZACV/abYcEfbFzv6/MOp8f0zgKzNjNhPlT3cY37eDRgqs9cc= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178852829494648.75225633546552; Fri, 4 Sep 2026 06:24:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtH-0005Ut-6P; Fri, 04 Sep 2026 09:23:35 -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 1x2TtD-0005T3-Sx for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:31 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2Tt9-0008GK-ED for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:31 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-49b392ccaacso15744385e9.2 for ; Fri, 04 Sep 2026 06:23:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee80eda4sm151846605e9.15.2026.09.04.06.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4009761E2E; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528205; x=1789133005; 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=seDNgLd0sJSB6WOuJJHDNE5SSJgLBO7WRGK6WSPxe20=; b=bsYKgC9Xt0HCN/Y4dGWccyudyorBYVLGkvlhjC/ElFasXs5lWaaYbTGF7/lo3bn34Q BHc1X+oa8evDznwWcixtzLXsoRmFw5MJcBe0W9XSktJZbMEDKnvDime7nte+OPTu6g+/ C3NqDx6DYwEMcybHP1QN5quHr4Gptb6bMBGRYzrYIrKVJmqNcDMiOSoaXngOdd7wu8Iw 5R1U+BKcEcCGx/TKsf12cuwbIeTOj75bSrmg5qKspFNIaAL8BYrV6OD80yjMrH4/ZVQ/ Du9W+CPhLVUH2Hu2bsB5SnAy6muNKPC3Mwb6Yu+M1XpXaKDm5t7xa0zLsih3/XOYYfBS y1Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528205; x=1789133005; 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=seDNgLd0sJSB6WOuJJHDNE5SSJgLBO7WRGK6WSPxe20=; b=Cmcd7RtKwOL4GIpcrLFZDSERJjILUioe7kMNJuXsQOfqjg982vZ2hKp4wvowW82+A9 /fQhjkIYuKKyBPK9g/SyPG5Rb+Ry6P+QLfsOJ4Jczj7P3RNiiogIwyhlBkwgzUlqrSD+ +9/gs2scrRfBNigqyP4BC4HJMzmdaSgmppVZWR+fnXc8OSkzGcdKbb5e3+w6zGv8LkQJ RLURMXtX/cghiyv0NLbqY4T060VJwkRQ0CrjdPmv30ZVBMoll0Kx89dspgDAIxyLfWyD Xr8UXj9kkX3GFYtRSGf0ITMjXsqUBgB9B9HiEKZonp+tK3dccKJ8wg+svUfhCtbtpJpH 6JKw== X-Gm-Message-State: AFuF++l94S9Z2W7JRDjlMXO77AyaX/cvkJbOBS0nE2W3kM6UbYJ88BF/ hsMKti5Hdz9xZaLqLFRff0EOZgdGHq9RumqE66+J/ZGMlzDzk3LWXo5heky3aJjAWAMz1MyjW1u 0BrqBfSQ= X-Gm-Gg: AYBFou2qixsNXAoypuVDMSAVf9psEv7I/rtfeP9kaamJTnrBb5x5FHV7PvHbdw7xSWz RlbKPbsC4ZMlf2cxMkneUPz1qG+rDW1wz8Ff6JuDXplg+LcW6o+2dyFfDOq7OkyyUrjcQnGebgY BNmuf9z1TObsPYO1XaFSQ5ilv63W672OtOMQB8YNBtExK44B715LGBJkEHHmHcuyT2LR+BozFFT OgHZgEOKqXmAW8XpRAemc//lMqMfx5Pb5G5SaNEepCKsf7d0dsxK2dKY0rmsKGrHaWsPouePPBC Ib4wFVLWASY+qF9lNp9pZAy8Q/6KLQX0e13BEG7V2SM9jTJ6hHc51OoELW8l77Dh10u2ET7Sw56 //DZnLYNW7nIgquCh38pSOJY49gu5NK7g7+lAPpeEBSfS/kGk65JUE9dtN/7WTJRUYu5HWnDEou 6sBayIO0qttOqOgDKYqwDM6Azi0CzWfN7ZFTlUe91qtcm/xWrEdfTT1zGq5Lo3 X-Received: by 2002:a05:600c:8708:b0:49c:fa21:1c7c with SMTP id 5b1f17b1804b1-49cfa211d48mr37430285e9.17.1788528205244; Fri, 04 Sep 2026 06:23:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Subject: [PULL 102/105] configure: remove cross_cc and gdb detection logic Date: Fri, 4 Sep 2026 13:45:56 +0100 Message-ID: <20260904124604.2207440-103-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528296055158500 From: Pierrick Bouvier We have now implemented the same in meson directly, so no need to keep it on configure side. Also, we have no more Makefile consumers, so we don't need to export all those variables anymore. Tested-by: Aniket Sahu Acked-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-103-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/configure b/configure index 1973f023b1e..aaa41fe47aa 100755 --- a/configure +++ b/configure @@ -1266,366 +1266,6 @@ EOF fi fi =20 -########################################## -# functions to probe cross compilers - -if test "$container_command" =3D ""; then - container_command=3D$($python "$source_path"/tests/docker/docker.py pr= obe) - test "$container_command" =3D "no" && container_command=3D"" -fi -if test $use_containers =3D "yes" && test "$container_command" !=3D ""; th= en - docker_py=3D"$python $source_path/tests/docker/docker.py --command $co= ntainer_command" -fi - -# cross compilers defaults, can be overridden with --cross-cc-ARCH -: ${cross_prefix_aarch64=3D"aarch64-linux-gnu-"} -: ${cross_prefix_aarch64_be=3D"$cross_prefix_aarch64"} -: ${cross_prefix_alpha=3D"alpha-linux-gnu-"} -: ${cross_prefix_arm=3D"arm-linux-gnueabihf-"} -: ${cross_prefix_armeb=3D"$cross_prefix_arm"} -: ${cross_prefix_hexagon=3D"hexagon-unknown-linux-musl-"} -: ${cross_prefix_loongarch64=3D"loongarch64-unknown-linux-gnu-"} -: ${cross_prefix_hppa=3D"hppa-linux-gnu-"} -: ${cross_prefix_i386=3D"i686-linux-gnu-"} -: ${cross_prefix_m68k=3D"m68k-linux-gnu-"} -: ${cross_prefix_microblaze=3D"microblaze-linux-musl-"} -: ${cross_prefix_mips64el=3D"mips64el-linux-gnuabi64-"} -: ${cross_prefix_mips64=3D"mips64-linux-gnuabi64-"} -: ${cross_prefix_mipsel=3D"mipsel-linux-gnu-"} -: ${cross_prefix_mips=3D"mips-linux-gnu-"} -: ${cross_prefix_ppc=3D"powerpc-linux-gnu-"} -: ${cross_prefix_ppc64=3D"powerpc64-linux-gnu-"} -: ${cross_prefix_ppc64le=3D"$cross_prefix_ppc64"} -: ${cross_prefix_riscv64=3D"riscv64-linux-gnu-"} -: ${cross_prefix_s390x=3D"s390x-linux-gnu-"} -: ${cross_prefix_sh4=3D"sh4-linux-gnu-"} -: ${cross_prefix_sparc64=3D"sparc64-linux-gnu-"} -: ${cross_prefix_sparc=3D"$cross_prefix_sparc64"} -: ${cross_prefix_tricore=3D"tricore-"} -: ${cross_prefix_x86_64=3D"x86_64-linux-gnu-"} - -: ${cross_cc_aarch64_be=3D"$cross_cc_aarch64"} -: ${cross_cc_cflags_aarch64_be=3D"-mbig-endian"} -: ${cross_cc_armeb=3D"$cross_cc_arm"} -: ${cross_cc_cflags_armeb=3D"-mbig-endian"} -: ${cross_cc_hexagon=3D"hexagon-unknown-linux-musl-clang"} -: ${cross_cc_cflags_hexagon=3D"-mv73 -O2 -static"} -: ${cross_cc_cflags_i386=3D"-m32"} -: ${cross_cc_cflags_ppc=3D"-m32 -mbig-endian"} -: ${cross_cc_cflags_ppc64=3D"-m64 -mbig-endian"} -: ${cross_cc_ppc64le=3D"$cross_cc_ppc64"} -: ${cross_cc_cflags_ppc64le=3D"-m64 -mlittle-endian"} -: ${cross_cc_cflags_sparc64=3D"-m64 -mcpu=3Dultrasparc"} -: ${cross_cc_sparc=3D"$cross_cc_sparc64"} -: ${cross_cc_cflags_sparc=3D"-m32 -mcpu=3Dsupersparc"} -: ${cross_cc_cflags_x86_64=3D"-m64 -mcx16"} - -compute_target_variable() { - eval "$2=3D" - if eval test -n "\"\${cross_prefix_$1}\""; then - if eval has "\"\${cross_prefix_$1}\$3\""; then - eval "$2=3D\"\${cross_prefix_$1}\$3\"" - fi - fi -} - -have_target() { - for i; do - case " $target_list " in - *" $i "*) return 0;; - *) ;; - esac - done - return 1 -} - -# probe_target_compiler TARGET -# -# Look for a compiler for the given target, either native or cross. -# Set variables target_* if a compiler is found, and container_cross_* -# if a Docker-based cross-compiler image is known for the target. -# Set got_cross_cc to yes/no depending on whether a non-container-based -# compiler was found. -# -# If TARGET is a user-mode emulation target, also set build_static to -# "y" if static linking is possible. -# -probe_target_compiler() { - # reset all output variables - got_cross_cc=3Dno - container_image=3D - container_hosts=3D - container_cross_prefix=3D - container_cross_cc=3D - container_cross_ar=3D - container_cross_as=3D - container_cross_ld=3D - container_cross_nm=3D - container_cross_objcopy=3D - container_cross_ranlib=3D - container_cross_strip=3D - - target_arch=3D${1%%-*} - case $target_arch in - aarch64) container_hosts=3D"x86_64 aarch64" ;; - aarch64_be) container_hosts=3D"x86_64 aarch64" ;; - alpha) container_hosts=3Dx86_64 ;; - arm) container_hosts=3D"x86_64 aarch64" ;; - hexagon) container_hosts=3Dx86_64 ;; - hppa) container_hosts=3Dx86_64 ;; - i386) container_hosts=3Dx86_64 ;; - loongarch64) container_hosts=3Dx86_64 ;; - m68k) container_hosts=3Dx86_64 ;; - microblaze) container_hosts=3Dx86_64 ;; - mips64el) container_hosts=3Dx86_64 ;; - mips64) container_hosts=3Dx86_64 ;; - mipsel) container_hosts=3Dx86_64 ;; - mips) container_hosts=3Dx86_64 ;; - ppc) container_hosts=3Dx86_64 ;; - ppc64|ppc64le) container_hosts=3Dx86_64 ;; - riscv64) container_hosts=3Dx86_64 ;; - s390x) container_hosts=3Dx86_64 ;; - sh4) container_hosts=3Dx86_64 ;; - sparc64) container_hosts=3Dx86_64 ;; - tricore) container_hosts=3Dx86_64 ;; - x86_64) container_hosts=3D"aarch64 ppc64le x86_64" ;; - xtensa*) container_hosts=3Dx86_64 ;; - esac - - for host in $container_hosts; do - test "$container_command" !=3D "" || continue - test "$host" =3D "$cpu" || continue - case $target_arch in - # debian-all-test-cross architectures - - aarch64_be) - container_image=3Ddebian-all-test-cross - container_cross_prefix=3Daarch64-linux-gnu- - ;; - alpha|hppa|m68k|mips|mipsel|riscv64|sh4|sparc64) - container_image=3Ddebian-all-test-cross - ;; - mips64) - container_image=3Ddebian-all-test-cross - container_cross_prefix=3Dmips64-linux-gnuabi64- - ;; - ppc|ppc64|ppc64le) - container_image=3Ddebian-all-test-cross - container_cross_prefix=3Dpowerpc${target_arch#ppc}-linux-gnu- - ;; - - # architectures with individual containers - - aarch64) - # We don't have any bigendian build tools so we only use this for = AArch64 - container_image=3Ddebian-arm64-cross - ;; - arm) - # We don't have any bigendian build tools so we only use this for = ARM - container_image=3Ddebian-armhf-cross - container_cross_prefix=3Darm-linux-gnueabihf- - ;; - hexagon) - container_cross_prefix=3Dhexagon-unknown-linux-musl- - container_cross_cc=3D${container_cross_prefix}clang - ;; - i386) - container_image=3Ddebian-i686-cross - container_cross_prefix=3Di686-linux-gnu- - ;; - loongarch64) - container_image=3Ddebian-loongarch-cross - container_cross_prefix=3Dloongarch64-unknown-linux-gnu- - ;; - microblaze) - container_cross_prefix=3Dmicroblaze-linux-musl- - ;; - mips64el) - container_image=3Ddebian-all-test-cross - container_cross_prefix=3Dmips64el-linux-gnuabi64- - ;; - tricore) - container_image=3Ddebian-tricore-cross - container_cross_prefix=3Dtricore- - ;; - x86_64) - container_image=3Ddebian-amd64-cross - ;; - xtensa*) - container_image=3Ddebian-xtensa-cross - - # default to the dc232b cpu - container_cross_prefix=3D/opt/2020.07/xtensa-dc232b-elf/bin/xtensa= -dc232b-elf- - ;; - esac - # Debian and GNU architecture names usually match - : ${container_image:=3Ddebian-$target_arch-cross} - : ${container_cross_prefix:=3D$target_arch-linux-gnu-} - : ${container_cross_cc:=3D${container_cross_prefix}gcc} - : ${container_cross_ar:=3D${container_cross_prefix}ar} - : ${container_cross_as:=3D${container_cross_prefix}as} - : ${container_cross_ld:=3D${container_cross_prefix}ld} - : ${container_cross_nm:=3D${container_cross_prefix}nm} - : ${container_cross_objcopy:=3D${container_cross_prefix}objcopy} - : ${container_cross_ranlib:=3D${container_cross_prefix}ranlib} - : ${container_cross_strip:=3D${container_cross_prefix}strip} - done - - try=3Dcross - # For softmmu/roms also look for a bi-endian or multilib-enabled host co= mpiler - if [ "${1%softmmu}" !=3D "$1" ] || test "$target_arch" =3D "$cpu"; then - case "$target_arch:$cpu" in - aarch64_be:aarch64 | \ - armeb:arm | \ - i386:x86_64 | \ - ppc*:ppc64 | \ - sparc:sparc64 | \ - "$cpu:$cpu") - try=3D'native cross' ;; - esac - fi - eval "target_cflags=3D\${cross_cc_cflags_$target_arch}" - for thistry in $try; do - case $thistry in - native) - target_cc=3D$cc - target_ccas=3D$ccas - target_ar=3D$ar - target_as=3D$as - target_ld=3D$ld - target_nm=3D$nm - target_objcopy=3D$objcopy - target_ranlib=3D$ranlib - target_strip=3D$strip - ;; - cross) - target_cc=3D - if eval test -n "\"\${cross_cc_$target_arch}\""; then - if eval has "\"\${cross_cc_$target_arch}\""; then - eval "target_cc=3D\"\${cross_cc_$target_arch}\"" - fi - else - compute_target_variable $target_arch target_cc gcc - fi - target_ccas=3D$target_cc - compute_target_variable $target_arch target_ar ar - compute_target_variable $target_arch target_as as - compute_target_variable $target_arch target_ld ld - compute_target_variable $target_arch target_nm nm - compute_target_variable $target_arch target_objcopy objcopy - compute_target_variable $target_arch target_ranlib ranlib - compute_target_variable $target_arch target_strip strip - ;; - esac - - if test -n "$target_cc"; then - case $target_arch in - i386|x86_64) - if $target_cc --version | grep -qi "clang"; then - continue - fi - ;; - esac - elif test -n "$target_as" && test -n "$target_ld"; then - # Special handling for assembler only targets - case $target in - tricore-softmmu) - build_static=3D - got_cross_cc=3Dyes - break - ;; - *) - continue - ;; - esac - else - continue - fi - - write_c_skeleton - case $1 in - *-softmmu) - if do_compiler "$target_cc" $target_cflags -o $TMPO -c $TMPC && - do_compiler "$target_cc" $target_cflags -r -nostdlib -o "${TMPDI= R1}/${TMPB}2.o" "$TMPO" -lgcc; then - got_cross_cc=3Dyes - break - fi - ;; - *) - if do_compiler "$target_cc" $target_cflags -o $TMPE $TMPC -static = ; then - build_static=3Dy - got_cross_cc=3Dyes - break - fi - if do_compiler "$target_cc" $target_cflags -o $TMPE $TMPC ; then - build_static=3D - got_cross_cc=3Dyes - break - fi - ;; - esac - done - if test $got_cross_cc !=3D yes; then - build_static=3D - target_cc=3D - target_ccas=3D - target_ar=3D - target_as=3D - target_ld=3D - target_nm=3D - target_objcopy=3D - target_ranlib=3D - target_strip=3D - fi - test -n "$target_cc" -} - -write_target_makefile() { - echo "PYTHON=3D$python" - echo "EXTRA_CFLAGS=3D$target_cflags" - if test -z "$target_cc" && test -z "$target_as"; then - test -z "$container_image" && error_exit "Internal error: could not fi= nd cross compiler for $1?" - echo "$1: docker-image-$container_image" >> Makefile.prereqs - if test -n "$container_cross_cc"; then - echo "CC=3D$docker_py cc --cc $container_cross_cc -i qemu/$container= _image -s $source_path --" - echo "CCAS=3D$docker_py cc --cc $container_cross_cc -i qemu/$contain= er_image -s $source_path --" - fi - echo "AR=3D$docker_py cc --cc $container_cross_ar -i qemu/$container_i= mage -s $source_path --" - echo "AS=3D$docker_py cc --cc $container_cross_as -i qemu/$container_i= mage -s $source_path --" - echo "LD=3D$docker_py cc --cc $container_cross_ld -i qemu/$container_i= mage -s $source_path --" - echo "NM=3D$docker_py cc --cc $container_cross_nm -i qemu/$container_i= mage -s $source_path --" - echo "OBJCOPY=3D$docker_py cc --cc $container_cross_objcopy -i qemu/$c= ontainer_image -s $source_path --" - echo "RANLIB=3D$docker_py cc --cc $container_cross_ranlib -i qemu/$con= tainer_image -s $source_path --" - echo "STRIP=3D$docker_py cc --cc $container_cross_strip -i qemu/$conta= iner_image -s $source_path --" - else - if test -n "$target_cc"; then - echo "CC=3D$target_cc" - echo "CCAS=3D$target_ccas" - fi - if test -n "$target_ar"; then - echo "AR=3D$target_ar" - fi - if test -n "$target_as"; then - echo "AS=3D$target_as" - fi - if test -n "$target_ld"; then - echo "LD=3D$target_ld" - fi - if test -n "$target_nm"; then - echo "NM=3D$target_nm" - fi - if test -n "$target_objcopy"; then - echo "OBJCOPY=3D$target_objcopy" - fi - if test -n "$target_ranlib"; then - echo "RANLIB=3D$target_ranlib" - fi - if test -n "$target_strip"; then - echo "STRIP=3D$target_strip" - fi - fi -} - ####################################### # cross-compiled firmware targets =20 @@ -1659,48 +1299,6 @@ fi =20 echo "# Automatically generated by configure - do not modify" > Makefile.p= rereqs =20 -# Mac OS X ships with a broken assembler -if have_target i386-softmmu x86_64-softmmu && \ - test "$host_os" !=3D "darwin" && test "$host_os" !=3D "sunos" && \ - test "$host_os" !=3D "haiku" && \ - probe_target_compiler i386-softmmu; then - subdirs=3D"$subdirs pc-bios/optionrom" - config_mak=3Dpc-bios/optionrom/config.mak - echo "# Automatically generated by configure - do not modify" > $confi= g_mak - echo "TOPSRC_DIR=3D$source_path" >> $config_mak - write_target_makefile >> $config_mak -fi - -if have_target ppc-softmmu ppc64-softmmu && \ - probe_target_compiler ppc-softmmu; then - subdirs=3D"$subdirs pc-bios/vof" - config_mak=3Dpc-bios/vof/config.mak - echo "# Automatically generated by configure - do not modify" > $confi= g_mak - echo "SRC_DIR=3D$source_path/pc-bios/vof" >> $config_mak - write_target_makefile >> $config_mak -fi - -# Only build s390-ccw bios if the compiler has -march=3Dz900 or -march=3Dz= 10 -# (which is the lowest architecture level that Clang supports) -if have_target s390x-softmmu && probe_target_compiler s390x-softmmu && \ - GIT=3Dgit "$source_path/scripts/git-submodule.sh" "$git_submodules_act= ion" roms/SLOF >> config.log 2>&1; then - write_c_skeleton - do_compiler "$target_cc" $target_cc_cflags -march=3Dz900 -o $TMPO -c $TM= PC - has_z900=3D$? - if [ $has_z900 =3D 0 ] || do_compiler "$target_cc" $target_cc_cflags -ma= rch=3Dz10 -msoft-float -Werror -o $TMPO -c $TMPC; then - if [ $has_z900 !=3D 0 ]; then - echo "WARNING: Your compiler does not support the z900!" - echo " The s390-ccw bios will only work with guest CPUs >=3D= z10." - fi - subdirs=3D"$subdirs pc-bios/s390-ccw" - config_mak=3Dpc-bios/s390-ccw/config-host.mak - echo "# Automatically generated by configure - do not modify" > $confi= g_mak - echo "SRC_PATH=3D$source_path/pc-bios/s390-ccw" >> $config_mak - echo "GIT_SUBMODULES_ACTION=3D$git_submodules_action" >> $config_mak - write_target_makefile >> $config_mak - fi -fi - ####################################### # generate config-host.mak =20 @@ -1724,65 +1322,6 @@ if test "$default_targets" =3D "yes"; then echo "CONFIG_DEFAULT_TARGETS=3Dy" >> $config_host_mak fi =20 -tcg_tests_with_compilers=3D -for target in $target_list; do - arch=3D${target%%-*} - - case $target in - xtensa*-linux-user) - # the toolchain is not complete with headers, only build system tests - continue - ;; - *-softmmu) - test -f "$source_path/tests/tcg/$arch/Makefile.softmmu-target" || co= ntinue - qemu=3D"qemu-system-$arch" - ;; - *-linux-user|*-bsd-user) - qemu=3D"qemu-$arch" - ;; - esac - - if probe_target_compiler $target || test -n "$container_image"; then - test -n "$container_image" && build_static=3Dy - mkdir -p "tests/tcg/$target" - config_target_mak=3Dtests/tcg/$target/config-target.mak - ln -sf "$source_path/tests/tcg/Makefile.target" "tests/tcg/$target/M= akefile" - echo "# Automatically generated by configure - do not modify" > "$co= nfig_target_mak" - echo "TARGET_NAME=3D$arch" >> "$config_target_mak" - echo "TARGET=3D$target" >> "$config_target_mak" - write_target_makefile "build-tcg-tests-$target" >> "$config_target_m= ak" - echo "BUILD_STATIC=3D$build_static" >> "$config_target_mak" - echo "QEMU=3D$PWD/$qemu" >> "$config_target_mak" - - # will GDB work with these binaries? - if test "${gdb_arches#*$arch}" !=3D "$gdb_arches"; then - echo "GDB=3D$gdb_bin" >> $config_target_mak - fi - - if test "${gdb_arches#*$arch}" !=3D "$gdb_arches" && version_ge $gdb= _version 14.1; then - echo "GDB_HAS_SME_TILES=3Dy" >> $config_target_mak - else - echo "GDB_HAS_SME_TILES=3Dn" >> $config_target_mak - fi - - if test "${gdb_arches#*aarch64}" !=3D "$gdb_arches" && version_ge $g= db_version 15.1; then - echo "GDB_HAS_MTE=3Dy" >> $config_target_mak - fi - - if test "${gdb_arches#*aarch64}" !=3D "$gdb_arches" && version_ge $g= db_version 16.0; then - # GDB has to support MTE in baremetal to allow debugging MTE in = QEMU system mode - echo "GDB_SUPPORTS_MTE_IN_BAREMETAL=3Dy" >> $config_target_mak - fi - - echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> Makefile.prereqs - tcg_tests_with_compilers=3D"$tcg_tests_with_compilers $target" - fi -done - -if test "$tcg" =3D "enabled"; then - echo "TCG_TESTS_WITH_COMPILERS=3D$tcg_tests_with_compilers" >> $config= _host_mak -fi - if test "$skip_meson" =3D no; then cross=3D"config-meson.cross.new" meson_quote() { --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788526450; cv=none; d=zohomail.com; s=zohoarc; b=U4nZt8L2DTS3Iw+t1BvfU+BCCPNvhyZzFDA5GCKNx2+Rs+vS7eC1F6GoJRGpbKLyGyOyGQZUBSjLnCMfqU6KMXlP8o2/M8KHgL05snW2Qf/CKxMcjTdciRok2mPtmfXk+Ii6SltCKX3i8BhKVPyudjf2MBioMu2SlV8JCghWbYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788526450; 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=F0/wxzAZP3kHp8qnztiYWhe/t57dvgEiELFRAI7X1zY=; b=k94/7uaWTV6oQo1/4fl155b53akGrQXPdZ/tiqiuHXZk0lViyah+D1y1rIP9mtEgURNuhXdLlFGJTuN4dQlASlMf9GcEVaLdfqRUaYFf4EfegBgpDjCtJDdf/m/7eFWgEB5N1VmpEZ5JflIfGFpvuDzeMneoSD3d5ZUJyGio+gs= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17885264505991003.604968721839; Fri, 4 Sep 2026 05:54:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TQB-0001ZS-2X; Fri, 04 Sep 2026 08:53:31 -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 1x2TQ8-0001Xv-Ph for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:28 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TQ6-0000eG-Qn for qemu-devel@nongnu.org; Fri, 04 Sep 2026 08:53:28 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-485843aeab8so1029706f8f.1 for ; Fri, 04 Sep 2026 05:53:26 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883a9a56sm5209387f8f.15.2026.09.04.05.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 05:53:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 582D061E33; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788526405; x=1789131205; 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=F0/wxzAZP3kHp8qnztiYWhe/t57dvgEiELFRAI7X1zY=; b=PJo6LEN0tqkDnywuZD6mvYbj92dN7ulpcisXd8IkbENbRX7qRUepQG2O+YlxNxHffl Ta8LcZP1YYKmVbC0YwbkZWFK+1u5s1/i1suUkAv1JDPtKzeGxo7a5FAOh92ebowqU7H/ WUShTY32gTERGYHxsDxwPW3L7r+6qFBnqKTZqiKERWu4qPMNlUsEP9Lewvc3aedCa1eV vQu1DzBbi8Sd+Pa0+9a/q+/nxJT8EvR/JKih5a/tI2wGXfNmXXKZf0asVZHMLmChC1rA JMHMjqjIUAX8fmduy1foQ1roNbvEaf8G3bl9eb0vmRdPjuuJDbDEPYMN3oe8pOngDthM qFtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788526405; x=1789131205; 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=F0/wxzAZP3kHp8qnztiYWhe/t57dvgEiELFRAI7X1zY=; b=qc+xQtDaDvXuTBYlJH3c7S2BkitX4xRO5J+9RJP3CnsTV9dwnvTE+eiwzSN3R7L9ky fnaqCdLqe/Tv/x+0pXIskOFGhqXEVe59alBmlb/7RQxdlUes4U3WTk2H09UL82bUhxes ewaBEriAz/yEQHTAYd9ypvdyuyCXBpHi1cUNeDjOrMUZ4TVsShX0bTk8qYQbGlC2z8JD fu9t8Fi+FlCRfVbJje00Jh4c/aTq36gHYtvLswspCPqNXfmuwhuHLsfLBcZWZ+4qc+ht OOAbBZM9VavXwpkXhj6qRfT+g2DWRJGqmZrAyxW/sFLpzae4xp5a9F5/sc8+yUgdRH8O KTgA== X-Gm-Message-State: AFuF++nP7eDFxQqCZm0rKIgWue0awj1ZTmOkGMZenVo3+e35qS8xO5cI 4EVdp80S4tanpQQOZBVU7oJnnSzz2l2+gKyR4TKSmypBRYof6DS701yDlAyNj/uouqc= X-Gm-Gg: AYBFou0eOTeujOdp0DjeGaGKYCxwrf4EdldwxjzfdKriOOISh1k5emIaAjZ0Seevx3s Gi7SHQrATIlIv3npuOtlEGor7FvvejQyrMYHudrcmf46nrgm7P5TnagpyUIDoD8ylIJKbyQ8x0Q 4tc7nCenm9hkmqoTzt3W5LsxhDD6BSJ0zFuQ9rS/blna1WfBklnoFjlgUcbZa5TLoZ0dCs5lQ5N CVw/7O5Q2gDngFVJFdFtO4+ND+RCDPCeKYde77rmy+lw5d39TfMaPQMLale3y/VHlP+3bge3MrR ndi7VIkasV3occdwYtFF8pzuU7t+em51e6hLDYEtbh4PBWpm5VZ8KYRpHRIu7wOqxq6gYqZcMZt NJCMXnCTBMZYBn8P75YPjJuZJlkyacxvWSl+oq+4YW1tmID1eBxyzERv5h2EimHzVKz4BVG0hZN YvBDmu29+QfaGo50BJKDk+vSHoi0dxgR+BlztfaevHERzw20W7ltWKI/dqrkWRszs1PlSVIAA= X-Received: by 2002:a05:6000:4b11:b0:485:8313:9f47 with SMTP id ffacd0b85a97d-48587055d09mr12830712f8f.10.1788526405062; Fri, 04 Sep 2026 05:53:25 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 103/105] meson.build: add summary for TCG tests Date: Fri, 4 Sep 2026 13:45:57 +0100 Message-ID: <20260904124604.2207440-104-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.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 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 @linaro.org) X-ZM-MESSAGEID: 1788526453540158500 From: Pierrick Bouvier Replacing existing summary that only contained information about existing cross compilers with a full summary for all targets. We add gdb and container information. We specify cc for each target (softmmu + linux-user) independently in case we would use different cc for bare metal vs user binaries. Users can query full command line for tests by building tests with tcg-tests target, so no need to repeat it here. Output before change: $ ./configure Cross compilers aarch64 : /path/to/qemu/build/pyvenv/bin/python= 3 -B /path/to/qemu/tests/docker/docker.py --engine auto cc --cc aarch64-lin= ux-gnu-gcc -i qemu/debian-arm64-cross -s /path/to/qemu -- aarch64_be : /path/to/qemu/build/pyvenv/bin/python= 3 -B /path/to/qemu/tests/docker/docker.py --engine auto cc --cc aarch64-lin= ux-gnu-gcc -i qemu/debian-all-test-cross -s /path/to/qemu -- alpha : alpha-linux-gnu-gcc ... Output after change: $ ./configure --disable-containers TCG tests gdb : /usr/bin/gdb-multiarch container command : NO cc for aarch64-softmmu : NO cc for aarch64-linux-user : NO cc for aarch64_be-linux-user : NO cc for alpha-softmmu : alpha-linux-gnu-gcc $ ./configure --gdb=3Dgdb --container-command=3Dpodman TCG tests gdb : /usr/bin/gdb container command : podman cc for aarch64-softmmu : aarch64-linux-gnu-gcc (from 'debian-a= ll-test-cross' container) cc for aarch64-linux-user : aarch64-linux-gnu-gcc (from 'debian-a= ll-test-cross' container) cc for aarch64_be-linux-user : aarch64-linux-gnu-gcc (from 'debian-a= ll-test-cross' container) cc for alpha-softmmu : alpha-linux-gnu-gcc ... Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-104-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/meson.build b/meson.build index 0a64bcfc6e9..2a022c4d85d 100644 --- a/meson.build +++ b/meson.build @@ -4610,6 +4610,7 @@ subdir('docs') subdir('pyvenv') # Tests are disabled on emscripten because they rely on host features that= aren't # supported by emscripten (e.g. fork and unix socket). +tcg_tests_summary =3D {} if host_os !=3D 'emscripten' subdir('tests') endif @@ -4797,21 +4798,9 @@ summary_info +=3D {'sparse': sparse} summary_info +=3D {'mingw32 support': host_os =3D=3D 'windows'} summary(summary_info, bool_yn: true, section: 'Compilation') =20 -# snarf the cross-compilation information for tests -summary_info =3D {} -have_cross =3D false -foreach target: target_dirs - tcg_mak =3D meson.current_build_dir() / 'tests/tcg' / target / 'config-t= arget.mak' - if fs.exists(tcg_mak) - config_cross_tcg =3D keyval.load(tcg_mak) - if 'CC' in config_cross_tcg - summary_info +=3D {config_cross_tcg['TARGET_NAME']: config_cross_tcg= ['CC']} - have_cross =3D true - endif - endif -endforeach -if have_cross - summary(summary_info, bool_yn: true, section: 'Cross compilers') +# TCG tests configuration +if tcg_tests_summary !=3D {} + summary(tcg_tests_summary, bool_yn: true, section: 'TCG tests') endif =20 # Targets and accelerators diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 9cf632d2717..243cdb5fc8c 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -77,25 +77,30 @@ if gdb.found() gdb_arch_supported +=3D {arch: true} endforeach endif +tcg_tests_summary +=3D {'gdb': gdb} =20 docker_supported =3D false +container_command =3D false if get_option('containers') if get_option('container_command') !=3D '' # make sure command is working - cmd =3D get_option('container_command').split() + container_command =3D get_option('container_command') + cmd =3D container_command.split() run_command([cmd, 'info'], check: true) docker_supported =3D true docker_wrapper =3D [docker_wrapper, '--command', - get_option('container_command')] + container_command] else docker_probe =3D run_command(docker_wrapper, 'probe', check: false) docker_supported =3D docker_probe.returncode() =3D=3D 0 if docker_supported + container_command =3D docker_probe.stdout().strip() docker_wrapper =3D [docker_wrapper, '--command', - docker_probe.stdout().strip()] + container_command] endif endif endif +tcg_tests_summary +=3D {'container command': container_command} =20 # plugins come first, as we need to build the list test_plugins =3D {} @@ -270,6 +275,15 @@ foreach target, plan: tcg_tests endif endif =20 + summary_cc =3D false + if has_cc + summary_cc =3D plan['cc'] + if not cc_from_system + summary_cc +=3D ' (from \'' + plan['cc_dockerfile'] + '\' container)' + endif + endif + tcg_tests_summary +=3D {'cc for ' + target: summary_cc} + folder =3D plan['folder'] gdb_arch =3D plan['gdb_arch'] qemu =3D plan['qemu'] --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788528246; cv=none; d=zohomail.com; s=zohoarc; b=h3v+5vQMhvSkbYBPNX0In9CY2t6V4GZm9eOqoVC7/aN3pFehPQba0o3zRr2YFm6H5elpY3DQqOUa75qpzuxxt7TD3l3AACSzjMfi+LEu12eJm/jASbmGaLtS9U73wZcVnYrm+Mjdvva+Aj52G8PgeeiQjdGGmun6eFvOsJNb+Nk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788528246; 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=xBL1dwIo1O3Rm3Uk0d8syVkzhoSlMuc41jFN/JAGooo=; b=BeljOytRULlf+sKDuIh7M9n9wGerVoAWSEUY4uT+XD6ASZPZq2D1PWpMTJR7GqzE9Xs9umoGwFjLVQaW0XEVvPLMfpI0mONh7wwfaNc3oGv6HKF6/rCkvlNixXdLTyCP4YkdeowoJTqjndc09mts9nTC4ii6o/lbLKNjpadVlh0= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788528246808555.6715239959943; Fri, 4 Sep 2026 06:24:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TtF-0005Tu-J9; Fri, 04 Sep 2026 09:23:33 -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 1x2TtD-0005Se-1H for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:31 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TtA-0008H2-IX for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:23:30 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-48436216a98so640913f8f.0 for ; Fri, 04 Sep 2026 06:23:28 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883953cfsm5413268f8f.13.2026.09.04.06.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:23:23 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6FDA761E55; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788528207; x=1789133007; 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=xBL1dwIo1O3Rm3Uk0d8syVkzhoSlMuc41jFN/JAGooo=; b=K9KJHXf/EGwPytvCgdx0JmJgNLHOWX7Z3bytIDtWmJ4bhzXezaHE9miRgNyK4UwvfF WkJzEUSK8auwmYVAzCk00Ycoj7BCl9mqcekWpR4bonCARwQF13mmQhltgpiT5TBPNs39 MoU7Q5lsgEJf4oE+ajhM7KG5DH6mLM2BlUvWrq3gektFQpBaKTFDsAUNX34kDZQGXSA8 nz0uyApXdZRt/CZjZnxcA3n8D9299UQIQ3HLZX8AuV+Dh98zafTjpe+hwaZxYe1WYkur 70EUoAK5orJUlKocQ2jIe3wE63bdh36Cuj2srAn/7Wcu5/j+AtjxuIehcu4q+0GIf9Ow eLvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788528207; x=1789133007; 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=xBL1dwIo1O3Rm3Uk0d8syVkzhoSlMuc41jFN/JAGooo=; b=hAJrG0FwxD8bdv6QqbNM4mqsY3yVEBQiFkM+T1AoFdREZI+8qVIRm4yB2+h8+8Ovn2 WY3aL8ZCoC7e+q4tz4uyzJa8T5neduHmvac6hW5oGfpAFwTN+Oduw9l5via0yTCgXPB5 YAYUTjP7/C2USWAie20TfQ/c9et/Nc84aE4vhsgHkd8MSCoqHB+CWTwWyXsDISI/cTJp hO6Y+LOf+9JUQ6g01jjxRxE+AfCfHAbcpGl+ptcl7i9U3d04NxMbGJdkKaXMjlG1VvXD mc1W4Vt5PIIelAwcoHYl+eOxqqHmQ7wo4OOkrgzASGvYx7DWikFp2eYOTuQtXjbhofp6 9c9g== X-Gm-Message-State: AFuF++mcHVshaZF7ljzxx24qYy1ikgr1h61mkT+uO8rxaWKdHYIVU3wX s2w5n9Dz1HZs80jVs5bQfkn0i5qNvONuq6fiKnZiD472FDrboKmXS0KP3ipYLK4dejY= X-Gm-Gg: AYBFou3PoG6h5CVXMwcNhLCwkG/63w0KhVadnRHmCNgJlbQUx5DPFI/Fju3Wu/+nAxG wYfSCAysv2no74gVoQZfDTYA+PR2Zj8krYjbdq/qDgsOTEvs+7a2xIbwEF8AQV550VEgWsDU3gC P/sxTFDgNB78xj098BhwKcm4YshKO4fUrJLuxIyZzljVFHKzyLyzVlwAjqw8hnZAZihmnlqi59M bXkJZAngFeAVNlp67t+C7zSb1WES+oLv/UTgBAqqlI/Fsfm5pNJFIhG5cqo7KSZvYiYdCvIH/FR vjFc6bdrpIDJxIxJHK1idI14YuLnaeax0h2wGDVoxAG3UZzElbYTWHumCU331x+0pSTUfNO2vIN mC9tr4ae/9KIDN3Bqxc3agYC/KzV63FpstMrEZNCqbp3NewzvtGWa4dQR/Gd3QzukN9uOURXeTn RS1nnoKgkXOMOUHatFFE7CR97nW2vfO7faDbYm9B4gAHEcCNdANhS4hWScr6nnNgwktHU8YkN++ g== X-Received: by 2002:a05:6000:1843:b0:485:8c17:9767 with SMTP id ffacd0b85a97d-4858c179a7emr3481808f8f.41.1788528206504; Fri, 04 Sep 2026 06:23:26 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aniket Sahu , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 104/105] docs/devel/testing/: update documentation Date: Fri, 4 Sep 2026 13:45:58 +0100 Message-ID: <20260904124604.2207440-105-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::434; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x434.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 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 @linaro.org) X-ZM-MESSAGEID: 1788528247537158500 From: Pierrick Bouvier We document how to build and run tcg tests with new framework. Reviewed-by: Manos Pitsidianakis Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Aniket Sahu Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Pierrick Bouvier Message-ID: <20260827221506.91574-105-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst index 71331e64ac8..c64d40b42af 100644 --- a/docs/devel/build-system.rst +++ b/docs/devel/build-system.rst @@ -447,8 +447,8 @@ these sub-Makefiles, the resulting build is largely non= -recursive. Tests, whether defined in ``meson.build`` or not, are also ran by the Makefile with the traditional ``make check`` phony target, while benchmarks are run with ``make bench``. Meson test suites such as ``unit`` can be ran -with ``make check-unit``, and ``make check-tcg`` builds and runs "non-Meso= n" -tests for all targets. +with ``make check-unit``, and ``make check-tcg`` builds and runs tcg tests +for all targets. =20 If desired, it is also possible to use ``ninja`` and ``pyvenv/bin/meson te= st``, respectively to build emulators and run tests defined in meson.build. diff --git a/docs/devel/testing/main.rst b/docs/devel/testing/main.rst index c6821a36d99..fadb376eaf0 100644 --- a/docs/devel/testing/main.rst +++ b/docs/devel/testing/main.rst @@ -13,7 +13,7 @@ Most (but not all) tests are also integrated as an automa= ted test into the meson build system so can be run directly from the build tree, for example:: =20 - [./pyvenv/bin/]meson test --suite qemu:softfloat + ./run meson test --suite qemu:softfloat =20 will run just the softfloat tests. =20 @@ -1035,29 +1035,40 @@ See :ref:`container-ref` for more details. Running subset of tests ~~~~~~~~~~~~~~~~~~~~~~~ =20 -You can build the tests for one architecture:: +You can build the tcg tests using:: =20 - make build-tcg-tests-$TARGET + make tcg-tests =20 -And run with:: +And run them for one target with:: =20 - make run-tcg-tests-$TARGET + make check-tcg-$TARGET =20 Adding ``V=3D1`` to the invocation will show the details of how to invoke QEMU for the test which is useful for debugging tests. =20 +Tests can also be run using directly meson test:: + + ./run meson test --suite tcg + ./run meson test --suite tcg-$TARGET + +Tests can be listed using:: + + ./run meson test --suite tcg --list + Running individual tests ~~~~~~~~~~~~~~~~~~~~~~~~ =20 -Tests can also be run directly from the test build directory. If you -run ``make help`` from the test build directory you will get a list of -all the tests that can be run. Please note that same binaries are used -in multiple tests, for example:: +Tests can also be run using directly meson test:: + + ./run meson test $TARGET-$TEST + +For instance:: + + ./run meson test aarch64-softmmu-hello =20 - make run-plugin-test-mmap-with-libinline.so +Test command and output can be accessed by using verbose flag:: =20 -will run the mmap test with the ``libinline.so`` TCG plugin. The -gdbstub tests also re-use the test binaries but while exercising gdb. + ./run meson test aarch64-softmmu-hello --verbose =20 TCG test dependencies ~~~~~~~~~~~~~~~~~~~~~ --=20 2.47.3 From nobody Sat Sep 26 20:51:34 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1788527125; cv=none; d=zohomail.com; s=zohoarc; b=LW6IwS51EGUIs6tVTXHO5WdO6RjDYCznZeDXDZqWmG/DscknzXmdff0mhdgPZFkcI7Z7BfCK4//l9yxMRtWpj9J5NbeTXtOjJPVQW5chcoDsmHDJWw6DA51fSv/2p4fSHQrKNsrfMoC50y9d6kBt87cgAZ1pSTfMduqMJGUus9k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788527125; 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=muK9+MXsKzWAiZjC5VyajksBXCvHL/OHU4Yb9BwJ+8g=; b=Q3q2MNkqljsv/ojGzIJZpqkGtuSGevG+kH3kfuBugSKmrw8tw7JAycbPyUJprL+V9LHhkqVaPD9PInkoeDBwCSIYSsdwrOYNDA80fBG43e+VcCrWUgdyr85G60nbydJtUceWwN1i5/02nyC2YNBPZfrzMLInCBhWBHn9SS2vyB8= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788527125630579.9011516919865; Fri, 4 Sep 2026 06:05:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2TaY-0006oT-E1; Fri, 04 Sep 2026 09:04:14 -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 1x2TZs-0006Nh-2L for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:35 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x2TZp-00034n-4u for qemu-devel@nongnu.org; Fri, 04 Sep 2026 09:03:31 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-49b8ce9b733so7844225e9.1 for ; Fri, 04 Sep 2026 06:03:28 -0700 (PDT) Received: from draig.lan ([185.124.0.156]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7710aa5sm69107075e9.7.2026.09.04.06.03.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2026 06:03:26 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8822C61E65; Fri, 04 Sep 2026 13:46:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1788527008; x=1789131808; 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=muK9+MXsKzWAiZjC5VyajksBXCvHL/OHU4Yb9BwJ+8g=; b=mngO7tUXxt4uuAEmU+f+K8rQEjz3s9G9i6UwQrs/W33wXCaSd/NPnwM2D+uEA0q2ee MaldDh6EEx1p4ebsl/GIDOEGCF1SQqv8sBFrPm2eGqhEfq9Mmf3IsYifOg75vluqWIrM nyXo1EYqqDWscclsfw4/ab3sGb771RM/bY/myUywuBJ9N9lJRJnQgXzRzPJQiKD45t4y fBROene3KoYwO6CIpqvR3CVs/C/gHiunFUOYQ2ufnG5uzrLq3mMEgC3I26qIRpMiv2SC aS8ws3Powg3qIap1MZcGY5+LU8HbL3f9ejOZ9ZFbZWfr92XU0SQTRk13voGiywgWfecu IB0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788527008; x=1789131808; 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=muK9+MXsKzWAiZjC5VyajksBXCvHL/OHU4Yb9BwJ+8g=; b=RooODwywujeErYnmLK9xziKgmDRWlQVV9VQvAMKBSeMM2BQfP7YE+wDKJk2HT/H3OG b6fP3tJmfcEv34nof/3i4amr97bXV1YGz7T2Lq7SrB2aVDTlw5V5PfYZuaDwMmZgUZhQ dglibeuxCEqEghIM1oH7qpvBCVww40sF6Wr+6Km9CWZfx/s5TGVarcEob/lqbnrQOrl9 gFQ3kcQXU0ufils6QyZczqfQcPEBxTS7MGUZM2/38JR8k488iQ2Wcsi1kVe0wJ4eYgle K22ZTrLzS2eWy0ojdTY/SWa76tMN5bSkJEi/LK3JDUFCQuRQUU5Is5fO9dIMQoY14y1G Opzg== X-Gm-Message-State: AFuF++mCYt9fRQaj6OkXYrc8YnjAQTAJFYtHxkGNY5qjpAtQUac0I8Nv SEmfuA7IR9wKzqFfsE0VndElKLRMevvHbpEgikJR84I2W/2MO84CHIPQQP5GU/HIXhA= X-Gm-Gg: AYBFou1UPWr3LEbg1Ud8uIRgg7Nm5u94p68QayWHAN3UxYIGiet4WIictfezSniog/C tb3QoCK4OASJutWXsM2luAbnaUYUqxYIfggKx0ROD2c5xYlsZTLVUZ+cgKL2qEUonTkQGfd2dtO W0UmZE12otXwO6XNKacAyqdM5kESdozHZ5m1VEjYqaOWfarwmBmxp9Cfy5hM9LHwqUPGBnSOUUp 7ouWusqpv8McSDiC/SD40H7/AN4gFISmTC+3b+7ZAiYgwTc3LCjL121AAvgwusdDa4C3EwHXFRt UyAvzhqZuV3gMUtSP8tYOkW3bPelS/ppfEoP92VoHIRN/hoSmlgx19r6taG87sed1qlw9XTOsRh Go0TkL3XNGvGjtHg1xCh6CfDGT0NQyi3RKxLVQ0L7rBZTAsS8Cymt8u8no/Wy3CRjjYSWcvfVRB Eh6fssPOZ6PqX2E1S6tb5CGC8to+o1iU69jSVkeUShvadnZsSdkJ8buSpow/YG X-Received: by 2002:a05:600c:4e45:b0:49c:f504:2af5 with SMTP id 5b1f17b1804b1-49cf81dc3ecmr66833455e9.1.1788527007547; Fri, 04 Sep 2026 06:03:27 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 105/105] MAINTAINERS: add maintainer for tcg/tests meson infrastructure Date: Fri, 4 Sep 2026 13:45:59 +0100 Message-ID: <20260904124604.2207440-106-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260904124604.2207440-1-alex.bennee@linaro.org> References: <20260904124604.2207440-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32a.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 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 @linaro.org) X-ZM-MESSAGEID: 1788527126895158500 From: Pierrick Bouvier Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Message-ID: <20260827221506.91574-106-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Benn=C3=A9e diff --git a/MAINTAINERS b/MAINTAINERS index f524d905236..7183babd6aa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -472,6 +472,7 @@ F: tests/tcg/tricore/ =20 Multiarch Linux User Tests M: Alex Benn=C3=A9e +M: Pierrick Bouvier S: Maintained F: tests/tcg/multiarch/ =20 @@ -4638,8 +4639,9 @@ F: .gitlab-ci.d/windows.yml =20 Guest Test Compilation Support M: Alex Benn=C3=A9e +M: Pierrick Bouvier S: Maintained -F: tests/tcg/Makefile.target +F: tests/tcg/meson.build =20 GitLab custom runners (HW sponsored by Linaro, OSUOSL and IBM) M: Alex Benn=C3=A9e --=20 2.47.3