From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 68C6D3858D20 for ; Fri, 31 Mar 2023 05:11:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 68C6D3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680239492; x=1711775492; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=htf7jqFqQnZJkJjPi6hyJKa3eG9PivM3/juf95c8V8w=; b=CEDTFZK8CyaydkPEwL2GUK0D6VBtFHnnO/5pa6OR2EVIvEmEYvWjGa0r 8mHX/7OXNKUM8IwQLzjV51lN37nOCvExni5fDD8ZAAo7MKb8xHC2D+74f hYz7H/sd3fIM1VkQXKjHInioGqV5NJZNI/v0C9J+F5mg5EqERBIyoc/9z GhPGtvg2zg02ScL6X/syWOgcb/A4qv83fO3DPsKsauUsILQ9fa0liQvPa vVcm/9933RgIkYhVx7ynmESX5ksreHpFyHi5ziD7C69/PcaJXuHQyDgxg 90yAGezkhcNp1TTIvo+eg45d/X7tIa9B8yOO35/gDrr6v+1/kCTkzp7gc w==; X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="406369138" X-IronPort-AV: E=Sophos;i="5.98,306,1673942400"; d="scan'208";a="406369138" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2023 22:11:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="635163358" X-IronPort-AV: E=Sophos;i="5.98,306,1673942400"; d="scan'208";a="635163358" Received: from shvmail03.sh.intel.com ([10.239.245.20]) by orsmga003.jf.intel.com with ESMTP; 30 Mar 2023 22:11:30 -0700 Received: from shliclel4217.sh.intel.com (shliclel4217.sh.intel.com [10.239.240.127]) by shvmail03.sh.intel.com (Postfix) with ESMTP id 5BEFE1005170; Fri, 31 Mar 2023 13:11:29 +0800 (CST) From: liuhongt To: gcc-patches@gcc.gnu.org Cc: crazylht@gmail.com, hjl.tools@gmail.com, ubizjak@gmail.com Subject: [PATCH] Adjust memory_move_cost for MASK_REGS when MODE_SIZE > 8. Date: Fri, 31 Mar 2023 13:11:29 +0800 Message-Id: <20230331051129.2691249-1-hongtao.liu@intel.com> X-Mailer: git-send-email 2.39.1.388.g2fc9e9ca3c MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP 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: RA sometimes will use lowest the cost of the mode with all different regclasses w/o check if it's hard_regno_mode_ok. It's impossible to put modes whose size > 8 into MASK_REGS, ajdust the cost to avoid potential performance issue. Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. Ok for trunk? gcc/ChangeLog: * config/i386/i386.cc (inline_memory_move_cost): Return 100 for MASK_REGS when MODE_SIZE > 8. --- gcc/config/i386/i386.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index 2cc8e9548a9..2581b800a06 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -19847,9 +19847,12 @@ inline_memory_move_cost (machine_mode mode, enum reg_class regclass, int in) index = 1; break; /* DImode loads and stores assumed to cost the same as SImode. */ - default: + case 4: + case 8: index = 2; break; + default: + return 100; } if (in == 2) -- 2.39.1.388.g2fc9e9ca3c