public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 2/2] Tune memcpy and memset for Zen cores.
       [not found] <14a4b217982dea474bd8927ea8b58bc6b7b116bc.1591011331.git.mliska@suse.cz>
@ 2020-06-01 11:35 ` Martin Liška
  2020-06-01 11:40   ` Martin Liška
  2020-07-29 15:44   ` Jan Hubicka
  0 siblings, 2 replies; 6+ messages in thread
From: Martin Liška @ 2020-06-01 11:35 UTC (permalink / raw)
  To: gcc-patches; +Cc: amonakov, ubizjak

Based on the collected numbers in PR95435, I suggest the following
tuning changes:

gcc/ChangeLog:

	PR target/95435
	* config/i386/x86-tune-costs.h: Use libcall for large sizes for
	-m32. Start using libcall from 128+ bytes.
---
  gcc/config/i386/x86-tune-costs.h | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h
index 1169178433f..3207404e514 100644
--- a/gcc/config/i386/x86-tune-costs.h
+++ b/gcc/config/i386/x86-tune-costs.h
@@ -1314,20 +1314,20 @@ static stringop_algs znver1_memcpy[2] = {
    /* 32-bit tuning.  */
    {libcall, {{6, loop, false},
  	     {14, unrolled_loop, false},
-	     {-1, rep_prefix_4_byte, false}}},
+	     {-1, libcall, false}}},
    /* 64-bit tuning.  */
    {libcall, {{16, loop, false},
-	     {8192, rep_prefix_8_byte, false},
+	     {128, rep_prefix_8_byte, false},
  	     {-1, libcall, false}}}};
  static stringop_algs znver1_memset[2] = {
    /* 32-bit tuning.  */
    {libcall, {{8, loop, false},
  	     {24, unrolled_loop, false},
-	     {2048, rep_prefix_4_byte, false},
+	     {128, rep_prefix_4_byte, false},
  	     {-1, libcall, false}}},
    /* 64-bit tuning.  */
    {libcall, {{48, unrolled_loop, false},
-	     {8192, rep_prefix_8_byte, false},
+	     {128, rep_prefix_8_byte, false},
  	     {-1, libcall, false}}}};
  struct processor_costs znver1_cost = {
    {
@@ -1460,7 +1460,7 @@ static stringop_algs znver2_memcpy[2] = {
    /* 32-bit tuning.  */
    {libcall, {{6, loop, false},
  	     {14, unrolled_loop, false},
-	     {-1, rep_prefix_4_byte, false}}},
+	     {-1, libcall, false}}},
    /* 64-bit tuning.  */
    {libcall, {{16, loop, false},
  	     {64, rep_prefix_4_byte, false},
@@ -1469,7 +1469,7 @@ static stringop_algs znver2_memset[2] = {
    /* 32-bit tuning.  */
    {libcall, {{8, loop, false},
  	     {24, unrolled_loop, false},
-	     {2048, rep_prefix_4_byte, false}
+	     {128, rep_prefix_4_byte, false},
  	     {-1, libcall, false}}},
    /* 64-bit tuning.  */
    {libcall, {{24, rep_prefix_4_byte, false},
-- 
2.26.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Tune memcpy and memset for Zen cores.
  2020-06-01 11:35 ` [PATCH 2/2] Tune memcpy and memset for Zen cores Martin Liška
@ 2020-06-01 11:40   ` Martin Liška
  2020-06-03  9:14     ` Martin Liška
  2020-07-29 15:44   ` Jan Hubicka
  1 sibling, 1 reply; 6+ messages in thread
From: Martin Liška @ 2020-06-01 11:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: amonakov, ubizjak, Jan Hubicka

Adding Honza as Uros recommended him for a review.

Martin

On 6/1/20 1:35 PM, Martin Liška wrote:
> Based on the collected numbers in PR95435, I suggest the following
> tuning changes:
> 
> gcc/ChangeLog:
> 
>      PR target/95435
>      * config/i386/x86-tune-costs.h: Use libcall for large sizes for
>      -m32. Start using libcall from 128+ bytes.
> ---
>   gcc/config/i386/x86-tune-costs.h | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h
> index 1169178433f..3207404e514 100644
> --- a/gcc/config/i386/x86-tune-costs.h
> +++ b/gcc/config/i386/x86-tune-costs.h
> @@ -1314,20 +1314,20 @@ static stringop_algs znver1_memcpy[2] = {
>     /* 32-bit tuning.  */
>     {libcall, {{6, loop, false},
>            {14, unrolled_loop, false},
> -         {-1, rep_prefix_4_byte, false}}},
> +         {-1, libcall, false}}},
>     /* 64-bit tuning.  */
>     {libcall, {{16, loop, false},
> -         {8192, rep_prefix_8_byte, false},
> +         {128, rep_prefix_8_byte, false},
>            {-1, libcall, false}}}};
>   static stringop_algs znver1_memset[2] = {
>     /* 32-bit tuning.  */
>     {libcall, {{8, loop, false},
>            {24, unrolled_loop, false},
> -         {2048, rep_prefix_4_byte, false},
> +         {128, rep_prefix_4_byte, false},
>            {-1, libcall, false}}},
>     /* 64-bit tuning.  */
>     {libcall, {{48, unrolled_loop, false},
> -         {8192, rep_prefix_8_byte, false},
> +         {128, rep_prefix_8_byte, false},
>            {-1, libcall, false}}}};
>   struct processor_costs znver1_cost = {
>     {
> @@ -1460,7 +1460,7 @@ static stringop_algs znver2_memcpy[2] = {
>     /* 32-bit tuning.  */
>     {libcall, {{6, loop, false},
>            {14, unrolled_loop, false},
> -         {-1, rep_prefix_4_byte, false}}},
> +         {-1, libcall, false}}},
>     /* 64-bit tuning.  */
>     {libcall, {{16, loop, false},
>            {64, rep_prefix_4_byte, false},
> @@ -1469,7 +1469,7 @@ static stringop_algs znver2_memset[2] = {
>     /* 32-bit tuning.  */
>     {libcall, {{8, loop, false},
>            {24, unrolled_loop, false},
> -         {2048, rep_prefix_4_byte, false}
> +         {128, rep_prefix_4_byte, false},
>            {-1, libcall, false}}},
>     /* 64-bit tuning.  */
>     {libcall, {{24, rep_prefix_4_byte, false},


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Tune memcpy and memset for Zen cores.
  2020-06-01 11:40   ` Martin Liška
@ 2020-06-03  9:14     ` Martin Liška
  2020-06-12  8:31       ` Martin Liška
  0 siblings, 1 reply; 6+ messages in thread
From: Martin Liška @ 2020-06-03  9:14 UTC (permalink / raw)
  To: gcc-patches; +Cc: amonakov, ubizjak, Jan Hubicka, Jan Hubicka

On 6/1/20 1:40 PM, Martin Liška wrote:
> Adding Honza as Uros recommended him for a review.

@Honza asked me personally to remind him this patch ;)

Martin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Tune memcpy and memset for Zen cores.
  2020-06-03  9:14     ` Martin Liška
@ 2020-06-12  8:31       ` Martin Liška
  2020-06-30 10:13         ` Martin Liška
  0 siblings, 1 reply; 6+ messages in thread
From: Martin Liška @ 2020-06-12  8:31 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jan Hubicka, amonakov, ubizjak, Jan Hubicka

PING^2

On 6/3/20 11:14 AM, Martin Liška wrote:
> On 6/1/20 1:40 PM, Martin Liška wrote:
>> Adding Honza as Uros recommended him for a review.
> 
> @Honza asked me personally to remind him this patch ;)
> 
> Martin


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Tune memcpy and memset for Zen cores.
  2020-06-12  8:31       ` Martin Liška
@ 2020-06-30 10:13         ` Martin Liška
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liška @ 2020-06-30 10:13 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jan Hubicka, amonakov, ubizjak, Jan Hubicka

PING^3

On 6/12/20 10:31 AM, Martin Liška wrote:
> PING^2
> 
> On 6/3/20 11:14 AM, Martin Liška wrote:
>> On 6/1/20 1:40 PM, Martin Liška wrote:
>>> Adding Honza as Uros recommended him for a review.
>>
>> @Honza asked me personally to remind him this patch ;)
>>
>> Martin
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Tune memcpy and memset for Zen cores.
  2020-06-01 11:35 ` [PATCH 2/2] Tune memcpy and memset for Zen cores Martin Liška
  2020-06-01 11:40   ` Martin Liška
@ 2020-07-29 15:44   ` Jan Hubicka
  1 sibling, 0 replies; 6+ messages in thread
From: Jan Hubicka @ 2020-07-29 15:44 UTC (permalink / raw)
  To: Martin Liška; +Cc: gcc-patches, amonakov, ubizjak

> Based on the collected numbers in PR95435, I suggest the following
> tuning changes:
> 
> gcc/ChangeLog:
> 
> 	PR target/95435
> 	* config/i386/x86-tune-costs.h: Use libcall for large sizes for
> 	-m32. Start using libcall from 128+ bytes.

OK,
thanks!
Honza
> ---
>  gcc/config/i386/x86-tune-costs.h | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h
> index 1169178433f..3207404e514 100644
> --- a/gcc/config/i386/x86-tune-costs.h
> +++ b/gcc/config/i386/x86-tune-costs.h
> @@ -1314,20 +1314,20 @@ static stringop_algs znver1_memcpy[2] = {
>    /* 32-bit tuning.  */
>    {libcall, {{6, loop, false},
>  	     {14, unrolled_loop, false},
> -	     {-1, rep_prefix_4_byte, false}}},
> +	     {-1, libcall, false}}},
>    /* 64-bit tuning.  */
>    {libcall, {{16, loop, false},
> -	     {8192, rep_prefix_8_byte, false},
> +	     {128, rep_prefix_8_byte, false},
>  	     {-1, libcall, false}}}};
>  static stringop_algs znver1_memset[2] = {
>    /* 32-bit tuning.  */
>    {libcall, {{8, loop, false},
>  	     {24, unrolled_loop, false},
> -	     {2048, rep_prefix_4_byte, false},
> +	     {128, rep_prefix_4_byte, false},
>  	     {-1, libcall, false}}},
>    /* 64-bit tuning.  */
>    {libcall, {{48, unrolled_loop, false},
> -	     {8192, rep_prefix_8_byte, false},
> +	     {128, rep_prefix_8_byte, false},
>  	     {-1, libcall, false}}}};
>  struct processor_costs znver1_cost = {
>    {
> @@ -1460,7 +1460,7 @@ static stringop_algs znver2_memcpy[2] = {
>    /* 32-bit tuning.  */
>    {libcall, {{6, loop, false},
>  	     {14, unrolled_loop, false},
> -	     {-1, rep_prefix_4_byte, false}}},
> +	     {-1, libcall, false}}},
>    /* 64-bit tuning.  */
>    {libcall, {{16, loop, false},
>  	     {64, rep_prefix_4_byte, false},
> @@ -1469,7 +1469,7 @@ static stringop_algs znver2_memset[2] = {
>    /* 32-bit tuning.  */
>    {libcall, {{8, loop, false},
>  	     {24, unrolled_loop, false},
> -	     {2048, rep_prefix_4_byte, false}
> +	     {128, rep_prefix_4_byte, false},
>  	     {-1, libcall, false}}},
>    /* 64-bit tuning.  */
>    {libcall, {{24, rep_prefix_4_byte, false},
> -- 
> 2.26.2
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-07-29 15:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <14a4b217982dea474bd8927ea8b58bc6b7b116bc.1591011331.git.mliska@suse.cz>
2020-06-01 11:35 ` [PATCH 2/2] Tune memcpy and memset for Zen cores Martin Liška
2020-06-01 11:40   ` Martin Liška
2020-06-03  9:14     ` Martin Liška
2020-06-12  8:31       ` Martin Liška
2020-06-30 10:13         ` Martin Liška
2020-07-29 15:44   ` Jan Hubicka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).