From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by sourceware.org (Postfix) with ESMTPS id 1FBEC3858CDA for ; Mon, 29 Jan 2024 13:22:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1FBEC3858CDA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1FBEC3858CDA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::12f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706534573; cv=none; b=BLZh5uVNghbkFONlzWp0cdHX7fE3uSSUN5ge1JEn5KaJmceJoFcmnjzUD4kgE6tqBQzi3I0m4vlGU2CQPIOTQoiRN8fLczaPuwAnBaN4bilFmgq5bjQ9pLbk8G4OfpcvfQRJLJi9ty5XTIBjJDnOjw5SrLpVV35d/A7chYsdpSs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706534573; c=relaxed/simple; bh=b1UZp4KMXbIhlM0v5ahljBzRjHVhw3oI18xb2FRFbLg=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=NjArTQwjRF4AzQ2z4N8SaPn+vi4VrMgFVYqzKt20ofCtUyAGtUuaByYDOD+m4MSuwzSl35+Rikj9yELdckxoUOC8i4tajBXjx+3GTtN2F6c1dHV3PAt9vZr6zcwRE120waFF7ENBo4/wi2TURiBqm5+aXoNABJ+HCn7yBVVbfD0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-51111e57a66so691926e87.3 for ; Mon, 29 Jan 2024 05:22:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706534569; x=1707139369; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=VgXCpLIsDJQX5nKWNEuWNN4neuYKOffkkxuhs6gHC68=; b=U/G+IdGpLKkFfVnv1NNu4nKiciSJSVznlT/+f7OYdSx90BojfxuhfrwZTpfLYgfw/+ L3DI0z+T0JCYpTiaDX/dg2bKNbFrmsgeaH3GCQy0Y+AUBjBe4pcujg89hBGdnCw8lt0A c38GUxEH4AIU2O2BjCyTvEbtygHQWiw8Nmf7o2MMQJbA1DRippvq/01CgPaAu3mfDkFx AS8qeizjbrHNr/sLaOZCrys37NgcH3pJP/9R8IVIMsFpZzA2yIk5V+bthvkeujj7taB/ n3q600rrggMLaTuF0J+dv1pA2i1n3Dzf7DuTACzv45U3pcg/Lh/SU3G6BtLG/NuSJz0R bNXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706534569; x=1707139369; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=VgXCpLIsDJQX5nKWNEuWNN4neuYKOffkkxuhs6gHC68=; b=aO0apk8mgmlwVhGUP/kTyLs784W4m3hJWGAiTB+oszG586+ASaV0LxeZnb7xRPAk5a JlXfFQiTwpDlPDP7d4c9bTDWAZzg68Bi9sCUIZyv2G/ptbE6sNL/Q+3j+naT5zVNdl4F 85uN/cW7XkX8KS8h5LkS2i8b8DUbfQUC1ea6tcNpFuJDpF0eDO0qUZLgJn+wHj0u7/FP E1vzZjI9zfcQWQtB0EJqtYUZWFGjn3+yK71FHJn0CR9MwRQokX0lUyoqmDLM/mmd8eVW dNa+GS4+ioVx93tYAqIAAdbK0UPIAiSmvBRFRv79i32+Z8jOhNCGondl0GERq42uWaF+ JYZQ== X-Gm-Message-State: AOJu0YyHCFDQWqOiCXnE58y92Dbfa7PUDf2/ipybYr96cv65fQ/mZTC1 5lN3nwOmISEZEmW7qxsALtnodwgfAx1VczanT5eQXLJ3vXeB19C8VH73swkoOz5tPeSP9PCShiE bz6J2cN93SgoRkvv3U+hd7B/ghm3tGDXQk2l/BQ== X-Google-Smtp-Source: AGHT+IEeXK31HJ/WIPC9xA94ducplSyL1Xmr8pOTaBeoc6AGmPMtm2NCiYkfrV28txXKLLlujkLCh5jcUsHwcqnRiUE= X-Received: by 2002:a05:6512:ea6:b0:50f:de3:d042 with SMTP id bi38-20020a0565120ea600b0050f0de3d042mr4150046lfb.19.1706534569317; Mon, 29 Jan 2024 05:22:49 -0800 (PST) MIME-Version: 1.0 References: <20240124031601.2030670-1-pan2.li@intel.com> In-Reply-To: <20240124031601.2030670-1-pan2.li@intel.com> From: Kito Cheng Date: Mon, 29 Jan 2024 21:22:37 +0800 Message-ID: Subject: Re: [PATCH v1] RISC-V: Bugfix for vls integer mode calling convention To: pan2.li@intel.com Cc: gcc-patches@gcc.gnu.org, juzhe.zhong@rivai.ai, yanzhang.wang@intel.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > @@ -4868,6 +4968,63 @@ riscv_pass_fpr_pair (machine_mode mode, unsigned regno1, > GEN_INT (offset2)))); > } > > +static rtx > +riscv_pass_vls_aggregate_in_gpr_or_fpr (struct riscv_arg_info *info, > + machine_mode mode, unsigned gpr_base, > + unsigned fpr_base) Tried a few more clang and GCC code gen and I found VLS vector is always passed in GPR, and never passed in FPR, so I think I should update psABI rather than fix that on GCC side. > @@ -4997,9 +5170,7 @@ riscv_get_arg_info (struct riscv_arg_info *info, const CUMULATIVE_ARGS *cum, > info->gpr_offset = cum->num_gprs; > info->fpr_offset = cum->num_fprs; > > - /* When disable vector_abi or scalable vector argument is anonymous, this > - argument is passed by reference. */ > - if (riscv_v_ext_mode_p (mode) && (!riscv_vector_abi || !named)) > + if (riscv_mode_pass_by_reference_p (mode, named)) Keep as it is fine since riscv_vector_abi is gone. > return NULL_RTX; > > if (named)