From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [IPv6:2001:470:683e::1]) by sourceware.org (Postfix) with ESMTPS id 7DF953857C55 for ; Fri, 30 Jun 2023 06:38:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7DF953857C55 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1688107110; bh=UNKxKu754/Q+/6qNM744BgJQh2Lrj7OWyXILGck5BnU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=K/WpufVoaQQORunk3t0fKlPLoWa6Kv4fb0xwF064wEw4+FIv2UaBDlIyGBzL3afZu r626M7yBHlEOOWc3CtajvrFwTvf6U2zsuRUu5bE6079Mx7R26UcgcD4QILzIWa77l4 iw/DiI1F/JQE/fTUKeKiLewJvRWSklqnPsuuhJLc= Received: from [IPv6:240e:358:110d:a200:dc73:854d:832e:4] (unknown [IPv6:240e:358:110d:a200:dc73:854d:832e:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384)) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 242A065AAB; Fri, 30 Jun 2023 02:38:26 -0400 (EDT) Message-ID: Subject: Re: [PATCH v1 2/6] LoongArch: Added Loongson SX base instruction support. From: Xi Ruoyao To: Chenghui Pan , gcc-patches@gcc.gnu.org Cc: i@xen0n.name, chenglulu@loongson.cn, xuchenghua@loongson.cn Date: Fri, 30 Jun 2023 14:38:20 +0800 In-Reply-To: <20230630021614.57201-3-panchenghui@loongson.cn> References: <20230630021614.57201-1-panchenghui@loongson.cn> <20230630021614.57201-3-panchenghui@loongson.cn> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.3 MIME-Version: 1.0 X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,LIKELY_SPAM_FROM,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, 2023-06-30 at 10:16 +0800, Chenghui Pan wrote: > =C2=A0 > +=C2=A0 int use_vecarg_p =3D TARGET_VECARG > +=C2=A0=C2=A0=C2=A0 && LSX_SUPPORTED_MODE_P (mode); > + > =C2=A0=C2=A0 memset (info, 0, sizeof (*info)); > =C2=A0=C2=A0 info->gpr_offset =3D cum->num_gprs; > =C2=A0=C2=A0 info->fpr_offset =3D cum->num_fprs; > @@ -535,7 +546,7 @@ loongarch_get_arg_info (struct loongarch_arg_info *in= fo, > =C2=A0 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Pass one- or two-element floating= -point aggregates in FPRs.=C2=A0 */ > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ((info->num_fprs > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D loongarch_pas= s_aggregate_num_fpr (type, fields)) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D loongarch_pas= s_aggregate_num_fpr (type, fields, use_vecarg_p)) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 && info->fpr_offse= t + info->num_fprs <=3D MAX_ARGS_IN_REGISTERS) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0switch (info->num_fprs) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { No, this is breaking ABI. use_vecarg_p can be only set if we invent a new ABI (it won't be LP64D anymore), or we add some special switch for it (like x86's -msseregparm and sseregparm attribute). --=20 Xi Ruoyao School of Aerospace Science and Technology, Xidian University