{"id":2221071,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2221071/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<2aa7f105031465bdbd63c22bca6e2b77b92bab5f.1775665981.git.matheus.bernardino@oss.qualcomm.com>","date":"2026-04-08T16:36:59","name":"[v3,08/16] target/hexagon: add v68 HVX IEEE float misc insns","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"27c61c9b9d9321b8d28c678765ce46fe409cb293","submitter":{"id":90606,"url":"http://patchwork.ozlabs.org/api/1.0/people/90606/?format=json","name":"Matheus Tavares Bernardino","email":"matheus.bernardino@oss.qualcomm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/2aa7f105031465bdbd63c22bca6e2b77b92bab5f.1775665981.git.matheus.bernardino@oss.qualcomm.com/mbox/","series":[{"id":499185,"url":"http://patchwork.ozlabs.org/api/1.0/series/499185/?format=json","date":"2026-04-08T16:36:53","name":"hexagon: add missing HVX float instructions","version":3,"mbox":"http://patchwork.ozlabs.org/series/499185/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221071/checks/","tags":{},"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=C+IX71Cs;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=TRDwW3WH;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (unknown [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frX6C6XhTz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 04:44:19 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wAXqP-0003lk-RE; Wed, 08 Apr 2026 14:41:41 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <matheus.bernardino@oss.qualcomm.com>)\n id 1wAXqM-0003R4-O7\n for qemu-devel@nongnu.org; Wed, 08 Apr 2026 14:41:38 -0400","from mx0b-0031df01.pphosted.com ([205.220.180.131])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <matheus.bernardino@oss.qualcomm.com>)\n id 1wAVu4-0006p2-DN\n for qemu-devel@nongnu.org; Wed, 08 Apr 2026 12:37:21 -0400","from pps.filterd (m0279870.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 638GD8TM674162\n for <qemu-devel@nongnu.org>; Wed, 8 Apr 2026 16:37:19 GMT","from mail-pg1-f200.google.com (mail-pg1-f200.google.com\n [209.85.215.200])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ddtbmr2h5-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <qemu-devel@nongnu.org>; Wed, 08 Apr 2026 16:37:19 +0000 (GMT)","by mail-pg1-f200.google.com with SMTP id\n 41be03b00d2f7-c709551ec08so115515a12.3\n for <qemu-devel@nongnu.org>; Wed, 08 Apr 2026 09:37:19 -0700 (PDT)","from hu-mathbern-lv.qualcomm.com (Global_NAT1.qualcomm.com.\n [129.46.96.20]) by smtp.gmail.com with ESMTPSA id\n a92af1059eb24-12c1ff43d04sm4082006c88.4.2026.04.08.09.37.16\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 08 Apr 2026 09:37:16 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=qcppdkim1; bh=D8XB9U6uJxW\n K1qSpayLLf8XN+ydkf0YDu+EikZ8lS78=; b=C+IX71Cs4R9IhiO/IcZXmPPq68o\n pe4k1Ql5fwozoenW3dg3AZONideh9V52PfBfcayN1S3WO9/RqV88dkS8/TtGL6QW\n 1pQrZ3oUHzKBELLy5XZZqvBmJAx+BrEbSvVfePsNQOtXvd0CRbbA26I0GAtaAd2R\n HU1ZycbcB1aUNNc5NSzvw9Vxo4RkFsbHMqbhCTLuTiCj5VpJEZamGn+Rt67G3jAt\n e5S+eBmm/fWomIJDlY8iiz2NKy3QqGdxmZTOoakJYdhpdpC955jtQ1JpdO4BIkmI\n okdi6fWlpzDdoStOmQQbrCKi4GbRiGk4Vz4Tf1RsgIkZKe3k3szeFyHt4Ww==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1775666238; x=1776271038; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=D8XB9U6uJxWK1qSpayLLf8XN+ydkf0YDu+EikZ8lS78=;\n b=TRDwW3WH4mo5W2SCZoZ/IYjL6qhMRAohBQEwxPIZUdmPGVM337VJ+M3J1Lc0ITmvcZ\n PFOs0z1N7HpDD0ipOenyyQG66tJaQKe/Ipixh3aCfRcb99LzcGjdgWLJwuWkU3Cl5l+H\n qRAJWRTtNB9Oc3oujgdafjdwnlvR8FvGhoDXWG+aSJpKc6QjRWMwTCwN9WIEtoSDaF53\n cCAVIKwadmXZ7ZwYNfbBsdiUCNClcUET3dwwNgsJloxXnOd66LLLYw1gtbT36QiyTBXj\n mvwBFX0XWoWxsCRFFkh1c0iKk+goOEe88YpU9435EwlB6YJtio+S1GV6VsaDqjOJuMP7\n PswQ=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775666238; x=1776271038;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=D8XB9U6uJxWK1qSpayLLf8XN+ydkf0YDu+EikZ8lS78=;\n b=RRPP2aM8xtNpXxUElSLbD2sC/ZNO5QlHCDWSahPJdIVklDSuNdd5uGAYXyz1VOvf49\n 8Jv7yR6/UyQEb2PTRrYC3GrbH+CT0l56L9MfOoHgKZ1prQXu8OBu/JRYlZQO/wr+P+/U\n j5OQrr3HmtCpRbQ0jX7mtFW0xG8gjPPSjFD1x/4J46fFXlBLaQnywy88uUJrMK5u2Y44\n caAc94wqIYK4yql+ZVZrLQ2W3n+YinMMBCrL8c9XvUF1tS7QhHkmUk+K/7jiJ0O+AgtC\n WTAzKg1FnB1+ZBO44ZLVyQ66kBiP14+SyRUJSlY2rzH6a+UyXZSeOg+LXvsSo3S+sE5W\n Ruwg==","X-Gm-Message-State":"AOJu0YxaJO0zcGzFsU617dgtdibZocxK7LnC3wrPJ8B2eQOs8xGOclW2\n aZCIiGRXbuhtWAtYlgNDh78BWu+uQGuTcHlfRJpbRS/DlU9BgfHiN1ybu/E9apDF5GVnteiOQc0\n E2SVNLDoudbP//4a/wW2jK9+nhRtO+GVx0o+0CbKG1YXJS3N2WHoBtbDYpt/+c1ElNmOC","X-Gm-Gg":"AeBDietBRtrOIK6obgIjCpH0ZNn1JyuUyoKBs5hEz+z+5Lvc/8/To1OiehoY2Ydhh89\n ZZ9Hw1aP4m3eiTSpTb9P9g0cv0vH3offVC0FiM9O+DuAHZg/Sey6igLfoUPJudfLrKjI0XGPypT\n BsWhZZj0F+7ZJp/siihFFmHUqAQHbC5brhvsclO3G6Z0qTKe98SSsyAL+DjcjPaRsO/ivRDF4wo\n NhwP+ZuWBKtWpioSvBoFkbS37ubU1IUX5yQW/QSiWWRLbFCZwqc8w3fkncyGEWryXg7NGkLRam3\n mVmg7qKUsJEGj7Hv+vTr7N1xZrb9ASaa8eACcFzezu1hu3baiAyGyUiwP/F2tZXs82E9U8JioLx\n cZufNDDyiiOyQ+rGeK158fbJAjWQhdihVrYlDjLaaLj05QiBrx1jggrta4Qu7I39jZA7aKVRbKB\n LnK4d1fiOe","X-Received":["by 2002:a05:7022:6997:b0:128:d362:31e8 with SMTP id\n a92af1059eb24-12bfb74518amr11549439c88.20.1775666237881;\n Wed, 08 Apr 2026 09:37:17 -0700 (PDT)","by 2002:a05:7022:6997:b0:128:d362:31e8 with SMTP id\n a92af1059eb24-12bfb74518amr11549413c88.20.1775666237325;\n Wed, 08 Apr 2026 09:37:17 -0700 (PDT)"],"From":"Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>","To":"qemu-devel@nongnu.org","Cc":"richard.henderson@linaro.org, ale@rev.ng, anjo@rev.ng,\n brian.cain@oss.qualcomm.com, ltaylorsimpson@gmail.com,\n marco.liebel@oss.qualcomm.com, philmd@linaro.org,\n quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com","Subject":"[PATCH v3 08/16] target/hexagon: add v68 HVX IEEE float misc insns","Date":"Wed,  8 Apr 2026 09:36:59 -0700","Message-Id":"\n <2aa7f105031465bdbd63c22bca6e2b77b92bab5f.1775665981.git.matheus.bernardino@oss.qualcomm.com>","X-Mailer":"git-send-email 2.37.2","In-Reply-To":"<cover.1775665981.git.matheus.bernardino@oss.qualcomm.com>","References":"<cover.1775665981.git.matheus.bernardino@oss.qualcomm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Proofpoint-GUID":"dae6gfnzzDxSrSrbxgCZiA5OI61ZZ_bm","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDA4MDE1NCBTYWx0ZWRfX7Mb1IOquiQXN\n 9e23zbIj8MTV1FCmFRkYRQJqqb3lnYtsNjxXokNaWFRJecF2bklSW7Ff3X8g1ruhZW5DqvLJ8ff\n fz+Jv47t2ZNj1o7kfD+Sh7wGlQ/uI/go7NXkp/xIP+To8AMSV0UHchYzhweL6nXU/txgxlIliSB\n hdggSckQrqlJyJTUcJO9aUEIT+XBIDQeoTrT+El1IdzH46s9KJs8sxXWnpExIh/jM8aO8F1OM2D\n NByv4/qf2b9pLEcVTB/wzgGdEb4KGxdvOHd/DX4lknb4VbV2Uu0+ACxne2vC4d5qVObVWHEbuMh\n W7OZJTE1l6WkaG/euqv2drbx/haUXb09zTa+wLwTbCZFhop5wAUSiaNP0LAmq4Wpg3LZXORDcqQ\n UWws1uz5lj8aHqFkVlY6yfUQ/5En+gw0rct5kwvWk6bveOLXkh7DflN7dQXgCtHdLxkyoqjbhd3\n v9zYuS36rHI6OX769Mg==","X-Authority-Analysis":"v=2.4 cv=YM2vDxGx c=1 sm=1 tr=0 ts=69d6843f cx=c_pps\n a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17\n a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8\n a=XuGYLkldsImkkdaR63EA:9 a=3WC7DwWrALyhR5TkjVHa:22","X-Proofpoint-ORIG-GUID":"dae6gfnzzDxSrSrbxgCZiA5OI61ZZ_bm","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-08_05,2026-04-08_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n phishscore=0 priorityscore=1501 impostorscore=0 adultscore=0 spamscore=0\n lowpriorityscore=0 bulkscore=0 clxscore=1015 suspectscore=0 malwarescore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604080154","Received-SPF":"pass client-ip=205.220.180.131;\n envelope-from=matheus.bernardino@oss.qualcomm.com;\n helo=mx0b-0031df01.pphosted.com","X-Spam_score_int":"-27","X-Spam_score":"-2.8","X-Spam_bar":"--","X-Spam_report":"(-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,\n 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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Add HVX IEEE floating-point miscellaneous instructions:\n- vassign_fp (vfmv): vector move\n- vfneg_hf, vfneg_sf: vector floating-point negate\n- vabs_hf, vabs_sf: vector absolute value\n\nSigned-off-by: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>\n---\n target/hexagon/imported/mmvec/encode_ext.def |  7 +++++++\n target/hexagon/imported/mmvec/ext.idef       | 12 ++++++++++++\n 2 files changed, 19 insertions(+)","diff":"diff --git a/target/hexagon/imported/mmvec/encode_ext.def b/target/hexagon/imported/mmvec/encode_ext.def\nindex d7f50db778..72daf8724c 100644\n--- a/target/hexagon/imported/mmvec/encode_ext.def\n+++ b/target/hexagon/imported/mmvec/encode_ext.def\n@@ -833,4 +833,11 @@ DEF_ENC(V6_vmin_sf,\"00011111110vvvvvPP1uuuuu010ddddd\")\n DEF_ENC(V6_vmax_hf,\"00011111110vvvvvPP1uuuuu011ddddd\")\n DEF_ENC(V6_vmin_hf,\"00011111110vvvvvPP1uuuuu100ddddd\")\n \n+/* IEEE FP move, negate, abs instructions */\n+DEF_ENC(V6_vassign_fp,\"00011110--0-0110PP1uuuuu001ddddd\")\n+DEF_ENC(V6_vfneg_hf,\"00011110--0-0110PP1uuuuu010ddddd\")\n+DEF_ENC(V6_vfneg_sf,\"00011110--0-0110PP1uuuuu011ddddd\")\n+DEF_ENC(V6_vabs_hf,\"00011110--0-0110PP1uuuuu100ddddd\")\n+DEF_ENC(V6_vabs_sf,\"00011110--0-0110PP1uuuuu101ddddd\")\n+\n #endif /* NO MMVEC */\ndiff --git a/target/hexagon/imported/mmvec/ext.idef b/target/hexagon/imported/mmvec/ext.idef\nindex 0e9cace203..5312661684 100644\n--- a/target/hexagon/imported/mmvec/ext.idef\n+++ b/target/hexagon/imported/mmvec/ext.idef\n@@ -3034,6 +3034,18 @@ ITERATOR_INSN_ANY_SLOT_2SRC(16,vmin_hf,\"Vd32.hf=vmin(Vu32.hf,Vv32.hf)\", \\\n     \"Vector min of hf input\", VdV.hf[i] = qf_min_hf(VuV.hf[i], VvV.hf[i], \\\n \t&env->hvx_fp_status))\n \n+/* IEEE FP move, negate, abs instructions */\n+ITERATOR_INSN_IEEE_FP_16_32_LATE(32, vassign_fp, \"Vd32.w=vfmv(Vu32.w)\", \\\n+    \"Vector IEEE move\", VdV.w[i]  = VuV.w[i])\n+ITERATOR_INSN_IEEE_FP_16_32_LATE(16, vfneg_hf, \"Vd32.hf=vfneg(Vu32.hf)\", \\\n+    \"Vector IEEE neg: hf\", VdV.hf[i] = float16_chs(VuV.hf[i]))\n+ITERATOR_INSN_IEEE_FP_16_32_LATE(32, vfneg_sf, \"Vd32.sf=vfneg(Vu32.sf)\", \\\n+    \"Vector IEEE neg: sf\", VdV.sf[i] = float32_chs(VuV.sf[i]))\n+ITERATOR_INSN_IEEE_FP_16_32_LATE(16, vabs_hf,  \"Vd32.hf=vabs(Vu32.hf)\", \\\n+    \"Vector IEEE abs: hf\", VdV.hf[i] = float16_abs(VuV.hf[i]))\n+ITERATOR_INSN_IEEE_FP_16_32_LATE(32, vabs_sf,  \"Vd32.sf=vabs(Vu32.sf)\", \\\n+    \"Vector IEEE abs: sf\", VdV.hf[i] = float32_abs(VuV.hf[i]))\n+\n /******************************************************************************\n  DEBUG Vector/Register Printing\n  ******************************************************************************/\n","prefixes":["v3","08/16"]}