[{"id":3677074,"web_url":"http://patchwork.ozlabs.org/comment/3677074/","msgid":"<DHSQVZJOTCG8.204E5IMP58OQN@gmail.com>","list_archive_url":null,"date":"2026-04-14T08:46:17","subject":"Re: [PATCH] RISC-V: Make tuple vector not tieable to some modes.","submitter":{"id":86205,"url":"http://patchwork.ozlabs.org/api/people/86205/","name":"Robin Dapp","email":"rdapp.gcc@gmail.com"},"content":"Hi Zicong,\n\nThanks for tackling this.\n\n>         PR 124448\n\nThis is missing a \"target\", i.e. PR target/124448.\n\n> --- a/gcc/config/riscv/riscv.cc\n> +++ b/gcc/config/riscv/riscv.cc\n> @@ -10897,6 +10897,31 @@ riscv_modes_tieable_p (machine_mode mode1, machine_mode mode2)\n>       E.g. V2SI and DI are not tieable.  */\n>    if (riscv_vector_mode_p (mode1) != riscv_vector_mode_p (mode2))\n>      return false;\n> +\n> +  /* We don't allow tuple vector modes to be tied to any vector mode\n> +     that has different inner mode.  It may cause unnecessary type\n> +     conversions.\n> +     E.g.  RVVMF2x4HI and RVVM2DI are not tieable.  */\n> +  if (riscv_tuple_mode_p (mode1) || riscv_tuple_mode_p (mode2))\n> +  {\n> +    machine_mode subpart_mode1, subpart_mode2;\n> +    if (riscv_tuple_mode_p (mode1))\n> +    {\n> +      subpart_mode1 = riscv_vector::get_subpart_mode (mode1);\n> +      subpart_mode1 = GET_MODE_INNER (subpart_mode1);\n> +    }\n> +    else\n> +      subpart_mode1 = GET_MODE_INNER (mode1);\n> +    if (riscv_tuple_mode_p (mode2))\n> +    {\n> +      subpart_mode2 = riscv_vector::get_subpart_mode (mode2);\n> +      subpart_mode2 = GET_MODE_INNER (subpart_mode2);\n> +    }\n> +    else\n> +      subpart_mode2 = GET_MODE_INNER (mode2);\n> +    if (subpart_mode1 != subpart_mode2)\n> +      return false;\n> +  }\n\nI wonder if we gain something from making similar inner modes tieable, i.e. \nRVVMF2x4HI and RVVMF4HI?  Did you observe cases where this helps?\n\nPut differently, are there cases you want to handle that\n\n  if (riscv_tuple_mode_p (mode1) != riscv_tuple_mode_p (mode2))\n    return false;\n\ndoes not catch?\n\n>    return (mode1 == mode2\n>  \t  || !(GET_MODE_CLASS (mode1) == MODE_FLOAT\n>  \t       && GET_MODE_CLASS (mode2) == MODE_FLOAT));\n> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> new file mode 100644\n> index 00000000000..fd74c509849\n> --- /dev/null\n> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> @@ -0,0 +1,37 @@\n> +/* { dg-do compile } */\n> +/* { dg-options \"-march=rv64gcv_zvl128b -O3 -mrvv-vector-bits=zvl\" } */\n\nHere you also need -mabi=lp64d for multilib settings.\n\n> +/* { dg-skip-if \"\" { *-*-* } { \"-O0\" \"-O1\" \"-O2\" \"-Os\" \"-Og\" \"-Oz\" } } */\n\nI don't think this is necessary when you specify -O3 directly.\n\n\n> +#include <stdint-gcc.h>\n\nYou could just use a\n typedef short int16_t;\ninstead of the include.\n\n> +/* { dg-final { scan-assembler-times {vsetivli} 1 } } */\n> +/* { dg-final { scan-assembler-not {vslidedown\\.vi} } } */\n\nHow about something like\n/* { dg-final { scan-rtl-dump-not \"(subreg:RVVM2DI (reg:RVVMF2x4HI\" \"vregs\" } } */\non top, for a more targeted check?","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=QcIFoXjr;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=QcIFoXjr","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.221.54"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvyZ34xycz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 18:46:50 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 2E8614BA2E15\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 08:46:48 +0000 (GMT)","from mail-wr1-f54.google.com (mail-wr1-f54.google.com\n [209.85.221.54])\n by sourceware.org (Postfix) with ESMTPS id 80F3A4BA2E07\n for <gcc-patches@gcc.gnu.org>; Tue, 14 Apr 2026 08:46:20 +0000 (GMT)","by mail-wr1-f54.google.com with SMTP id\n ffacd0b85a97d-43d72875729so1427067f8f.3\n for <gcc-patches@gcc.gnu.org>; Tue, 14 Apr 2026 01:46:20 -0700 (PDT)","from localhost (ip-085-216-098-084.um25.pools.vodafone-ip.de.\n [85.216.98.84]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43d7b543057sm12343525f8f.6.2026.04.14.01.46.18\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Tue, 14 Apr 2026 01:46:18 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 2E8614BA2E15","OpenDKIM Filter v2.11.0 sourceware.org 80F3A4BA2E07"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 80F3A4BA2E07","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 80F3A4BA2E07","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776156380; cv=none;\n b=Ga/JC1UJmq/fGNJSomVyQo+h4Y95kDqH8rHz4CUiC/6+1Ph8pX3iVHjTlW51rSPrBfQ7/TxFFY4HV/L43uBLHjICqqjhb7PuOW6WGl+EUCx34g1F2w+vFMxSZEs7tS9hkW/T5tTmAbd3G4+twLTFqhUBvtGex8zUPyQ/yg822mM=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776156380; c=relaxed/simple;\n bh=fUoDiSfNc36lJpYk1HeMAI2iNY4Ilp9lP4CN59K6BNc=;\n h=DKIM-Signature:Mime-Version:Date:Message-Id:Subject:To:From;\n b=HLDLuWO8f9gy+MQeEu6tfju2Y+gXxT4SIS6biUg7ASikqrrUlRRUQMOuUazHTFsgi0Rqeg570VVayhyFQgIfvyclMRDb/XKGzlw8Me5onEsEQQ1Uq5viexGMdUsU+zgxjzWDNclHsNGKmR9SOxRLR7n8byu38PcLZKJo3oIU238=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776156379; x=1776761179; darn=gcc.gnu.org;\n h=in-reply-to:references:from:to:cc:subject:message-id:date\n :content-transfer-encoding:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=86BN7JPfI5GdmAfAE2hjfvqD3AXOZb7HpOlXr5GD324=;\n b=QcIFoXjr+5Fps/EOv1EJVxs5NmEBxS9WrKu3GxJDWlHr8/i5C1VN8S1OJpFd56T0Pb\n eJxXFLHyR1pXvEQQRlyYFwrfZ0GaJ1kvigd0DkdTlfYcDArG3CRi+iSeA18QAPxL+nnz\n 1mSStINBBCvbRbChF7LcdJrRkQ89um8eKQhSZHeRehUVjhGLSMumyPACcD4b3rFEUQEx\n GLVn/po+QhCqH/dYn/nW7ZY7KmKlL0A974DBi76ntPX+OyD85qX+tXkiXa67eXglSNuR\n 372yYmOYZqBykSfvG2KovjtC/3q7rwVZ3v+L/Bn32u5sw2nsCrTfD7bWdzI1Xk5c2HqI\n iOPg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776156379; x=1776761179;\n h=in-reply-to:references:from:to:cc:subject:message-id:date\n :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state\n :from:to:cc:subject:date:message-id:reply-to;\n bh=86BN7JPfI5GdmAfAE2hjfvqD3AXOZb7HpOlXr5GD324=;\n b=dqCXOrj6u//WNfJONQp/MnNeMIxFug4uD9XsY6Gb731iAFUZ/gF6IRR55Sod9jxcDD\n E6qzu1Gly6CEUBjySYFlVoWDS3ZwaCuuHc9RlWqW98mSp1hXJcW5p/3G4UG/h4BJQrnM\n 0dT7tvBAEbse5Er5PXtoEaGnQNLNpXKkzT69fEgdnsb5JtkwmbIPp1g5YtIK8reBOsQ9\n e9T7j7lM0uKS8ZMDmv2AuLglIa+kixyC1EKCdDN/XqQsvBfatFcrNtnof/Q9g0x6Q919\n Kf90Ya5qevD4ZX+gRnEUhAXD0jhM0q0j3yKnGKb5j4bhVTvgOgQYKdXHS0fcNBqxjw4c\n Ecjg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+e40s+HiiDpwmD1DJz+OCJsriDqY5vk18CqdcedXlaamoP+I8hbKffi4Fx25kxMcfGgqkzhffDJLtU0A==@gcc.gnu.org","X-Gm-Message-State":"AOJu0YwiDk47It42HJXETYg/9ecF7cCRDJuT9Xl54Tkh9q9QSh1SqclF\n m5d6wUU1j9zdvZPUVPGVLKqsua3kAHxuQBuM84op2YZuVLJumZphZDDOYuGWZQ==","X-Gm-Gg":"AeBDiesQXmaeppuv49y0Ky/JZUy31fdek9YCHlba7nLKwYrUq+Ol1UW/YhmRVXhqKnl\n lxMtcuyVJz+5OPufDo0KslUF4/bsr7pJh9jSCEw2KRW4cNtlEtYUcubQ4iRsj7cgpdrbpHPoVPS\n kio4rWkTGMSGVQ6wAs//XHSYyrGEI+HSZnEZ+4S0Eao50rqUCvdbacGNwhKWWNLbz8GSWwxVstd\n ZvBZL6BLcVF5ALPZrNRQ8vpUZvrlQyb5168h+kEFzh1WyoHsAKQ9lUXaWdav5CSn96qS9MaUqeW\n d2r6y8Ga5manW509K2zy60GlCimdvD9uZcEOxIdvvftO1wZxPbh1kW3hDCVimAl4Gw7veclSFrf\n HJOtil+exZKKNiK4Od/zaTb52dSAObtWRw2k24zCMAyRQqUG6fB+hXKRidKZ36DPm8rD0FOLT15\n XRCwULyM9qX0Twgsge8c8Ek1bOLbbC2cKfeut7prLhF9N8n3MxSoSUoAhnRXcGE21tXPE9","X-Received":"by 2002:a5d:64e4:0:b0:43e:a638:250f with SMTP id\n ffacd0b85a97d-43ea638264cmr2306309f8f.1.1776156378811;\n Tue, 14 Apr 2026 01:46:18 -0700 (PDT)","Mime-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","Content-Type":"text/plain; charset=UTF-8","Date":"Tue, 14 Apr 2026 10:46:17 +0200","Message-Id":"<DHSQVZJOTCG8.204E5IMP58OQN@gmail.com>","Subject":"Re: [PATCH] RISC-V: Make tuple vector not tieable to some modes.","Cc":"\"Robin Dapp\" <rdapp.gcc@gmail.com>","To":"\"wangzicong\" <wangzicong@masscore.cn>, <gcc-patches@gcc.gnu.org>","From":"\"Robin Dapp\" <rdapp.gcc@gmail.com>","References":"<20260414082141.763453-1-wangzicong@masscore.cn>","In-Reply-To":"<20260414082141.763453-1-wangzicong@masscore.cn>","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}},{"id":3677447,"web_url":"http://patchwork.ozlabs.org/comment/3677447/","msgid":"<006b01dccc8b$18ea9720$4abfc560$@masscore.cn>","list_archive_url":null,"date":"2026-04-15T03:51:09","subject":"RE: [PATCH] RISC-V: Make tuple vector not tieable to some modes.","submitter":{"id":93140,"url":"http://patchwork.ozlabs.org/api/people/93140/","name":"wangzicong","email":"wangzicong@masscore.cn"},"content":"Thanks Robin.\n\n> This is missing a \"target\", i.e. PR target/124448.\n\nOK.\n\n> I wonder if we gain something from making similar inner modes tieable, i.e.\n> RVVMF2x4HI and RVVMF4HI?  Did you observe cases where this helps?\n> \n> Put differently, are there cases you want to handle that\n> \n>   if (riscv_tuple_mode_p (mode1) != riscv_tuple_mode_p (mode2))\n>     return false;\n> \n> does not catch?\n\nActually no other case. I just wonder with the same inner mode it may \nnot hurt. Maybe we should do as you suggest until we find a case.\n\n> > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> > @@ -0,0 +1,37 @@\n> > +/* { dg-do compile } */\n> > +/* { dg-options \"-march=rv64gcv_zvl128b -O3 -mrvv-vector-bits=zvl\" } */\n> \n> Here you also need -mabi=lp64d for multilib settings.\n> \n> > +/* { dg-skip-if \"\" { *-*-* } { \"-O0\" \"-O1\" \"-O2\" \"-Os\" \"-Og\" \"-Oz\" } } */\n> \n> I don't think this is necessary when you specify -O3 directly.\n> \n> \n> > +#include <stdint-gcc.h>\n> \n> You could just use a\n>  typedef short int16_t;\n> instead of the include.\n> \n> > +/* { dg-final { scan-assembler-times {vsetivli} 1 } } */\n> > +/* { dg-final { scan-assembler-not {vslidedown\\.vi} } } */\n> \n> How about something like\n> /* { dg-final { scan-rtl-dump-not \"(subreg:RVVM2DI (reg:RVVMF2x4HI\"\n> \"vregs\" } } */\n> on top, for a more targeted check?\n\nOK. Thanks.\n\nZicong\n\n> -----Original Message-----\n> From: Robin Dapp <rdapp.gcc@gmail.com>\n> Sent: 2026年4月14日 16:46\n> To: wangzicong <wangzicong@masscore.cn>; gcc-patches@gcc.gnu.org\n> Cc: Robin Dapp <rdapp.gcc@gmail.com>\n> Subject: Re: [PATCH] RISC-V: Make tuple vector not tieable to some modes.\n> \n> Hi Zicong,\n> \n> Thanks for tackling this.\n> \n> >         PR 124448\n> \n> This is missing a \"target\", i.e. PR target/124448.\n> \n> > --- a/gcc/config/riscv/riscv.cc\n> > +++ b/gcc/config/riscv/riscv.cc\n> > @@ -10897,6 +10897,31 @@ riscv_modes_tieable_p (machine_mode\n> mode1, machine_mode mode2)\n> >       E.g. V2SI and DI are not tieable.  */\n> >    if (riscv_vector_mode_p (mode1) != riscv_vector_mode_p (mode2))\n> >      return false;\n> > +\n> > +  /* We don't allow tuple vector modes to be tied to any vector mode\n> > +     that has different inner mode.  It may cause unnecessary type\n> > +     conversions.\n> > +     E.g.  RVVMF2x4HI and RVVM2DI are not tieable.  */\n> > +  if (riscv_tuple_mode_p (mode1) || riscv_tuple_mode_p (mode2))\n> > +  {\n> > +    machine_mode subpart_mode1, subpart_mode2;\n> > +    if (riscv_tuple_mode_p (mode1))\n> > +    {\n> > +      subpart_mode1 = riscv_vector::get_subpart_mode (mode1);\n> > +      subpart_mode1 = GET_MODE_INNER (subpart_mode1);\n> > +    }\n> > +    else\n> > +      subpart_mode1 = GET_MODE_INNER (mode1);\n> > +    if (riscv_tuple_mode_p (mode2))\n> > +    {\n> > +      subpart_mode2 = riscv_vector::get_subpart_mode (mode2);\n> > +      subpart_mode2 = GET_MODE_INNER (subpart_mode2);\n> > +    }\n> > +    else\n> > +      subpart_mode2 = GET_MODE_INNER (mode2);\n> > +    if (subpart_mode1 != subpart_mode2)\n> > +      return false;\n> > +  }\n> \n> I wonder if we gain something from making similar inner modes tieable, i.e.\n> RVVMF2x4HI and RVVMF4HI?  Did you observe cases where this helps?\n> \n> Put differently, are there cases you want to handle that\n> \n>   if (riscv_tuple_mode_p (mode1) != riscv_tuple_mode_p (mode2))\n>     return false;\n> \n> does not catch?\n> \n> >    return (mode1 == mode2\n> >  \t  || !(GET_MODE_CLASS (mode1) == MODE_FLOAT\n> >  \t       && GET_MODE_CLASS (mode2) == MODE_FLOAT));\n> > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> > new file mode 100644\n> > index 00000000000..fd74c509849\n> > --- /dev/null\n> > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr124448.c\n> > @@ -0,0 +1,37 @@\n> > +/* { dg-do compile } */\n> > +/* { dg-options \"-march=rv64gcv_zvl128b -O3 -mrvv-vector-bits=zvl\" } */\n> \n> Here you also need -mabi=lp64d for multilib settings.\n> \n> > +/* { dg-skip-if \"\" { *-*-* } { \"-O0\" \"-O1\" \"-O2\" \"-Os\" \"-Og\" \"-Oz\" } } */\n> \n> I don't think this is necessary when you specify -O3 directly.\n> \n> \n> > +#include <stdint-gcc.h>\n> \n> You could just use a\n>  typedef short int16_t;\n> instead of the include.\n> \n> > +/* { dg-final { scan-assembler-times {vsetivli} 1 } } */\n> > +/* { dg-final { scan-assembler-not {vslidedown\\.vi} } } */\n> \n> How about something like\n> /* { dg-final { scan-rtl-dump-not \"(subreg:RVVM2DI (reg:RVVMF2x4HI\"\n> \"vregs\" } } */\n> on top, for a more targeted check?\n> \n> --\n> Regards\n>  Robin","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n dmarc=none (p=none dis=none) header.from=masscore.cn","sourceware.org; spf=none smtp.mailfrom=masscore.cn","server2.sourceware.org;\n arc=none smtp.remote-ip=159.226.251.21"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwRzz60gQz1yHM\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 13:52:30 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 1CD384BA2E0D\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 03:52:27 +0000 (GMT)","from cstnet.cn (smtp21.cstnet.cn [159.226.251.21])\n by sourceware.org (Postfix) with ESMTPS id 1FC7F4BA2E06\n for <gcc-patches@gcc.gnu.org>; Wed, 15 Apr 2026 03:51:31 +0000 (GMT)","from BJDFX1M34 (unknown [223.223.180.34])\n by APP-01 (Coremail) with SMTP id qwCowACHMGw+C99ptsg5DQ--.1470S2;\n Wed, 15 Apr 2026 11:51:26 +0800 (CST)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 1CD384BA2E0D","OpenDKIM Filter v2.11.0 sourceware.org 1FC7F4BA2E06"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 1FC7F4BA2E06","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 1FC7F4BA2E06","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776225093; cv=none;\n b=EHs0OBvp1fUD7P8DuJ7BWq9kwnsdyawdjNdMkbiVEPgz6s0wA94wNkUL8eX5woCVG58/2Isa6B5BmFGLwWvHzG+mPxqcGLxXtQy0BhFJzQeEaQHntBJ94YuR5FqzfzM6uHVZ1Y/49fHm5rjtoaTaHmgY7U+34zVIJ85nwi3NCHg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776225093; c=relaxed/simple;\n bh=sFt9O2Cmuei6H6eAagMnbIppONLbOaxurRzCthJG/6s=;\n h=From:To:Subject:Date:Message-ID:MIME-Version;\n b=f9Tbmf8ZFHF6RjrOM30txGndoXyfTRMOlrIeHx0mKjxc0or91kHxnNzhTYhSlMhM8a2znNl0/ZGd1/30XsFkAONU4loPVFw1yf+C6IaXx1uzOcbMPgNbdAAEpfm2d4m321jhNCbtTjk/2Tc54HZgrbC8rZid6XDAWJJhTyaQTtQ=","ARC-Authentication-Results":"i=1; server2.sourceware.org","From":"<wangzicong@masscore.cn>","To":"\"'Robin Dapp'\" <rdapp.gcc@gmail.com>,\n\t<gcc-patches@gcc.gnu.org>","References":"<20260414082141.763453-1-wangzicong@masscore.cn>\n <DHSQVZJOTCG8.204E5IMP58OQN@gmail.com>","In-Reply-To":"<DHSQVZJOTCG8.204E5IMP58OQN@gmail.com>","Subject":"RE: [PATCH] RISC-V: Make tuple vector not tieable to some modes.","Date":"Wed, 15 Apr 2026 11:51:09 +0800","Message-ID":"<006b01dccc8b$18ea9720$4abfc560$@masscore.cn>","MIME-Version":"1.0","Content-Type":"text/plain;\n\tcharset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-Mailer":"Microsoft Outlook 16.0","Thread-Index":"AQH4WyR48/RLcevs26vz9E4RKPhrFwFj5Qf6tZ0+JeA=","Content-Language":"zh-cn","X-CM-TRANSID":"qwCowACHMGw+C99ptsg5DQ--.1470S2","X-Coremail-Antispam":"1UD129KBjvJXoWxGr4kuF4xur13tryUuF4rKrg_yoWrCw1rpF\n srGa1IyFsrAa97tFn2gryfJr18Z3y8Krn8Gwn8XrWjk3ZY9rZ2qFWqgw4fGa43tFn5CF9F\n vw4UuFnxZ3s8XaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n 9KBjDU0xBIdaVrnRJUUUkYb7Iv0xC_KF4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2\n 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw\n A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xII\n jxv20xvEc7CjxVAFwI0_Jr0_Gr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4\n A2jsIEc7CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC\n 0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Gr0_Cr\n 1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4kE6xkIj40Ew7xC0wCF04k2\n 0xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI\n 8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41l\n IxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIx\n AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2\n jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8X18DUUUUU==","X-Originating-IP":"[223.223.180.34]","X-CM-SenderInfo":"pzdqw6xlfr0w46pd22pfruvhdfq/","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}}]