Received: by 2002:a05:6a10:eb17:0:0:0:0 with SMTP id hx23csp726477pxb; Wed, 8 Sep 2021 10:50:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQfzV3P05Lct3qnY6ynxtCgnVPfhChBK3o4/G418BxIgPvkEH7RUg2OlWsbzl8z+D0AiYF X-Received: by 2002:a6b:905:: with SMTP id t5mr884674ioi.209.1631123433365; Wed, 08 Sep 2021 10:50:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631123433; cv=none; d=google.com; s=arc-20160816; b=KFSiyFerNOoN4Qm7/J+BvgrS/mJIhgofVGvLKWoiQUcuwoDa0n66mmY65DM9IfTgva TElSlZnA5Q0G2H1C+MuVNtjiwI3wlX6l2PXSkmAL5r0Ocwxqji0KFCublVzxC6s2epIv YF8FbFyCobZmm7OKB7awymH/NMfyBD7h83by4vWf2YhYYSY1oY+TZi0tP1JLbCU9qBPm zXi0Qf7n618BWt2Rjp5X6IDBDnBsWu8y2Jb9+c8sbZLyjaafUKJwQSMZY5Zkyb65xuOG JONigbdauYazdpdThlInRlTRoI68T1zHuItOwdH/YTBrVg1cFoWokpC5nHJ/JsgrUYoN 4pkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=lvYFnpE+vcL+5OVNgIPvCGE7jHqR7WMR9PRIiy6pwGg=; b=r3IZgfeUZfp/tF9ntu9u0PVI+9fqyZ/do7TE3YJdgzdUjONKiwthE0nfsrnGMeVipk LOArRtR+/pwm8SnMXgbg+j+BmNVx8xu5pLxYWPFlnw2zJXsfuAmA/wlBfI0mxd0czBTM PCailNjUZNTr7d5DSzYeWstTvfj6lpXq8sVYr8N/F6sOPC3LNMmBCUezeANKYbMiB/DF KkbipkFbm824HxDNDAQvDruhMT38uFV7Hpkcz92rPoYH+XwLMu+tPnKP5BCiJsKiI6y+ ZnP4gT69XR42TJ0xaN+spGofZ7yxjJvXD6xERhpZeNfbIKpLl1XiIQV8DR71NzrDpsqV VitQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=dfZBRHf2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g6si3019418ilq.52.2021.09.08.10.50.21; Wed, 08 Sep 2021 10:50:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=dfZBRHf2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352640AbhIHRsA (ORCPT + 99 others); Wed, 8 Sep 2021 13:48:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352552AbhIHRr1 (ORCPT ); Wed, 8 Sep 2021 13:47:27 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3E93C061226 for ; Wed, 8 Sep 2021 10:46:07 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id c6so2237201pjv.1 for ; Wed, 08 Sep 2021 10:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=lvYFnpE+vcL+5OVNgIPvCGE7jHqR7WMR9PRIiy6pwGg=; b=dfZBRHf2wrBry4B+KYNGRzOMYSdhwtCugDbMgPPWb+TUptqwNpbB9cDoPmb3Bj/rfz reRAK7l9gceD5ghZEnr/xwHqGN+iD7PxQHiGdvkTP/HG2TkMChvO89QCo3eBxaYG3p09 lLM4KtdDUVIXSvLV1IAyZclec0IG5enKGS3U0RLCT2TzCAaPbSztpqSzrA8l3Xj8BAS0 gDOcNuHjACo8RfFHoRi8Kvp8Nb/VZqpyG+hDAkCFNHhfdXOgSuD8FfcyPiKN0twBfA/1 q00wQyzYAeYsGE3mUOBcLvNBVVGXJFR1iBXBG/O1cjkOWVYLSkOXnmTO0yk5r7sGWfKn LukQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lvYFnpE+vcL+5OVNgIPvCGE7jHqR7WMR9PRIiy6pwGg=; b=4M5hyI+wLtP0ywqfFoljEdt3p9CpVmNVDfGo1zAffVq/qd87KmJjiw498ag9MvkY2y mkxW3aLkHu6m+Qbj5iKdaQZq6866VSARAGc/5K1bPfERxFJjyMOJ/sB5E+3lITwCNAq3 Bka3rs2dSfUrvZXulkotL8a7r2caDm+1eI0sZSyUPNzKEljcW3xBMbzJSoK+wvmprPXj lWPgaO0rLQ4LL9QtrRv5r87DbeqxKFfnHxugeLplmWmhrxavr/o+StQaCOjkE74jIPGq +ZEk03KfpUjiRHB520xNZyQl9WLecCh/HptVg4nJaP9BIloHyvyeiq6OU5upFky0ZHqh gorw== X-Gm-Message-State: AOAM531eqoy0mUjFs9NwI11zn+aSJxq9cx9FzV8QDHch8dnR5VaQ1Cnz rXNuSPmJ40n7QF0zF8DRkmNSlMFmiILCNw== X-Received: by 2002:a17:902:bf43:b0:13a:ae0:9dee with SMTP id u3-20020a170902bf4300b0013a0ae09deemr4063860pls.62.1631123167173; Wed, 08 Sep 2021 10:46:07 -0700 (PDT) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id b5sm3108466pfr.26.2021.09.08.10.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 10:46:06 -0700 (PDT) From: Greentime Hu To: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, aou@eecs.berkeley.edu, palmer@dabbelt.com, paul.walmsley@sifive.com, vincent.chen@sifive.com Subject: [RFC PATCH v8 20/21] riscv: Optimize task switch codes of vector Date: Thu, 9 Sep 2021 01:45:32 +0800 Message-Id: <3b2d4ff556d310ed73a6910b89566a195fc28861.1631121222.git.greentime.hu@sifive.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch replacees 2 instructions with 1 instruction to do the same thing . rs1=x0 with rd != x0 is a special form of the instruction that sets vl to MAXVL. Suggested-by: Andrew Waterman Co-developed-by: Vincent Chen Signed-off-by: Vincent Chen Signed-off-by: Greentime Hu --- arch/riscv/kernel/vector.S | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/riscv/kernel/vector.S b/arch/riscv/kernel/vector.S index 4f0c5a166e4e..f7223c81b11a 100644 --- a/arch/riscv/kernel/vector.S +++ b/arch/riscv/kernel/vector.S @@ -27,8 +27,7 @@ #define x_vl t2 #define x_vcsr t3 #define incr t4 -#define m_one t5 -#define status t6 +#define status t5 ENTRY(__vstate_save) li status, SR_VS @@ -38,8 +37,7 @@ ENTRY(__vstate_save) csrr x_vtype, CSR_VTYPE csrr x_vl, CSR_VL csrr x_vcsr, CSR_VCSR - li m_one, -1 - vsetvli incr, m_one, e8, m8 + vsetvli incr, x0, e8, m8 vse8.v v0, (datap) add datap, datap, incr vse8.v v8, (datap) @@ -61,8 +59,7 @@ ENTRY(__vstate_restore) li status, SR_VS csrs CSR_STATUS, status - li m_one, -1 - vsetvli incr, m_one, e8, m8 + vsetvli incr, x0, e8, m8 vle8.v v0, (datap) add datap, datap, incr vle8.v v8, (datap) -- 2.31.1