Message ID | VE1PR08MB5599A6118679171B09F635F483230@VE1PR08MB5599.eurprd08.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | AArch64: Enable fast shifts on Neoverse N1 | expand |
On 14/09/2020 13:01, Wilco Dijkstra wrote: > Enable the fast shift feature in Neoverse N1 tuning - this means additions with > a shift left by 1-4 are as fast as addition. This improves multiply by constant > expansions, eg. x * 25 is now emitted using shifts rather than a multiply: > > add w0, w0, w0, lsl 2 > add w0, w0, w0, lsl 2 > > Bootstrap OK, regress pass, OK for commit? > > ChangeLog: > 2020-09-11 Wilco Dijkstra <wdijkstr@arm.com> > > * config/aarch64/aarch64.c (neoversen1_tunings): > Enable AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND. > > --- > > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index 803562df25751f2eb6dbe18b67cae46ea7c478dd..cbbdefa436bf11e9631c90631fb621e90e60754a 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -1332,7 +1332,7 @@ static const struct tune_params neoversen1_tunings = > 2, /* min_div_recip_mul_df. */ > 0, /* max_case_values. */ > tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ > - (AARCH64_EXTRA_TUNE_NONE), /* tune_flags. */ > + (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND), /* tune_flags. */ > &generic_prefetch_tune > }; > > OK. R.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 803562df25751f2eb6dbe18b67cae46ea7c478dd..cbbdefa436bf11e9631c90631fb621e90e60754a 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -1332,7 +1332,7 @@ static const struct tune_params neoversen1_tunings = 2, /* min_div_recip_mul_df. */ 0, /* max_case_values. */ tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ - (AARCH64_EXTRA_TUNE_NONE), /* tune_flags. */ + (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND), /* tune_flags. */ &generic_prefetch_tune };