From nobody Sun Jul 26 11:52:40 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=1782309060; cv=none; d=zohomail.com; s=zohoarc; b=Y0Dt00+uV7zF2SltjI3/xVpEsreoqEREm3JGHkkwGTDt1o7gsDoTVq6YcJDHY8aP2QTAKXWN9zJGYiAKhyUV2LbWMLimAndOiwwW3iAetZyKeMPkDOKFI9VXxkhRs4U1vOP5+ZIlVDdufFdko3K00HmiS2D7riTxW+6I+4wjeRs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782309060; 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=UlZ896BeqyhkD81qJ6H2fkNDE7k7k0fjc04jxwIjh1Y=; b=BP4xw3T9Ggn7QcTbzurG5Es7Y73HI54cTCEhvDOyEXE1mIiqqrt5B/I4/X3avPHYnKvdCxRBkw6wbiNiWOHRhwtQEZMiBmW7KSktw3f1mzQ8SrDoz3THST1g9iWNdUVypErdDF+QedmKEvzppWvW81JJrEeYMPWX0h1ZTodn4XE= 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 1782309060182284.0360695559565; Wed, 24 Jun 2026 06:51:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNnu-0001pa-CR; Wed, 24 Jun 2026 09:38: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 1wcNnR-0001b0-GE for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:42 -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 1wcNnP-00015U-1U for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:41 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-46cbf263113so451463f8f.1 for ; Wed, 24 Jun 2026 06:37:38 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308257; x=1782913057; 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=UlZ896BeqyhkD81qJ6H2fkNDE7k7k0fjc04jxwIjh1Y=; b=ypZYdOB8aBC8E62GAw9hDf0yAks05b8roCkkI78JsXygrarpg37cBPh1aJO8YCW6LU Qe0Pb1wruGb357OHcjTJPux+1Swn4aMngB2t+i5odSYDlfLZa6aNFmHmlQVTZ0EpG6iC KVV4drnD5lQr81d9m0/P0o19p6FzdCAgak6F86lqAPiGoTcn3v7mlmm7PKjGtAmTNIy3 OqW8o5ekaIfJxFWPVia4KPPjl036/FlxGOkSh+2YJSSBld/XSop1reN5mP0DsjpjFsA5 cFgp5cWDnkw1DeSAmUN8EWieMUF3kRGNHzxr/YqgRpEBN4I64rfWr2OVrvpwYj6NsDNM gtPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308257; x=1782913057; 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=UlZ896BeqyhkD81qJ6H2fkNDE7k7k0fjc04jxwIjh1Y=; b=RuUi6bBUBuhwXSDOHTl34LyVJoJKy3lhxbcm392E6pPI6vhNyazHL6QZA5MFFucr8D +vUVWR/hFr49faKD55rxX33LHAz6DgvIpRmZSIVSzegzh/eHkWD3Xqh8yHCLZ3hOMV9O C18kxJjYZ5feXstzRK3ctLjC67byRtz9ouZyl4c2YzSe8lEpJSQcAqXnvFjNfaD82RQt 0lRqxiSpq+n4BfQbkdmt3ASNbu96pXQdwd9wexK6rLOlxhu3RmVuzLOOos/0sFN6PYgT csZDCft9AabblE85WHFjjtpzj+hVLDWpl7VirVgCFN1ttahW5pUJInuD3iX95q0zfwAf NPDA== X-Gm-Message-State: AOJu0Yxz5h+JQRT8t1FZRcyigZ1UYc0At/aa+Dy8DEaq2ofxxrmSyRa/ KB+fSXrXphcpj2KMemX3PPf0R97rRISgOiIL86SY3Qi4TknBL8qnMB7jpGNU4CEWIY4= X-Gm-Gg: AfdE7ckH5czWfhK8SGI0z27EvP1bvAVANgTHhaPlvizhs2An2ewX5J5Kp8I7Tv6teE3 yVxCvcdejxD0Rd4nTKIyEbFWeC8G43E9V30jqrA8ZKa7M5+W801uF0UNo+t3jSTrOOMfug/CA5x yZMY5Ae26HZYgYYyyty5lUxbGlqbhgKlRPutd6+TDEJKgmTCMXGa7TzWfFwE5gEggwsxByyUn/B +P5LnGosXbhmrIR//5FzSIGUwBTlKPLDANrMDSLoDsDWDTvJpZMaAkAXZ2+NZhVeueNquaA3VJY AO1c4aKPWfq5H17pT65M+5aZYVP44RWd4uA+zpTHahIlIECKoZBhCFMud2aX4r7ajpn3PzVIp9h cyLLOCljOdq/UJEVRSCzpIEcboiddLbVwGu4mLFlwsJbvmj59HlBtJapOv4bbxnZ4t1J9BAz8bD DEKp2f76GEpMDqVrc= X-Received: by 2002:a05:6000:4313:b0:452:6aaf:76cb with SMTP id ffacd0b85a97d-46c0951d960mr6099417f8f.1.1782308257280; Wed, 24 Jun 2026 06:37:37 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:25 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-1-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::430; envelope-from=jim.macarthur@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: 1782309061035158500 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 --- target/arm/cpu-features.h | 5 +++ target/arm/tcg/a64.decode | 15 +++++++++ target/arm/tcg/translate-a64.c | 71 +++++++++++++++++++++++++++++++++++++-= ---- 3 files changed, 83 insertions(+), 8 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..07f985a5f0 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,34 @@ static bool do_fcvt_g(DisasContext *s, arg_fcvt *a, return true; } =20 +/* + * Floating point to int conversion, but puts the result + * in a SIMD register. + */ +static bool do_fcvt_simd(DisasContext *s, arg_fcvt *a, + ARMFPRounding rmode, bool is_signed) +{ + TCGv_i64 tcg_int; + int check =3D fp_access_check_scalar_hsd(s, a->esz); + + if (check <=3D 0) { + return check =3D=3D 0; + } + /* + * a->sf should specify destination size (64 bit or 32 bit) + * a->esz specifies source size + */ + tcg_int =3D tcg_temp_new_i64(); + do_fcvt_scalar(s, (a->sf ? MO_64 : MO_32) | (is_signed ? MO_SIGN : 0), + a->esz, tcg_int, a->shift, a->rn, rmode); + + if (!s->fpcr_nep) { + clear_vec(s, a->rd); + } + write_vec_element(s, tcg_int, a->rd, 0, (a->sf ? MO_64 : MO_32)); + return true; +} + 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) @@ -10055,6 +10089,27 @@ TRANS(FCVTZU_g, do_fcvt_g, a, FPROUNDING_ZERO, fal= se) TRANS(FCVTAS_g, do_fcvt_g, a, FPROUNDING_TIEAWAY, true) TRANS(FCVTAU_g, do_fcvt_g, a, FPROUNDING_TIEAWAY, false) =20 +TRANS_FEAT(FCVTNS_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_TIEEVEN, true) +TRANS_FEAT(FCVTNU_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_TIEEVEN, false) +TRANS_FEAT(FCVTPS_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_POSINF, true) +TRANS_FEAT(FCVTPU_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_POSINF, false) +TRANS_FEAT(FCVTMS_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_NEGINF, true) +TRANS_FEAT(FCVTMU_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_NEGINF, false) +TRANS_FEAT(FCVTZS_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_ZERO, true) +TRANS_FEAT(FCVTZU_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_ZERO, false) +TRANS_FEAT(FCVTAS_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_TIEAWAY, true) +TRANS_FEAT(FCVTAU_g_simd, aa64_fprcvt, do_fcvt_simd, a, + FPROUNDING_TIEAWAY, false) + /* * FCVT* (vector), scalar version. * Which sounds weird, but really just means output to fp register --=20 2.43.0 From nobody Sun Jul 26 11:52:40 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=1782309084; cv=none; d=zohomail.com; s=zohoarc; b=Ftni8FaR2BOCGaHTruECJixTaNlzzp1tE+yhd1zEhh437KIxigtADTNyovo0FrtNsFaE4k6tBhsB/SjAkakBG4ZTGNUtUlX6Dp/ikUMPWeEwcrTt2FY9/V4PEQm6YXlKftwCx/h2MFl7Bc2HgFYjQQLG9VsptGXgG/ONLbVV+8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782309084; 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=DY8kuxxNwlc1FK61o3Rtv6tRPc70RdExCw4u34E/thM=; b=Y/hNPyq8qTT5QSEo/hvDZ328n5OaT2ZvV1K+X5l8qDpmzS7jQ6KXzNg6bwiada8L9HWtqcY1jFbj2e7hsRWqFCcSRnsSPFTdA/1BhjnDeptGMT99tQkKjwV7V4aV6pFhAx1F1Ij4XaqAfnDSISVXg5/2XfIqMYWfyQSuZIPLa9o= 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 1782309084465839.3604607386284; Wed, 24 Jun 2026 06:51:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNnu-0001ok-Ay; Wed, 24 Jun 2026 09:38: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 1wcNnR-0001b2-UP for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:42 -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 1wcNnQ-00015h-9X for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:41 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-4624a44e152so912854f8f.2 for ; Wed, 24 Jun 2026 06:37:39 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308258; x=1782913058; 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=DY8kuxxNwlc1FK61o3Rtv6tRPc70RdExCw4u34E/thM=; b=C/s9YA7OkkM/iZOA1LtiwOEWM9QSxktiXDsc1Q+x9EqHpV7Iis4rm9mLJydyygcrAK DweexJ0biAhYZpbgBDUJJni2G0+DRa74Mj2h3uV8n7T35IrBD2T7gYoyF3ASwOYffiqP +gbobjBdFSGha5nUwQQbjD+5t0jU1VJ+Ddadx8bKhBx5+DIIj2LPJIgstwu00vmlsu3K iQJF2VbZJ/aKqycPLOVk00LpTkP9PS0WxPAIH+J9y7m9VH0aNOU0vlJ/3opoouYcaTGx 9Zh9779wxQUkyCHxRX4DB5hsSQ/ScLoow+Pl47HCwVCJXSAOedSGPvQljMULfBrkhwsK /I/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308258; x=1782913058; 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=DY8kuxxNwlc1FK61o3Rtv6tRPc70RdExCw4u34E/thM=; b=hlfztVOOE9QnTjI0C387ajSGYUzO1nyjNLsZmMFOPZwcAXNozgPo0NADpw25gbnkL+ zP3AHmu3HcT2YO0r/KEObU7fLO+crjjuUdgZANX8/hZf6OAep0zhIEXQEH87SSAFeLaE u+Q2TDvcDjeoALQVfLXsEa1Ana1gsRlf/lQZ6mztPvd4wm/fmxGaH3AwVwEeuYRguuQ9 hPW8RlfuN/pr3KDwU4sXN4hFJQ9Kfc/1UruSiThEJBesVvYQSURxrIRkGsciAS5cJpf6 mWv2o3vm0Z2MqsGwKsY2yQuzDUuFfp0QAZ0sGQ9l4cdXycwHFczPz58dVSD73R3Lt24U 6LeQ== X-Gm-Message-State: AOJu0YxgDOyqbFLieDZPobG3MyRcz2JcnQGKcgbaJC/uJyqYf0TvsvFx chE/iMJfxM3zKRlfOyM+V7Hr4JoJ3NMNs4MUB5w0/ci2n7306n1y++94Z0WyGvmRM2k= X-Gm-Gg: AfdE7cl6mdc2oy72Kxz6wzXSucHQi3c69g/dFPI6FmvmnizJ5T5crfkDftBD/K3TZIX vbGGE6Kr1rrtrvOBCbOTzr9WLtGZgHeJM/6hIvxBIFBYAPL1wgVtqy9sHyzLhp64tF0j880Kknl fTUkidIRznAqG4tZLKgE8ZTJaH1jEtbgTxVuA4rYZsNYBNNJEk9CCisgruRLgEiyBhHoIAVXo+J N2flMzSXZaqGtep/sqWqvKX8pPvi0t1VYcAhhShHTp5Gin5XLJ1KijSRdHsdGoghTO4rfpMtrxa fqaOWIgXZGXsSHWaf5IOJ/4vsYAnGmaUknSeoMmTsYYt+UTbar/qGYPy3P1bodyZcU9dGNO8974 aVqZ5cB9wvjmQy98kjTgbOTnvwzytkkcTqYAro5FGkft/ZXjKRijRXW2p5pWBcexFh/DCfUNEK6 6g0k62i2HqV08mDwSF7OVfLWzOpA== X-Received: by 2002:a05:6000:2911:b0:43b:5672:efe with SMTP id ffacd0b85a97d-46c04a35bd8mr5927872f8f.9.1782308258474; Wed, 24 Jun 2026 06:37:38 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:26 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-2-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::434; envelope-from=jim.macarthur@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=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: 1782309085054158500 FEAT_FPRCVT allows the vector forms of FCVTXX and [US]CVTF in streaming mode which would otherwise only be available in nonstreaming mode. Signed-off-by: Jim MacArthur Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson --- 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 07f985a5f0..1a0868eaf0 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; @@ -10120,7 +10127,14 @@ static bool do_fcvt_f(DisasContext *s, arg_fcvt *a, ARMFPRounding rmode, 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; --=20 2.43.0 From nobody Sun Jul 26 11:52:40 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=1782308683; cv=none; d=zohomail.com; s=zohoarc; b=IslXW3/+/fzF+imi4YO3gOs4/TZL7oNTACjwg9iWKvvK7y12IhDBKRRd2poNCrAqqf3qfL2l9gaKkc/icaNmfynkQGUhtr2z5UlsrqAJMLENsIZuxFFTRiwrOg1a8NmuMQPW6fAMHCZ4g5/Lw8J7xH1psxDj7z0Mytn9kGfuDBo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782308683; 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=KKSPSnAl7FDN6Zt0DqKlBArO4lCMgimmNAk89edFtyE=; b=YfErni+ce/179vrxGN+yRIZx/MRY+xlLNsYYvkQty9hsKVQ6AdgTFGBm8T7rpGKS9gbZ3whB+VKIMhylnK8dDDzhVouqDn/KgeNXKEOb2r0OCmXYzLT9ewfU3eiMgNoS7MKo3OR0WeBQGDPn/KJDWow8SVRrzCTRz8EG7+8uQqE= 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 1782308683281154.85129819915028; Wed, 24 Jun 2026 06:44:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNns-0001mJ-8A; Wed, 24 Jun 2026 09:38: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 1wcNnS-0001cy-HT for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:44 -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 1wcNnQ-000161-Vx for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:42 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-46caaa805b2so338300f8f.0 for ; Wed, 24 Jun 2026 06:37:40 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308259; x=1782913059; 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=KKSPSnAl7FDN6Zt0DqKlBArO4lCMgimmNAk89edFtyE=; b=Q5VWBu5CuR8JHUu4GqcoUsZj1zRU0EYPHEidA1qqU970o5mr5q2EQaDd0TdR7mrW7C 5kCp3+q4bmSy+iwPintqKEQRkJsz7G9a86dWNE8FiJ9UZ9cIT5/Jr8N+eJmwUMgX6M+I 7O6or87iNI/TuTzdbnW7hcgFBAnW39jOquWSc53GmVj8figv8BBk8lYjNDrwMmlZkrBF iqIFt7XGbLj5fSgD0HwyscDD58keLPSpbHo5UyFBsGmeJvvBSqm93hEBx4afIu7dhsn+ mSaXivi2n5kevKO2EFzEEL8TVSd6Rcb7l8wCUnvQXv8ZLFo5dEYyTwrydYFhyi0ptVM3 jmmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308259; x=1782913059; 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=KKSPSnAl7FDN6Zt0DqKlBArO4lCMgimmNAk89edFtyE=; b=ZF2SrRKjrzs5TswvRZstvaa49N8UuQ5HW15pAqRjtiUN4UqfxJPC06vY7vyNiTnc/2 yXrmfiRrMAQS789O55pHipw6qpJ0HBh/D+v0zXXZLnlcyed2ITuCPKiUD8AF8B+SkZ9M uDdzLlOXF47lnJh2i7shZPYm0Ej7kYxnJs2KenX7ZHGRL7CHErAd+rbTqC9F3rZpQGsQ OOpXTro8yWHuN8ERNLnJYHeHzQMxq52LpI2ls05FVXtXRInNAcd8xFJsZt2r8fPuiIQb b8o/px+Ump4N3RC01NaJ2iQWYfcFNqRgx2oe+yrI1uRG0cSliYUSHFA0eQAMGKBvCNyX cY+A== X-Gm-Message-State: AOJu0YzfYWBg4CPL4DRXoDIa2grQ6cLIn2DkTONbKgpczOFzAjTllMQn FVxwjNZj2lVHLdQ7x6KJhWqC04eGK5q5d2LNdQsUlGLU7v0kema/ZciXWAc9nFfpzoTf0jWY83B 5EgX7xmg= X-Gm-Gg: AfdE7ckIAnlU5E/dBsSY+3Q03/zbqRXOJUptdGjLEyXpUVP9WturwVqvgkGWMeiTkYA R2x4zYvpcmHqJns7amU7WBANV1Bk9KSYgl73jUzjGBjPzv3lKpCoqKYbLNs5uIrU5UNhKAxaoPd /NizwH64Btmw320Ws2ZsecH0e+uwJv4+di/Qgpn6niLfxweouTMEPzq3yIp5p9wzPfjeoFGpxrW OXGag0cZ741TUwDEIoeX2V/UxNyoXJ6UExfO+0iJfGhkRaGCoPPUESg7jfBYZOtGWCHd7NonLY1 FYku0jx7SWqykzSJ/8QnDDmx3OJkk3j3jO+/4m/HnqRl8fiRoalPJ1DlwHoeTR9lBaszxXEYl/c CFJVPb9iSYrYh7hVvjms/uh5pTwpjJ1cwsvbwryaXz0a3qZRBxlvh57+1BOUVOEzMTWL+48B7xY L4BvdKTyNinMXVH0g= X-Received: by 2002:a05:6000:400e:b0:468:6ce0:ef1a with SMTP id ffacd0b85a97d-46c0a3936e3mr6136409f8f.11.1782308259573; Wed, 24 Jun 2026 06:37:39 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:27 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-3-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::42c; envelope-from=jim.macarthur@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: 1782308683947158501 Signed-off-by: Jim MacArthur Reviewed-by: Richard Henderson --- 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:52:40 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=1782308942; cv=none; d=zohomail.com; s=zohoarc; b=By7sphnnQG1LoG38BRl0ygaazGt0AIM8lE14uHMtDik13l2I4o2LSCzA57nBJk43T7JWSCoyFHJp8SSCDuaooPiiHfNKC1hE5vq4WruhI+sV6JTFB4nJ7NlwdPY5aoeDhg6aUtGuuw8/xqxvaFXl3V6Wb9yQqA9rC/E4wK+oHUE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782308942; 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=Dbmh3RMHWGextp8wn1iIt5XsGX3XsKMosrBI26uzcks=; b=Bsdd6kNl4AxBPpRLrautFKewr2nfc513Oc0sneRcf+l9M+w8F12vWC7+Rdeg5xazWycOLIuLV+IdZ60hYpGvVWTTO4rKdL50ARoT8/S+ZtQu35MFy/uTnn89MnDGIB+438Nx8BIP1HwH/RIcF4hrhWi17s7Aj2a/nLJ8Poiz3Cw= 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 178230894246243.5146140857521; Wed, 24 Jun 2026 06:49:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNoU-0002Bq-2Y; Wed, 24 Jun 2026 09:38: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 1wcNnT-0001eu-ML for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:45 -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 1wcNnS-00016G-9C for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:43 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-4633193af19so840736f8f.2 for ; Wed, 24 Jun 2026 06:37:41 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308261; x=1782913061; 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=Dbmh3RMHWGextp8wn1iIt5XsGX3XsKMosrBI26uzcks=; b=VNeVEvXkaZP6985Otz+EEPnFTKLfdvU3WtAGbpTgsAj0VK/QMMLxejKLiRDIUWko+n 1y3BX15Xqio43zmNHysqUFiI2V2MjhqP6Xa2DRtrheSC7TYRE0EtKTxKsLENB/WVscgL FyZfZ8bjW/P3Cz1uAib0UvdiIpy7A+1EkMsvotYwcMlH8ims9lFiijvNEms5mzaZAdWQ RjB7CYkKckkSQaio+GTApngtwDmLr82Dh9VjgptvGGKsZ+KC4eLIn4Fby5Aw0VUV49G1 x3i7kI5qQicSN/hHNKc2BT3LibSvbwao52fx9+XRxt+PBqY5rIlKzp49CGeQPfx0Oqmi uuxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308261; x=1782913061; 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=Dbmh3RMHWGextp8wn1iIt5XsGX3XsKMosrBI26uzcks=; b=Fz+If3WF+NBF+5iRU2AzzZVOH6mS9fabBj4oxQUOHehhmW1KYn1gJz/zk/7ZH1elGg cYIZQVuOqEEjGARWPUiWahbYasMrXHncbVtUG1pIskMuy02wnqlY2KengsfNIEFrb8Pu drevT2KW5UA9JO7JuOLWK7dgOG+K6Pf8TRq795b0khn/m3g94b1+eQAFw/jlJEX7XQnt CL3oBbfYZy6dLuZXkzUTlCBIwKeaYCQJzd9RdUKWc7xjfJYaGmFawS2Zl5P4tZdmDeKr BTJtwhaxKW+UCckV3V1aAjPoyet45OgmrfYgoARCiHtMbkFEGESolHYxEngydyfEHgNJ 39ww== X-Gm-Message-State: AOJu0YxAYQgC/KO9+pIZxRC13I6SPMyCE7/vLzqLNj9Zi1Vbhjt1rBzf g6wSDgpDQ3Ma0dBWusS61MEKG+3RpKRAckQId0OCidViMF109m4gy6XeYvM6yNW5dCQ= X-Gm-Gg: AfdE7cnwaFl5YI64ID+S52cbj/jH7JZiE7zHnEsI2qZ6/yMIYiLOAn/j0GDAxC9eTsv C6fgI9W7UxvT5LONGc2MtkElya2ufSEghkRJI1kvvkXKF5igmpy3kPlaq40SjZk/CvPS2c5DUoc ubxj8SCVOQj8hLv7f66b8pwfWMRmJLUS88ufNm4IsVTtPWAltrxja3FImcztRNyU4raC1OOO/N6 BIuB6QQm6uMwk3LGfsTwBatISeejJNVbwL7G7Wt2/bkfHtOxkKrQUx0M4qXvhRKa+9NWEWSlZ2w CYfkfSlC1UdbhV57pdEKass9vlyLgg7GjPUnztCRLCGNtSVfmkiJYPVXZj1OlATvShDAR0K3luT k4ZK/4yEbR0AoD2hWa4KhNYPX2SVcQ22KOSmwvZmqPhrupFrodhSGNfy8Z/Nz1PKL2NzsvQ86eu DmSJ/yrXsOg7l0y/nrKNdvKUwc0A== X-Received: by 2002:a05:6000:2c04:b0:46d:32:3340 with SMTP id ffacd0b85a97d-46d0032353dmr966946f8f.36.1782308260654; Wed, 24 Jun 2026 06:37:40 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:28 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-4-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::431; envelope-from=jim.macarthur@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=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: 1782308943973158500 Signed-off-by: Jim MacArthur Reviewed-by: Richard Henderson --- 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:52:40 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=1782308765; cv=none; d=zohomail.com; s=zohoarc; b=Rw1buNwn1yoblfgUpFPdQq+e/tGY8pzYgso0ehv1ycDfPO1HcJBPLSav71aNDXmHU316Rdj5L0V5TV0tbXvSoJ6VYghEixuLRPE82bMbC+VvCLGA1yhroDAPsWbM9L2vmkD6P+9CAPBG0i4Yh/ZQuBeMD+2W+a4YUaNeJCRkBeU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782308765; 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=Ee6Ws6ilv9tNM/LvFU3bwJGyeQM+X3lbEmSo0Osct8k=; b=hWw2Xpf4YT/6CUYaAEOuq+Up6+50eONMrCLiQEt0mpcP9jK9uu+lyLQqa9rHDAaSW6jp77/sjLleOrzmmvCZy5Mtua0wBzQVOqP9xgZANtfYi4sEZAkccZlGTlhENOlDRkkn4WeAUIaoA8rj9+f5x+75YImTeodxRWHOG/lFHdI= 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 1782308765517429.42572007210276; Wed, 24 Jun 2026 06:46:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNoW-0002RJ-6y; Wed, 24 Jun 2026 09:38:48 -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 1wcNnV-0001ft-Jh for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:46 -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 1wcNnU-000179-6H for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:45 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-490b1bbcf3aso5863215e9.1 for ; Wed, 24 Jun 2026 06:37:43 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308263; x=1782913063; 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=Ee6Ws6ilv9tNM/LvFU3bwJGyeQM+X3lbEmSo0Osct8k=; b=TFMATFQKo/5SYtVdHKwgfFw+X6cPvmQdNTHacmZnGKx/NBQBJP4CQRq5A1+T4c2A8Z 23C0uAEvD38g+Q/i6NSeVLhjez2bGAKy9SPcdPBakLRKmZQ6D7L2ATmgbEk1WgYExCyw v3zuT3jNrSx93LKjvptRbFxEoT7HepqQdGSV7n1Hl3y7gL8LTKIzkzPq+Iw9jv//zMeE vab3kQxdMXXRNnniDsJhLDOvOYi6DYONbmmszhCaX8dqr6f8IVm9vccaljIFxI7LRgIW +8OwapGIRVeaucp4aHDo8Q0rhXJccHjQwZcEAiy78Di8Zt5BmSKaY1i7uEYkJ6jtmCC9 XeBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308263; x=1782913063; 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=Ee6Ws6ilv9tNM/LvFU3bwJGyeQM+X3lbEmSo0Osct8k=; b=PGtSGO3WFczQ36l82jYxeUSlxeJX2uvqR08OSaEvXZgZhhfFZgMSFLrj8V1B0AF4UO yEGMnwmXZV9WI/UjcvhegKUvwLLO3BDpcFzz/yOlZiDFRIvDk6FH9akXkm1EaB5Y5lrk RFtFzbRxOiOaDymRX2gjUfxMY+dUvcfJmoE9IN8uxVr6gRFD82MHr53de/lo8dRfVzxm ATe6TJGOs0Te8gB1CdMWhL2RR4GD5tVC6fVW8iCMrnLU6CRHCJxy3qvuAsE4Twk3pE9C 825AlghL+KSverb0hxY72jf8mA3P+zdFc15yjs+GW+qZ+8vIRVDzbW+JR1N9OX/j9XHu qWEg== X-Gm-Message-State: AOJu0YwWyHkLBK/dgc3t5QlOuDN8jCCM+xLIKdjT19ZY3cgZT9KZ1y5M X0NzvtrnM1juQMxacVYqPhot1pdfDqJbDZyf9GU6FmXfU0NsVY3+AzohsIVK0dOlTdw= X-Gm-Gg: AfdE7clTW2XSTQvrMpxOhuo72GPzB0KkvJ2Vxs/HxjtwlxYJeJC9uAOGEznAh2HwyYu TKR9ZezOT8kU7jMGhwvT5VQ0jMhOj5BWTCKFp1Wupxnyno11g3y2Wm6ZHG/wSi/4vo3NKXprS+X jn9fbAzDZbgy39yd/4W625pGMHcd3U6qGuglVIEfwh0SfoHaW6MkspGj+iO4SesHUgkZkytPDUd MIauelLJtRKM9ajc0UI3+Wr71Ogfi2JJVTSpH428y5h0NwZtcbwNvGPo2j+QIy0yxkk+t4C6cxR MPqQIcWq2Vn6gFBrPtmNzJ/61u8KL7KqgWJOQ75PudAR6wMRhqdrI/e18t1qK+wEMzQvGL4pjvl g4UHIh8dCMHlDO5AX2YwPpRDv41xl1JGmF8+M5oPWDbYypqV30rY8yaxbEXJY9nS+rB5XqCrndF tOdI0HasqIqapEHhc= X-Received: by 2002:a05:600c:8b03:b0:492:45a0:dcef with SMTP id 5b1f17b1804b1-49249083cb4mr270896595e9.5.1782308262621; Wed, 24 Jun 2026 06:37:42 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:29 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-5-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::32f; envelope-from=jim.macarthur@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: 1782308766869158500 Signed-off-by: Jim MacArthur Reviewed-by: Richard Henderson --- 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:52:40 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=1782308566; cv=none; d=zohomail.com; s=zohoarc; b=M723w8XthV3zmOYD2vAM56AWQ6rIWzTrEZc22tsfUzPBAg/ZbjFxJ0G4UDDxSIs2R0I0m8Tm4rXu40TqFIaB+n9OrCXaNvZPremOMAkCB+0Bz1DPbA3hDgPz8qUep9ZJ4nbB9YzPe/1BF/6Xln5T5Zdr4RMhZ46zBAdHaejpeas= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782308566; 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=2NDL9GgJTskgV85Mg/cUiyt7YaGnfBnRCfyqg2zl2uk=; b=JxldDW5AeEUpjFgC1yKb2B7LPnTaMRAimkarHdfpCLVpAeTW3cbl3SRZ7ID4ocTLHEdlzoH+X2XY2nl0l43aonxQASmVGBcmIM+6WQQlmvQLHzfFX5qDsAsqq55rV2t6jyK5ODJSKwKAZgJhj6B2PJpFMaY/vfhb5Yt8fQM69Qg= 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 1782308566235414.0608356727629; Wed, 24 Jun 2026 06:42:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcNoR-00021h-IP; Wed, 24 Jun 2026 09:38: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 1wcNnW-0001gu-UR for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:47 -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 1wcNnV-00017P-3j for qemu-devel@nongnu.org; Wed, 24 Jun 2026 09:37:46 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-45ef29c5561so686429f8f.0 for ; Wed, 24 Jun 2026 06:37:44 -0700 (PDT) Received: from [127.0.1.1] ([2a10:d582:31e:0:2e21:1ee8:260f:9a76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm6646334f8f.5.2026.06.24.06.37.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:37:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782308264; x=1782913064; 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=2NDL9GgJTskgV85Mg/cUiyt7YaGnfBnRCfyqg2zl2uk=; b=IDk3Xwv9lhnZNSZB7BIGmChY9S62o7arNEWU25sR9gCVU0UlnlnFEIKpe2J2QIHhfs v1UxuE7MYI3RsHuTKqcchracEt566slnDuQ1qeNObgd5lZiBhrLverL4Q0lk5F0WlmKH DcfN7PBMNyYPFmiS7a0vyAS6Amjm01hSuRWNk0cdXQEDtnrH4fW59Irzn5ynYwU1LAdo LXADIN3uVnx0tZQkdxqk80xQSaOo8BMTrh+WNVC6LtmeqqvXRTgHa//7cZerwY4serHo 2/2OFbG8qKz7h5KwhPWE82TPR1WmX6zd6n/nmHdG/0vRJ5Kisq7v9ie/QkNJi7R2D0Ru 20KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308264; x=1782913064; 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=2NDL9GgJTskgV85Mg/cUiyt7YaGnfBnRCfyqg2zl2uk=; b=W0fvrnGyfRm4U10SQyrNzM7WxDen727BlF2/2PXwOQXqXrt+AINpY4XgPtzNY/fr50 nQddM3kg1EQqGcr+hP8ctqSYarbxsC39KmCNb9x2l4g1ejHMeQLjHIYy+W3F5MdjTh0T 5hIRqNS7lE21P0FWXEAlD8Hb3OYPkIM51DG/J29uqP08OB4rJLzt7lxllZYdpU/OoYzm kj2KNzk9/fl5rlm+3YvysplRaCkohLmqtf7AXGj9MQ7twIWqYIrdAYeYfjKsgaBTedum OvPkPiurziu1iQuKXtrqChkfR1Pc1urRa5BE5oEWkjHeefdRopf9isiuSywfyjR7a5d+ A+wQ== X-Gm-Message-State: AOJu0YzyeaxmimjVzI6yFGc1f2XUDI1oAuSFjbzCGAFwB5F6acgHl/jf LFNtymNrImV5OZlasL+LTcTPTdscsy+ew8Pt3mVhBjnYvQi2MdnAWXNCabyN7GeANJ0= X-Gm-Gg: AfdE7cnlTlgGNZ3QRonFwUVQUn/7FJyezQAaqOEZ+L87P8zGTRq0QIjxeAfV/Jaloma kv6SL95Payfidnq/bldC3UqSL9gx7aTXvcgG1Wez6MogBSF+q/q9Ovjp/hvXbUYEZKinkaRE31d HOI2IT2YceDg9B/xsY81zv9G7sEfutd3EYAuDMlpSZgxtYUHYXzWx0j864zdyBqmGC9CeUOumbz tR6/dBT1M8HI/eoMeOzYLtf598N6X4L6uOlLaHLukPU6pycKtQuY81WRbCbpxwKW2ABq4egmfkO YmSgLEbBTFCBAtzMaeeKGWb5wmsQllrU9ZwDFe1aka0/rvb6bexZsDG/hLarkviNXbCGVmd+Ddd 3Puu/TJGrsj8k4WAYIPZyufdHmE++HYjvi3A78aDHkPXoHPyJ2bt6iSmJoiVYJiE1YxwLK4kNSc qAmNmO3I/o2+9DdHWBfamylkvmbQ== X-Received: by 2002:a5d:63c8:0:b0:460:70ff:fe14 with SMTP id ffacd0b85a97d-46c0af15c37mr4130065f8f.42.1782308263725; Wed, 24 Jun 2026 06:37:43 -0700 (PDT) From: Jim MacArthur Date: Wed, 24 Jun 2026 14:37:30 +0100 Subject: [PATCH v2 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: <20260624-jmac-fprcvt-v2-6-dc6cf8e512b6@linaro.org> References: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@linaro.org> In-Reply-To: <20260624-jmac-fprcvt-v2-0-dc6cf8e512b6@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::431; envelope-from=jim.macarthur@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: 1782308567066158501 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. Signed-off-by: Jim MacArthur Reviewed-by: Alex Benn=C3=A9e --- 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