From nobody Sun Jul 26 11:55:11 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=1782825545; cv=none; d=zohomail.com; s=zohoarc; b=FGwkrcBjnRJVNigjRT2mpcZph+A1tx2Zt2w9NTOyck9FWveJGtDhU/8/MMZl+MAuMxb3ijcK79nphML5U4ds7BQOuPfg3/ofp9MqMuAJiVP0KxY9/lpclXvLWI6D81qfcGStVfrDtL3GdDzs0ra8ux2N8bSuJIkb77MSLOKTou8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825545; 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=ksv9TfO1zwfVNClMeCsbr3U40+aYKoQ6bDKsO8Cs9cA=; b=Av+3aGyU94jYDDMB+83kL50minCpiyoj7iBlgJtMu+/XdsZ/HoqENjD4AHKSrEtXzpFDpUMWcnD4uaipsir1lydG1TNs/XGlGFMIf2MF3151qYLUChtcA42l0KUV2DccbX4cCXLlMcdsKq4fmYplAmJAOoDSEBfEwg5KTopChVw= 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 17828255455951000.9720455681268; Tue, 30 Jun 2026 06:19:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLN-0007ck-0X; Tue, 30 Jun 2026 09:17: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 1weYLH-0007Zc-BE for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:35 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1weYLF-0005sT-1K for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:35 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-6984169c126so6401778a12.1 for ; Tue, 30 Jun 2026 06:17:32 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825451; x=1783430251; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ksv9TfO1zwfVNClMeCsbr3U40+aYKoQ6bDKsO8Cs9cA=; b=Xibj8ZNYqvc8f++HX74gpUlfGo5TvXNzNy8+6PtDOBm3n6AXgAitrbxauIPGfE+E/m zpJPGj+wifXl0TulaNaDkvbGz9g0/0IAYF8bGkwyouFSLVpUW6t0LEgdmEqKxl8boGov +eMl0qALAD3LtwnRLFk0xipepvVqAwAnRVKpDFblSzIE9uddJcA557N9egRXUjkgNdmN 9WA8fMN1CeVajcQgCxJv5iMZCuq1++0DBLsAKav+gUVjjmj7NLvuV+lYRhFVkz+yxz3e yhiOXZWEJYBcWOtWQNhIO2ZFzMEVutm9QU2TSZHeFvUTbt7e0dTRy7Qgdgdd1GTuqUkt zz2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825451; x=1783430251; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ksv9TfO1zwfVNClMeCsbr3U40+aYKoQ6bDKsO8Cs9cA=; b=qtZVUlo4rOUYBmwu2AhskOaj+PB09K0mOyoamqMatG8HWppJ51vk3YR1U1AE67r2bG YtUG190AAdu0SC2TP33MkY2eI45F2kqhIeNuCkSBTLV2RFJ7+hG84/QDUHvwH9Yeq7dZ FzWH6/LT6HsBwiMY3JuzO+rFyKFMi1Wan9UXmfsYASM3AdLE6J69/8w5YLVRyxcVHIzq MyMRH0jzwky8Dcbl/koBqW+Glg3uLgEGBGjDTxBSWc0ggLml7R/CJB5X6F7yiK+V1Abs MIiDbwj7fEvMdz6n4dyH5A0eWawx3oiXoAdrQ/UnyW+0AqkvZIt3t3+WvvGMAbLk9IEe 4qfQ== X-Gm-Message-State: AOJu0YwacW6pVYUggIU5cJALZTtpkkvc/SQ4fYQ/QztNW4Wn6Rcfbsao 2cmVp7FiOAy7KmeiQnzRtuZ/JbNW388fvCpylxSXCh4dTC/Zf0Gz/7a4/YuwI6g26N8= X-Gm-Gg: AfdE7ckqhxgAVUa4dV+pHcq2BhdZa8NxAKKHgjirtAGIiXphaDhxBaeRcWk4IcOYo2A dttGA021qPhKr44UMrtPmb8xBS1zOPuk3DUanlDWJ4CCYL9y4rGGWZ/KyNFHxGSULADrE9iKfCy 0EdT4nqCXWwWJCn7DZKQT1wf0wj/8zfo+K1JA59WFQ2ZExrh4WGDee6ye0A3OACStezzmVl1IK5 8bS8lVc79kjKNP0QaXvpsKuuqHlCSF1hVZH+c85EwDwbr9FbzSGoI6koencuumA2YfcplW8GYM0 +XNqGkw9DvlQatIpDI44bCqHoKQk19IyGtcprZ/2oKZrHB+f2q7gC65k7wjxAOL4o8eCk9LDPPu ddeOSuFdyKuHw1V4jbF/wVyoctmppmvv92Gt2oPkcIkCTCGbU8MFirO6hDlIKkcKxwTwG76rJ7b xTiCVPvsl39ULRU+Q= X-Received: by 2002:a05:6402:2548:b0:698:3b7c:7e3e with SMTP id 4fb4d7f45d1cf-698878e1956mr359384a12.40.1782825451384; Tue, 30 Jun 2026 06:17:31 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:32 +0100 Subject: [PATCH v3 1/6] target/arm/tcg: Implement new instructions for FPRCVT MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-1-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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::531; envelope-from=jim.macarthur@linaro.org; helo=mail-ed1-x531.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: 1782825546254158500 Adds the opcode format for the SIMD versions of FCVTXX and [US]CVTF. These use very similar logic to the FP-to-general and general-to-FP register versions which exist, but use another SIMD/FP register as source or destination. The source and destination size rules are slightly different. Signed-off-by: Jim MacArthur Reviewed-by: Richard Henderson --- target/arm/cpu-features.h | 5 +++ target/arm/tcg/a64.decode | 15 ++++++++ target/arm/tcg/translate-a64.c | 83 ++++++++++++++++++++++++++++----------= ---- 3 files changed, 76 insertions(+), 27 deletions(-) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index a80b251589..aba95f4253 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -1665,6 +1665,11 @@ static inline bool isar_feature_aa64_f8mm4(const ARM= ISARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64FPFR0, F8MM4); } =20 +static inline bool isar_feature_aa64_fprcvt(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64ISAR3, FPRCVT); +} + /* * Combinations of feature tests, for ease of use with TRANS_FEAT. */ diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index 28cd1faf61..5b6f156d08 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -1456,6 +1456,21 @@ FCVTZU_g . 0011110 .. 111001 000000 ..... ...= .. @icvt FCVTAS_g . 0011110 .. 100100 000000 ..... ..... @icvt FCVTAU_g . 0011110 .. 100101 000000 ..... ..... @icvt =20 +# Conversion between floating-point and integer (SIMD & FP) +SCVTF_simd . 0011110 .. 111100 000000 ..... ..... @icvt +UCVTF_simd . 0011110 .. 111101 000000 ..... ..... @icvt + +FCVTAS_g_simd . 0011110 .. 111010 000000 ..... ..... @icvt +FCVTAU_g_simd . 0011110 .. 111011 000000 ..... ..... @icvt +FCVTMS_g_simd . 0011110 .. 110100 000000 ..... ..... @icvt +FCVTMU_g_simd . 0011110 .. 110101 000000 ..... ..... @icvt +FCVTNS_g_simd . 0011110 .. 101010 000000 ..... ..... @icvt +FCVTNU_g_simd . 0011110 .. 101011 000000 ..... ..... @icvt +FCVTPS_g_simd . 0011110 .. 110010 000000 ..... ..... @icvt +FCVTPU_g_simd . 0011110 .. 110011 000000 ..... ..... @icvt +FCVTZS_g_simd . 0011110 .. 110110 000000 ..... ..... @icvt +FCVTZU_g_simd . 0011110 .. 110111 000000 ..... ..... @icvt + FJCVTZS 0 0011110 01 111110 000000 ..... ..... @rr =20 FMOV_ws 0 0011110 00 100110 000000 ..... ..... @rr diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 227719ef25..0da365e345 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -9905,12 +9905,14 @@ TRANS(SCVTF_g, do_cvtf_g, a, true) TRANS(UCVTF_g, do_cvtf_g, a, false) =20 /* - * [US]CVTF (vector), scalar version. - * Which sounds weird, but really just means input from fp register + * [US]CVTF (vector), scalar or SIMD version. + * Which sounds weird, but really just means input from FP/SIMD register * instead of input from general register. Input and output element - * size are always equal. + * size are always equal for the scalar version and different for the + * SIMD version. */ -static bool do_cvtf_f(DisasContext *s, arg_fcvt *a, bool is_signed) +static bool do_cvtf_f(DisasContext *s, arg_fcvt *a, MemOp src_mop_int, + bool is_signed) { TCGv_i64 tcg_int; int check =3D fp_access_check_scalar_hsd(s, a->esz); @@ -9918,14 +9920,18 @@ static bool do_cvtf_f(DisasContext *s, arg_fcvt *a,= bool is_signed) if (check <=3D 0) { return check =3D=3D 0; } - tcg_int =3D tcg_temp_new_i64(); - read_vec_element(s, tcg_int, a->rn, 0, a->esz | (is_signed ? MO_SIGN := 0)); + read_vec_element(s, tcg_int, a->rn, 0, + src_mop_int | (is_signed ? MO_SIGN : 0)); return do_cvtf_scalar(s, a->esz, a->rd, a->shift, tcg_int, is_signed); } =20 -TRANS(SCVTF_f, do_cvtf_f, a, true) -TRANS(UCVTF_f, do_cvtf_f, a, false) +TRANS(SCVTF_f, do_cvtf_f, a, a->esz, true) +TRANS(UCVTF_f, do_cvtf_f, a, a->esz, false) +TRANS_FEAT(SCVTF_simd, aa64_fprcvt, do_cvtf_f, a, + a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(UCVTF_simd, aa64_fprcvt, do_cvtf_f, a, + a->sf ? MO_64 : MO_32, false) =20 static void do_fcvt_scalar(DisasContext *s, MemOp out, MemOp esz, TCGv_i64 tcg_out, int shift, int rn, @@ -10044,6 +10050,7 @@ static bool do_fcvt_g(DisasContext *s, arg_fcvt *a, return true; } =20 + TRANS(FCVTNS_g, do_fcvt_g, a, FPROUNDING_TIEEVEN, true) TRANS(FCVTNU_g, do_fcvt_g, a, FPROUNDING_TIEEVEN, false) TRANS(FCVTPS_g, do_fcvt_g, a, FPROUNDING_POSINF, true) @@ -10056,13 +10063,14 @@ TRANS(FCVTAS_g, do_fcvt_g, a, FPROUNDING_TIEAWAY,= true) TRANS(FCVTAU_g, do_fcvt_g, a, FPROUNDING_TIEAWAY, false) =20 /* - * FCVT* (vector), scalar version. - * Which sounds weird, but really just means output to fp register + * FCVT* (vector), scalar or SIMD/FP version. + * Which sounds weird, but really just means output to fp or SIMD register * instead of output to general register. Input and output element - * size are always equal. + * size are always equal for the scalar version and different for the + * SIMD version. */ static bool do_fcvt_f(DisasContext *s, arg_fcvt *a, - ARMFPRounding rmode, bool is_signed) + ARMFPRounding rmode, MemOp dst_mop_int, bool is_sign= ed) { TCGv_i64 tcg_int; int check =3D fp_access_check_scalar_hsd(s, a->esz); @@ -10072,26 +10080,47 @@ static bool do_fcvt_f(DisasContext *s, arg_fcvt *= a, } =20 tcg_int =3D tcg_temp_new_i64(); - do_fcvt_scalar(s, a->esz | (is_signed ? MO_SIGN : 0), + do_fcvt_scalar(s, dst_mop_int | (is_signed ? MO_SIGN : 0), a->esz, tcg_int, a->shift, a->rn, rmode); =20 if (!s->fpcr_nep) { clear_vec(s, a->rd); } - write_vec_element(s, tcg_int, a->rd, 0, a->esz); - return true; -} - -TRANS(FCVTNS_f, do_fcvt_f, a, FPROUNDING_TIEEVEN, true) -TRANS(FCVTNU_f, do_fcvt_f, a, FPROUNDING_TIEEVEN, false) -TRANS(FCVTPS_f, do_fcvt_f, a, FPROUNDING_POSINF, true) -TRANS(FCVTPU_f, do_fcvt_f, a, FPROUNDING_POSINF, false) -TRANS(FCVTMS_f, do_fcvt_f, a, FPROUNDING_NEGINF, true) -TRANS(FCVTMU_f, do_fcvt_f, a, FPROUNDING_NEGINF, false) -TRANS(FCVTZS_f, do_fcvt_f, a, FPROUNDING_ZERO, true) -TRANS(FCVTZU_f, do_fcvt_f, a, FPROUNDING_ZERO, false) -TRANS(FCVTAS_f, do_fcvt_f, a, FPROUNDING_TIEAWAY, true) -TRANS(FCVTAU_f, do_fcvt_f, a, FPROUNDING_TIEAWAY, false) + write_vec_element(s, tcg_int, a->rd, 0, dst_mop_int); + return true; +} + +TRANS(FCVTNS_f, do_fcvt_f, a, FPROUNDING_TIEEVEN, a->esz, true) +TRANS(FCVTNU_f, do_fcvt_f, a, FPROUNDING_TIEEVEN, a->esz, false) +TRANS(FCVTPS_f, do_fcvt_f, a, FPROUNDING_POSINF, a->esz, true) +TRANS(FCVTPU_f, do_fcvt_f, a, FPROUNDING_POSINF, a->esz, false) +TRANS(FCVTMS_f, do_fcvt_f, a, FPROUNDING_NEGINF, a->esz, true) +TRANS(FCVTMU_f, do_fcvt_f, a, FPROUNDING_NEGINF, a->esz, false) +TRANS(FCVTZS_f, do_fcvt_f, a, FPROUNDING_ZERO, a->esz, true) +TRANS(FCVTZU_f, do_fcvt_f, a, FPROUNDING_ZERO, a->esz, false) +TRANS(FCVTAS_f, do_fcvt_f, a, FPROUNDING_TIEAWAY, a->esz, true) +TRANS(FCVTAU_f, do_fcvt_f, a, FPROUNDING_TIEAWAY, a->esz, false) + +TRANS_FEAT(FCVTNS_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_TIEEVEN, a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(FCVTNU_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_TIEEVEN, a->sf ? MO_64 : MO_32, false) +TRANS_FEAT(FCVTPS_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_POSINF, a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(FCVTPU_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_POSINF, a->sf ? MO_64 : MO_32, false) +TRANS_FEAT(FCVTMS_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_NEGINF, a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(FCVTMU_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_NEGINF, a->sf ? MO_64 : MO_32, false) +TRANS_FEAT(FCVTZS_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_ZERO, a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(FCVTZU_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_ZERO, a->sf ? MO_64 : MO_32, false) +TRANS_FEAT(FCVTAS_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_TIEAWAY, a->sf ? MO_64 : MO_32, true) +TRANS_FEAT(FCVTAU_g_simd, aa64_fprcvt, do_fcvt_f, a, + FPROUNDING_TIEAWAY, a->sf ? MO_64 : MO_32, false) =20 static bool trans_FJCVTZS(DisasContext *s, arg_FJCVTZS *a) { --=20 2.43.0 From nobody Sun Jul 26 11:55:11 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=1782825489; cv=none; d=zohomail.com; s=zohoarc; b=UFlqykgW2qSB9fo2Rkk5S5zDVkCSLnIspLspaDq7Xjgt6P1pI0wkKEgnfmogZM+a5IKaO1fEiSKtWKnhOHtgmTccW5YLqAwxr7V/iOW99T/roEJ4xTqmTEiH3UoJc81/jG/eWKoUATHnOxdTuQbNfP+WxExAecL8efANZ0mmVdM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825489; 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=EnmqstppYm7egx9WxBfPh12eLYDVWurF4oPXVuOIX+c=; b=hcfqrmTZETDu5VjrxrkHHzA1UKRjqL6N2J/qt8wPkalX7zLF2xSJWDmPQ+KtH0V1gy5sJJqx+P71OE1v+xsYieEDtoAtqY+zpQpED0xF393WxxEn3NkUBfckjYSGyZX1/2B8zx4/2NsQ/FAiCKwtcbfwGXBw51HGmxzigdigGI8= 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 1782825489649930.7902273169901; Tue, 30 Jun 2026 06:18:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLJ-0007bI-RB; Tue, 30 Jun 2026 09:17: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 1weYLH-0007Zb-BJ for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:35 -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 1weYLF-0005sc-GB for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:35 -0400 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-697ebe536b6so7222800a12.1 for ; Tue, 30 Jun 2026 06:17:33 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825452; x=1783430252; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EnmqstppYm7egx9WxBfPh12eLYDVWurF4oPXVuOIX+c=; b=wfbLrV4K1jnK2eEaTRXS5qsOev0V7soNcWKDSIFadOVyy6emzYXuCQAQ3J4dgFl5Aw eTKZHGDArpxyPnIKumqhroxawEKg1aITgPjlBDlJ5aJzdMv3No7xAlYHIjCcLTIOnhXV ylVCi/5OjMSgW0ENkVsgJAjEWP3sti6cNT82BCf1+J7/FNxB1PYPVP4FmyBpyc9v8jBF YHkDwo1M+7v6lmUHPHOnvF9m0U+diU1fErqGLf9mqkI5zFMtqf7Qtb6BSlS4/rpTjJDn nOMcEP5cqCGo8xjpGwlVuRtqzzrWSsHyosM8Ywm5GninWw7sRZX266hQ2jHoTNa8dPoL coRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825452; x=1783430252; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EnmqstppYm7egx9WxBfPh12eLYDVWurF4oPXVuOIX+c=; b=lOp4UFpz0RlYw1p7g/Ao7210VK+gAxXhOp+fLyqOxsM5pUe76yalSTC5Px2nEBmFsq 681RypHAoCyWPzzMACtjqqB9i7QnDKPvqNT/7eLzPOkQNdGIaKUMPS7wFnK6PwKIkI9X qO36txXUUzT/GPBPaf/R7i+NyDcNpSdYsuQ39Dfxb9Iceq5J9Skn1gnyMG+oEQfiPMkR X7svQc16gyomxLJ4VkQN0tVqpPJA+pVYPbedAVlctLTk4irunC3mGKVoPumoE9LLw8px v8da7d6I/hcKbTrGZospmoeCmPnHMZHvgioUhlUIYJF49W0HTD/ZXsUX8wwUmNqnwr9y 3pww== X-Gm-Message-State: AOJu0YxSFSWBRfSoVNpnKYzDWqt5okwHXs43xTk6eDxpTT88AmelBDY+ ZnqNcFjYkLWrHyqj0yE3FG05a4ygv1AEDHk8B6Ng5ZIMO1c323ZcOViEIUOi0S+83Uc= X-Gm-Gg: AfdE7ckAKne8yqSggqzqxXbeZQqXXQOyvP9TRqfMjoQQ5goMq8XO14NHKGV/7Np2DhF 2s5WWcKlxKn+Q4rwECi5LaDCQK+8yQ4uWD4lCy2YXq/kwRhAm9KeMoZkMS32fgXD4IlgsRnFsBw ubJk4E/Ak5W4Xaqpe5DlWvYUD4UaxGP3tHSxhW6PPCcMvlM13Rt1W4WfljAmlBqGScmMh0XPNXU dAg4PSyiP9uh1c4J9dGUZgDsxeRpWlqcSrz+Uq82+ywRGhbA0W9fvwO++atYHxMcwqDKg+bYZCl ashullSMvO6l5bd0HTB+7zQ5ychJpjVx/XugJ/egANyzi1UAaNO2xEaap7ftOuBqKYgqQDKuIQH DDp6dEerUjmRoeQlLzPY5tZ5AFW1V++UAqQ4ZwdzW+HnfZD/D4mbRCfyIT8UUJ+QqNmWJSnNH6v jG0BKF8KBxg+T9SFg= X-Received: by 2002:a05:6402:1f01:b0:697:fc6b:10c2 with SMTP id 4fb4d7f45d1cf-69879de6968mr1354762a12.16.1782825452064; Tue, 30 Jun 2026 06:17:32 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:33 +0100 Subject: [PATCH v3 2/6] target/arm/tcg: Allow vector FP conversions with FPRCVT MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-2-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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=jim.macarthur@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: 1782825491790158500 FEAT_FPRCVT allows the vector forms of FCVTXX and [US]CVTF in streaming mode which would otherwise only be available in nonstreaming mode. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson Signed-off-by: Jim MacArthur --- target/arm/tcg/translate-a64.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 0da365e345..2821c84843 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -9915,7 +9915,14 @@ static bool do_cvtf_f(DisasContext *s, arg_fcvt *a, = MemOp src_mop_int, bool is_signed) { TCGv_i64 tcg_int; - int check =3D fp_access_check_scalar_hsd(s, a->esz); + int check; + + /* FEAT_FPRCVT allows vector forms in streaming mode */ + if (dc_isar_feature(aa64_fprcvt, s)) { + s->is_nonstreaming =3D false; + } + + check =3D fp_access_check_scalar_hsd(s, a->esz); =20 if (check <=3D 0) { return check =3D=3D 0; @@ -10073,7 +10080,14 @@ static bool do_fcvt_f(DisasContext *s, arg_fcvt *a, ARMFPRounding rmode, MemOp dst_mop_int, bool is_sign= ed) { TCGv_i64 tcg_int; - int check =3D fp_access_check_scalar_hsd(s, a->esz); + int check; + + /* FEAT_FPRCVT allows vector forms in streaming mode */ + if (dc_isar_feature(aa64_fprcvt, s)) { + s->is_nonstreaming =3D false; + } + + check =3D fp_access_check_scalar_hsd(s, a->esz); =20 if (check <=3D 0) { return check =3D=3D 0; --=20 2.43.0 From nobody Sun Jul 26 11:55:11 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=1782825523; cv=none; d=zohomail.com; s=zohoarc; b=RLtdzp9NfUZxQP/YZXD4wABGWn9hynFnN7leW0szARzIdXdp10FmS3Rp+GfmAVr3MIMQrswxpGHVY1dm8zabbiWMuH2VS98CWhntHHeRSWs/5C/U4H4klLj6UdT3npUQJJyvxQDv+Re23jim5JWZ/XVQuyuslsxKzONqk+KwKDY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825523; 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=i515u5fcJ2xJv3guN/KxbHHUwWapzzTtOgOfsQi9rc0=; b=LEQ1fDdzomc6xEKwsfRzkkErAMTSyjc70TSEOL7q6wh7fqt4ux5DhLLkbCzKEGfG8fhDTAjSBYb5uulfAs6vrmlY17ObcUIb9Rxsj6+ooGExwiMwoWHDGeMf12GZuSpHfu9BcR0nfHZhsQZr7y13QHXGUIm3gI+GDINtsg/ZGDs= 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 1782825523423100.74147459586368; Tue, 30 Jun 2026 06:18:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLR-0007eM-33; Tue, 30 Jun 2026 09:17: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 1weYLI-0007an-C9 for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:36 -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 1weYLG-0005sw-Ib for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:36 -0400 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-697cee2eb6dso4305939a12.0 for ; Tue, 30 Jun 2026 06:17:34 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825453; x=1783430253; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=i515u5fcJ2xJv3guN/KxbHHUwWapzzTtOgOfsQi9rc0=; b=T0pFGkU0EyHPFkw8rrL4/u0/HDEhKq+0rmo2WlxHLbtQu5lxDzgARM49lR6G9p05FO nvy/cE9KXx6ZqBZCrx7Vcuc+36mNwwbUeqf4bZCovWGgtAhlO5dWZELXgiMoBeBmJX2E ubaEaNPSQoHJZF4R62yVstLb/OXbn2O/K3ODQQEbZ/q4u1tRQ9yIBs00V/dy7z4diemF 0+/W5hzYgEZx4TQKJu/nlDTm/ExNvTJ08/JySRQ2zw8L6ztEpKUySnm3ujldH4K2wusZ reKbFkmESi+9P/mqqsjaNwkoHcP41QRnAWGRessuWSpcYciQTfPnNrtb+Va2HjBSu4Lb C7jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825453; x=1783430253; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=i515u5fcJ2xJv3guN/KxbHHUwWapzzTtOgOfsQi9rc0=; b=ThqUg3qHR4psWYmjNcgVk9EbnBFVEEZJep3v/M2R9F/qg7UHjDcSd8nuXcb33QInmB 8EdLNSwgdts3KszC1AFHFyHv9iO78WMk4Rzax3jYsaY8ZWmw+JfeA8YBqOrLjIAAu8Xa AIWa9/J+1Toawx7e5hHXDATcb4K0un65smK65KD3nJbcSBHONq/KGC3I4mpbCmginK/3 JqawpEYs0rxoBFsC9W/E4mq1MOzv/IFlkzVyZ0es24AN/gjxTcvVAPSlKLHq66sHimmV WhhQprX7F2mcbB5aHed3/aaYt4Kx9zO5X62ZF+tVKb+uL7O/SOizw3F9Ks79mBEvMqZB RF0g== X-Gm-Message-State: AOJu0YypK/UitZGiFVTiwN29ZRzL9lx6JaQcJ9Xosaa2gTmHeYB7rYYF jBPMOrarOjpoXQKcqNPcR5YrrPXA6q4AmEjIBhdfyyr25fnwzlvXVOj5Sh+AHGLQgSU= X-Gm-Gg: AfdE7cm/z+ulARB2NU50TXG180wEUxvQwyf7jGCKTHawv6iCtHf1lRVCUvgzOYPFT0s vCYpXs09Z25hHRTewcMwNmM9I4gmAeB2hxaxBGobcmWVDveR+GHx+S7F+lMF1iolb4FOc/2fQim S65nFFLNOuPbIgq2O65Cb++19MAYxhVpxRHIEBdcg0e3lA/wCNMpWfGI1jbdVLO3AURHqdTNe95 IGSiwww8I4FkKilI2EPPeQ/hGAJkc0usGwMJOsKdP++VZnIzrBz8Jhxu4vGaDKgywwfAbDWHE60 /k+kLdelUwG8ZMcE07NkLgCXGmqrW5Se3Hz+yk3Nbnl7W1ysctZdtmgWzUgddUcBEtpzT6GwRQf qTKZxnEYU0pG9IriRfpejB99puhBAuhUOrFL1UL/D7xQcm4L+hczb+w6PySpsy+uLKWfJXow98t En5YDuHbgZ5VgC770= X-Received: by 2002:a05:6402:3223:b0:695:f580:a66f with SMTP id 4fb4d7f45d1cf-69879e3e43bmr1650213a12.21.1782825452770; Tue, 30 Jun 2026 06:17:32 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:34 +0100 Subject: [PATCH v3 3/6] target/arm/tcg/cpu64.c: Add FEAT_FPRCVT to cpu_max MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-3-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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=jim.macarthur@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=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: 1782825524046158500 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Jim MacArthur --- target/arm/tcg/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index f7a920a202..f259e82dd3 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1269,6 +1269,7 @@ void aarch64_max_tcg_initfn(Object *obj) =20 t =3D GET_IDREG(isar, ID_AA64ISAR3); t =3D FIELD_DP64(t, ID_AA64ISAR3, FAMINMAX, 1); /* FEAT_FAMINMAX */ + t =3D FIELD_DP64(t, ID_AA64ISAR3, FPRCVT, 1); /* FEAT_FPRCVT */ SET_IDREG(isar, ID_AA64ISAR3, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR0); --=20 2.43.0 From nobody Sun Jul 26 11:55:11 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=1782825515; cv=none; d=zohomail.com; s=zohoarc; b=O8ysY+hnYlmSLbZNCfJU7l66Oq+TrH7qvk5DYf5E8e/mZ546GHRXvYcADwGr0niJAZWnOZAwS61vkFpMFnw+kieinodmZckClcWx81dVZvcqLPDjzamltt3yVOJ21/YRFrs86nA1TKcuz0maF4LdKFLCC+YJZRu9pqWw0RQe3k0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825515; 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=YbhxeHWJTF/ACgNqo0DBl2wV+Ij7LlkdakxCcJrLBrs=; b=NvH6NnSLQCPnV2QgmLI8GDb9eHabWuGbCp9rzMZpPG2bUCeqEZGLJ04FRSEdDg5HKybAw40ACOWRZO5o0NhaOuVlMSRtkjIAlrlA4iT3+HZZLfNx0d6aEROerk9sissdnGsmGzRQurtEp34ZHjXaFw6ZjTL1rbaiWio/HGXcMqQ= 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 1782825514984521.7830477681003; Tue, 30 Jun 2026 06:18:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLR-0007eP-Bb; Tue, 30 Jun 2026 09:17: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 1weYLI-0007b9-Vp for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:37 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1weYLH-0005tE-4E for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:36 -0400 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-698823a9881so566759a12.2 for ; Tue, 30 Jun 2026 06:17:34 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825453; x=1783430253; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YbhxeHWJTF/ACgNqo0DBl2wV+Ij7LlkdakxCcJrLBrs=; b=M5jZDyCKxFXWSBknXyq2Mf+sON56eOBJ9B9a9WUi06+rLc0EL6zc0QO/6KgvYWDOfl 8F741aGCdo1PWl0SvaY9wCZIhcOtpy04l9c98Z+sTLje3FVTas/W6xhWE4l2nvEc9AFX dby8zm+g9lu0E45t98/dv7KUuDJA2PTkqf2l880mzljWr4l8+6Zmsh5MpY7gkjcSv0VG TaKZM2pkIPNkjrOPkfhYQQGQ/xJl8KmgqPM//12b4/MJWxkQJlDV1Erf+DO2mnzoKsdr xMi33F7blxmUryjY/OaEcDKlBT5mTFM/5gsBAZ6q8MthyVSWVHor5RqYNdDbFU57nJIv wo4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825453; x=1783430253; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YbhxeHWJTF/ACgNqo0DBl2wV+Ij7LlkdakxCcJrLBrs=; b=M2ddrAiQR4ts/N3I2iv3JdGRsw2pevs2RoCO4R5MKBLJHXjkf11M/MnJG92WUG7BCY QUISeLxZ8ul9W30/ld92xpNUVdRGnB7qiJmBxkZwUihbi2hCwWi69tnH1M/uI4M1eXCb 1uNGCT7j7jrS8bWTkFpqgZ1oZw8QNDKmofhe8/dnwpR+c15joaGdO3E6LtVORzxZcmbW zF4WcgBvZGNxIjb5od+2I0I5nYx969V7/Cq4n1HQI7ekLJQhvJGmb70BUTryCuSxdAdT kVzJmVZ4E1SyHWPjxLGAorslBa44KXVYSBkD/ap0luv+Qdha/qejfSA4Cd0WSxCDhcSd 7+ew== X-Gm-Message-State: AOJu0YzEbzZ86SQhuedqda2C7ovNLRcubslh+dSlEYXu7QtjHBzeLMEp IQB+Ru6NDlzzTa4iFsCzE5YoInC7HPbEqukU9zo17xHZ6iy9hG/fknE1dCgAvWIqI7I= X-Gm-Gg: AfdE7clyKT+IHMxnETummxXYdFu/S1CDtWvE7GloyuImyIvI81tYr0YYLyHAfeJKtP5 vGhEhgzGD75/DwrhYKpWyanv0Di2mSNz+RUyB4p/97i7EquCng39syj5tS5BEXX3/s8EIstCBeu ng98JLY7cJccLeglmsaA+KFlPGm3wNyoSscaQGMNDtOj+zXdJnXTcYj1lJYY/Y7ipfs4FahAdmZ iAzkfNIB+kjAc1UWQueS/2HB5IOgEcyeLU7EQe5X9Al6ihZbsXNAJd+zWGmWmoMQoK98lgPm9Xi 9dfbWiGXmlH5yWW6jjJNq8BszH3kXgnQYd9oX0l6tQhjxvqplwGW73mXhsXQU+agSKBQZEMKofU hE5lwLgxWLLGlX6pyLbLs3K8CoWOhqIQ3BV8HOkj3V06w9IbSvMxu4f17PpJHKDg5aMeiLU3rDJ 6wmPXNEPVEOWMo43w= X-Received: by 2002:a05:6402:370f:b0:698:57cf:469f with SMTP id 4fb4d7f45d1cf-698878605d8mr457108a12.27.1782825453504; Tue, 30 Jun 2026 06:17:33 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:35 +0100 Subject: [PATCH v3 4/6] linux-user/aarch64/elfload.c: Add FPRCVT MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-4-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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::52f; envelope-from=jim.macarthur@linaro.org; helo=mail-ed1-x52f.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: 1782825516956158500 Reviewed-by: Richard Henderson Signed-off-by: Jim MacArthur --- linux-user/aarch64/elfload.c | 1 + 1 file changed, 1 insertion(+) diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 4887a3a7b7..4487d047bb 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -173,6 +173,7 @@ abi_ulong get_elf_hwcap(CPUState *cs) GET_FEATURE_ID(aa64_cmpbr, ARM_HWCAP_A64_CMPBR); GET_FEATURE_ID(aa64_f8mm8, ARM_HWCAP_A64_F8MM8); GET_FEATURE_ID(aa64_f8mm4, ARM_HWCAP_A64_F8MM4); + GET_FEATURE_ID(aa64_fprcvt, ARM_HWCAP_A64_FPRCVT); =20 return hwcaps; } --=20 2.43.0 From nobody Sun Jul 26 11:55:11 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=1782825496; cv=none; d=zohomail.com; s=zohoarc; b=nzzCbe1h3vhC/i967qvVc5BBb1fj3JtynSNuBK1G8ku5Itc6+hEPfMWLhxemsbkcyx3Z5zKeWcR3TynNUdV1s8WcyEgVvndQwq6io2wXuPFx3dAtwKD2TBEafdRq5aLAa0qiBdwxusyifr5rC8utUbD0NFhwmg7EwUZQsLfGG9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825496; 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=ZTLjzSfXXB3tq3ab+/lswKxuzrTXyhJd8Zf7X5oV6s0=; b=nb8rzbdPr61eEco3lU3EWSRS8Mm//El3v2O514Rx8kFo+blROHEnjJHuVUl8PjPVFL6QU/bpNnEClfixmh/CUytAumEtuAnXGX9SmylpIWX7Gnlou1aBKbdGzDTYTCNtCVIT8gzJx5KYbjOo+LDOCQ/QZzneY2tZksUMJ1wqTHk= 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 1782825496891139.6761646880691; Tue, 30 Jun 2026 06:18:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLT-0007ey-BB; Tue, 30 Jun 2026 09:17: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 1weYLK-0007ba-8A for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:40 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1weYLI-0005tz-Ns for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:37 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-c12788a75abso275186066b.2 for ; Tue, 30 Jun 2026 06:17:35 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825455; x=1783430255; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZTLjzSfXXB3tq3ab+/lswKxuzrTXyhJd8Zf7X5oV6s0=; b=jojuP6FtLxI7U42en9xP/OrtxaTglyKNYVe+CtiU/h12UMi1W3gVn2C35zaXZOGUM7 1gOwWDYN3gwmEUnrdIeLI40cRC0WOQoM+DbSvdEq0+ddLoqY6gUleVUeOo4/QWwGaO75 QTW6bTZwhmz3N6dGb1cmRF4AIUwdrbtB47RUivI6ib+768nR4BCUM8MZ9EN3snoW9JWT j+MaVqf4GHSwXaqLQ8S2ltMUa9WXOy+ZkltFFkSapxpLprCc7IqTpg2klq/04OVHa/Pg OEGqn09afIOwy3Jj4kMnnDWHkLFpVHGIwU4c/lfJ1Ya1xDXuche2h8GujmODlHKuGvdJ 14UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825455; x=1783430255; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZTLjzSfXXB3tq3ab+/lswKxuzrTXyhJd8Zf7X5oV6s0=; b=j6j3FyU9AQJLCy8Sd+nEAttf5F9BXbJKfyHm3KQewZIM/AkeMnGRumXzyartvJzT1i K91kGp39SBBxCdGfDl5nQjTd5PG5WlZRrwX5Df0PbUfZxlz1N38WglTwbVee0PXkrCRp MUdTZQzH6Xhx4ezdR0OP+mh93dZAPvWZRh7Jf2xc5FXjDIYlCAin/pnvb1ODJMQ91iR+ tsq0+EVPh89NolIFbRftyYZD6khUKkZDI7zrmg6YW3Zw8CrOUklfpr6xNS4Ah1ImQDgw mUJiSXqdUB3NydB1jkAxsd8oW8Y2RI4jwX2pgrFMCqih5r03j4upHjkhs1kEXPQVuWvv bREw== X-Gm-Message-State: AOJu0YwiI9jKprmU0S90jlg28OnMfaV6dNwzmC/ZUr48v0FcwVAj2qha hxeCPc/ZXCzgx3G/OW3WnNnLAd6Rxs88zsgH3jmq7aOAeJpgRRQyhjWvy9migLZdWPI= X-Gm-Gg: AfdE7cku23vOoJPvSyxQPeSPabxlKO56MDc+KkOvIgylhpBwxsG34HUIVtYxi5EoIc3 TwiBo9J4g9Eroj9m1SenhfMa4FA9ej7rj1Kl36dloyHswZnlMfrgVjyLvTBOobLeYud+26U0mIy IfkfXk9ng3LDk7JJd8QKh/egP1WvOdU2LeSgm90d3+Wlul6d/AKiFeKGCQrEYr/GIM36vrGypUa em4dFBaGOQ3kf8tpi8EgpF2qqiDmUUUKObZlIXjsyonnE2Br1SVhiAIIeLcKeJELnyAagRdMPUT c8OeOJePCZ18g69Zi5wALcyWmSBHoil2p9yKspwLrYdzrhtBV7DMLQLrROLCelIVxhzTIIdFHfG CHCkHmpUCJyOJKZ0BiLCIhdAOg5Xh9OjpZJ5mVUnpU8FThN5vyEi1qiKllGnemqVX+xIY31F2O5 S2PcxR4TGp/+CuK00= X-Received: by 2002:a17:907:1b26:b0:c12:2ee1:72a8 with SMTP id a640c23a62f3a-c1287026ba2mr151638866b.11.1782825454259; Tue, 30 Jun 2026 06:17:34 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:36 +0100 Subject: [PATCH v3 5/6] docs/system/arm: Add FEAT_FPRCVT to A-profile support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-5-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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::636; envelope-from=jim.macarthur@linaro.org; helo=mail-ej1-x636.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: 1782825497757158500 Reviewed-by: Richard Henderson Signed-off-by: Jim MacArthur --- docs/system/arm/emulation.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index a8072ddb67..98c028f6a6 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -85,6 +85,7 @@ the following architecture extensions: - FEAT_FPACCOMBINE (Faulting on combined pointer authentication instructio= ns) - FEAT_FPACC_SPEC (Speculative behavior of combined pointer authentication= instructions) - FEAT_FPMR (Floating-point Mode Register) +- FEAT_FPRCVT (Floating-Point to/from Integer in Scalar FP register) - FEAT_FRINTTS (Floating-point to integer instructions) - FEAT_FlagM (Flag manipulation instructions v2) - FEAT_FlagM2 (Enhancements to flag manipulation instructions) --=20 2.43.0 From nobody Sun Jul 26 11:55:11 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=1782825483; cv=none; d=zohomail.com; s=zohoarc; b=NXUnyUDJ3GW3m443gQGMHm7CoIZSe7stbpRCeLAGsttAQfWgHFNaHHswg/zu6g5xzuoz9siZvttpauqV2zM2xPGFRRBF+FHX02BuV1rnY+AF+fWtJ+9QR+0WimjYq3MrGLPlqZc3G/6Qzl8GvIn1k0dsblXxeLCw6hA/LPr8PKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782825483; 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=Kiv3T2X3MPRW5SD8A7Rf6XWjbqkuU8QNMH2kC0RrRb4=; b=l57z6E7IeVpMczihwMKbcTVd3YdQzktI25k/kNLyJWl2GaGE53Q9J/54r5bckKtuEsj66jGXCzK6QNbdCepYIYWIRe4kDv5zQ4WQJj+gq5LG1bBfcCLsmjQ6qg/V9DJNJENwHqapgCOh+MdH3louRB5DAgHUW3QqIo7Vtil2blI= 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 1782825483619751.5390936920686; Tue, 30 Jun 2026 06:18:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weYLT-0007f0-4k; Tue, 30 Jun 2026 09:17: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 1weYLL-0007bl-Gz for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:40 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1weYLI-0005uF-Tw for qemu-devel@nongnu.org; Tue, 30 Jun 2026 09:17:39 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-6986287534eso3768796a12.3 for ; Tue, 30 Jun 2026 06:17:36 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:a648:9a45:1aff:ca47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6987c3a42f6sm1201535a12.6.2026.06.30.06.17.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 06:17:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782825455; x=1783430255; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Kiv3T2X3MPRW5SD8A7Rf6XWjbqkuU8QNMH2kC0RrRb4=; b=MAEzW1KuQbDoePYDCtmxFSrWngRlPd+l/U70bEl9ve3De2W57sSMc/tMGU83h2Kwtn BfqZ8fB2F+xPyxXh/G/tiWQen8FEhBAMW/nCqe+ACRR5d1jFuCsB7hIkgUzPKnMXCO3i yxV7ktTcnqvHHbTEihrO1rk0Y3rHli+3ylDZZ8y1Rb94hqR5AUuNzJzqsFS6kQ8kbX/m nBYfDswkl6FrdcuMR6Zn8YuMN8R7Dy8cNtbSW3yUDDSeEGDoQJ/qWeY1L1YVaH79xBcB trrBVn8Syq+DSrjeSLJDPaX7bkYCPKiCB/pyewuLtuF3vFBs+enCtPe5jjpqczbu8hmO YouA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782825455; x=1783430255; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Kiv3T2X3MPRW5SD8A7Rf6XWjbqkuU8QNMH2kC0RrRb4=; b=nbFhPtWSk5E+mtswUu4YPRxXQUVQ0PCqw3wiWiRif+CM/2AuZDgGetdcA6HA+7tU4L W3FWcspmN1l6qK2gCUto7jRu3PUhfT9PrDlSRVuPmIZUykAFhFHIGpSP/obEWXZI2840 r9mAanhD16JXyt/rmeqrgEb/faa5ANzUUK2GJP7bFLtxv4kMxp22n2+n/hqzR/MVI1Ff 49zAvf0nVwgQkF6RQw5kjTDcrBOXaNlREDPSsv+I1JKDpHEWEKaWf5K+F250IYhxDXnK zDycV+2b1aBw3QGum7L7Qk47u0LueduZXRCPSStsMV5XfOnsTWceYfwkgc9Fo710LI1J cxrQ== X-Gm-Message-State: AOJu0Yw7oGUNWJpbfsvQP6LtyxvtdjRp88tpSheyQl8BoSyjAQgWMHVy 1okqEMsRxwOM3KycOTfWiOalcx3G/TK6APFuwyvNCq1w0IgeM8uMUnjf16Qk+I+A1QI= X-Gm-Gg: AfdE7clJngNJC4olXOFRA/6KYenUFZ7oyguU7MG1nri+iUDB45722fqTnWntkHWdAKC U/O1FrfkkE/muWiKGzzmD/QdorffPi+qKLkF6pBvz7SrtiD9+iDyystCV1++d7lodn2hfdWGLzK Maix5zkM+9Gqp+6+feMNvpSqeBMN+h0RECqhllr8c/3zRUHgcJNd21AyAgJuy2E3H3JxCfHogbu t0lthfXTQQMx3VPCjAJclPRP2g5yWjXaTIp1p4xuBA2eNlg6rTXIULWkxieG/To+BUsS0SQPYeB aHSp943nHoNT5pDFo15pxePTQYe1gsomsdVdx/2zyqVnlWKHVOtKG6wylJbduxPsA9qjjGGWO2M p12rkTzpCcIAX72E/N44+qVntNJumNcCBzv1+xAUhMdYNFXRP5p1BPAQdMpBYqhJl6R7llhpHS3 dH1WS/e43yDzyUW/g= X-Received: by 2002:a05:6402:1476:b0:698:3b7c:be63 with SMTP id 4fb4d7f45d1cf-69879e3ec89mr2017684a12.31.1782825455115; Tue, 30 Jun 2026 06:17:35 -0700 (PDT) From: Jim MacArthur Date: Tue, 30 Jun 2026 14:16:37 +0100 Subject: [PATCH v3 6/6] tests/tcg/arm: Tests for new FPRCVT instructions MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260630-jmac-fprcvt-v3-6-f4840d5e0a7f@linaro.org> References: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> In-Reply-To: <20260630-jmac-fprcvt-v3-0-f4840d5e0a7f@linaro.org> To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , Alex Bennee , Jim MacArthur X-Mailer: b4 0.13.0 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::52e; envelope-from=jim.macarthur@linaro.org; helo=mail-ed1-x52e.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: 1782825486222158500 We autodetect the presence of FPRCVT in the test cross compiler, which is a recent feature in GCC and not supported by many distros yet. If this is in place, we compile the existing fcvt.c test with an extra compiler flag which uses the new SIMD instructions; the output from the test is unchanged. The existing [US]CVTF instructions do not have a test, so no new tests are added for the SIMD versions. They have been tested manually to check the new SIMD versions produce the same numerical results as the existing versions. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Jim MacArthur --- tests/tcg/aarch64/Makefile.target | 14 +++++++++++++- tests/tcg/arm/fcvt.c | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile= .target index 6203ac9b51..32f2689273 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -28,9 +28,21 @@ config-cc.mak: Makefile $(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)) 3> config-cc.mak + $(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 =20 +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) diff --git a/tests/tcg/arm/fcvt.c b/tests/tcg/arm/fcvt.c index ecebbb0247..7c0cc4367e 100644 --- a/tests/tcg/arm/fcvt.c +++ b/tests/tcg/arm/fcvt.c @@ -171,8 +171,14 @@ static void convert_single_to_integer(void) #if defined(__arm__) /* asm("vcvt.s32.f32 %s0, %s1" : "=3Dt" (output) : "t" (input)); */ output =3D input; +#else +#ifdef FPRCVT + asm("fcvtzs d0, %s1\r\n" + "fmov %0, d0" : + "=3Dr" (output) : "w" (input)); #else asm("fcvtzs %0, %s1" : "=3Dr" (output) : "w" (input)); +#endif #endif print_int64(i, output); } @@ -425,6 +431,7 @@ int main(int argc, char *argv[argc]) convert_double_to_integer(); convert_half_to_integer(); =20 + /* And now with ARM alternative FP16 */ #if defined(__arm__) asm("vmrs r1, fpscr\n\t" --=20 2.43.0