From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 41B293851C05 for ; Mon, 1 Jun 2020 11:35:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 41B293851C05 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mliska@suse.cz X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D894CAF0E; Mon, 1 Jun 2020 11:35:54 +0000 (UTC) From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Subject: [PATCH 1/2] Re-format zen memcpy/memset costs. To: gcc-patches@gcc.gnu.org Cc: amonakov@ispras.ru, ubizjak@gmail.com Message-ID: <1eeb3e1b-8d31-a001-8bff-333e1d3f7e91@suse.cz> Date: Mon, 1 Jun 2020 13:35:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-15.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2020 11:35:55 -0000 The patch improves readability of the memcpy and memset expansion strategies. gcc/ChangeLog: * config/i386/x86-tune-costs.h: Change code formatting. --- gcc/config/i386/x86-tune-costs.h | 38 +++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h index c73917e5a62..1169178433f 100644 --- a/gcc/config/i386/x86-tune-costs.h +++ b/gcc/config/i386/x86-tune-costs.h @@ -1311,14 +1311,23 @@ const struct processor_costs bdver_cost = { very small blocks it is better to use loop. For large blocks, libcall can do nontemporary accesses and beat inline considerably. */ static stringop_algs znver1_memcpy[2] = { - {libcall, {{6, loop, false}, {14, unrolled_loop, false}, + /* 32-bit tuning. */ + {libcall, {{6, loop, false}, + {14, unrolled_loop, false}, {-1, rep_prefix_4_byte, false}}}, - {libcall, {{16, loop, false}, {8192, rep_prefix_8_byte, false}, + /* 64-bit tuning. */ + {libcall, {{16, loop, false}, + {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; static stringop_algs znver1_memset[2] = { - {libcall, {{8, loop, false}, {24, unrolled_loop, false}, - {2048, rep_prefix_4_byte, false}, {-1, libcall, false}}}, - {libcall, {{48, unrolled_loop, false}, {8192, rep_prefix_8_byte, false}, + /* 32-bit tuning. */ + {libcall, {{8, loop, false}, + {24, unrolled_loop, false}, + {2048, rep_prefix_4_byte, false}, + {-1, libcall, false}}}, + /* 64-bit tuning. */ + {libcall, {{48, unrolled_loop, false}, + {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; struct processor_costs znver1_cost = { { @@ -1448,14 +1457,23 @@ struct processor_costs znver1_cost = { very small blocks it is better to use loop. For large blocks, libcall can do nontemporary accesses and beat inline considerably. */ static stringop_algs znver2_memcpy[2] = { - {libcall, {{6, loop, false}, {14, unrolled_loop, false}, + /* 32-bit tuning. */ + {libcall, {{6, loop, false}, + {14, unrolled_loop, false}, {-1, rep_prefix_4_byte, false}}}, - {libcall, {{16, loop, false}, {64, rep_prefix_4_byte, false}, + /* 64-bit tuning. */ + {libcall, {{16, loop, false}, + {64, rep_prefix_4_byte, false}, {-1, libcall, false}}}}; static stringop_algs znver2_memset[2] = { - {libcall, {{8, loop, false}, {24, unrolled_loop, false}, - {2048, rep_prefix_4_byte, false}, {-1, libcall, false}}}, - {libcall, {{24, rep_prefix_4_byte, false}, {128, rep_prefix_8_byte, false}, + /* 32-bit tuning. */ + {libcall, {{8, loop, false}, + {24, unrolled_loop, false}, + {2048, rep_prefix_4_byte, false} + {-1, libcall, false}}}, + /* 64-bit tuning. */ + {libcall, {{24, rep_prefix_4_byte, false}, + {128, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; struct processor_costs znver2_cost = { -- 2.26.2