On Wed, 16 Sep 2026, Uros Bizjak wrote:

> Set the i386 default for MD generator partitions to 6:6:1.
> 
> The longest objects in the bootstrap are gimple-match-[1..10].o,
> with per-file user times of:
> 
> user    0m12,114s
> user    0m6,214s
> user    0m6,737s
> user    0m8,234s
> user    0m5,765s
> user    0m5,221s
> user    0m5,732s
> user    0m5,221s
> user    0m5,645s
> user    0m7,951s
> 
> while generic-match-[1..10].o compile in:
> 
> user    0m5,875s
> user    0m5,186s
> user    0m4,132s
> user    0m4,367s
> user    0m4,464s
> user    0m4,705s
> user    0m4,340s
> user    0m5,942s
> user    0m4,469s
> user    0m4,236s
> 
> With the default set to 6:6:1, compile times become:
> 
> insn-emit-[1..6].o:
> 
> user    0m4,766s
> user    0m4,799s
> user    0m4,829s
> user    0m4,825s
> user    0m4,766s
> user    0m4,781s
> 
> insn-recog-[1..6].o:
> 
> user    0m4,782s
> user    0m4,741s
> user    0m4,988s
> user    0m4,814s
> user    0m4,918s
> user    0m4,898s
> 
> insn-attrtab-1.o:
> 
> user    0m3,076s
> 
> which are all comparable to the generic-match-[1..10].o compile times.
> 
> Raising the partition counts further would shorten objects that are
> already off the critical path, while each additional partition
> repeats the per-file preamble, adding to overall bootstrap CPU time.
> 
> gcc/ChangeLog:
> 
> * config.gcc (i[34567]86-*-* | x86_64-*-*): Set
> default_md_generator_partitions target default to 6:6:1.
> 
> Bootstrapped on x86_64-pc-linux-gnu.

LGTM

> BTW: It looks like 6:6:1 should be the default for all targets. i386
> has one of the largest insn-*.cc sources and measurements confirm that
> aarch64 default is also optimal for i386.

The question is where the default of 10 came from?  But sure.

Richard.

> Uros.
> 

-- 
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Stefan Gaiser, Jochen Jaser, Abhinav Puri; (HRB 36809, AG Nuernberg)

Reply via email to