A recent patch increased GCC's memory consumption!

Jan Hubicka jh@suse.cz
Sat Mar 8 14:31:00 GMT 2008


Uros,
this is yours.  Basically it is just some increase in startup costs.
Nothing critical.

Honza
> Hi,
> 
> I am a friendly script caring about memory consumption in GCC.  Please
> contact jh@suse.cz if something is going wrong.
> 
> Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
> and generate-3.4.ii I got:
> 
> 
> comparing empty function compilation at -O0 level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 1097k to 1103k, overall 0.55%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 995k to 1000k, overall 0.50%
>   Amount of produced GGC garbage increased from 238k to 239k, overall 0.57%
>   Amount of memory still referenced at the end of compilation increased from 952k to 956k, overall 0.45%
>     Overall memory needed: 8151k -> 8149k
>     Peak memory use before GGC: 1097k -> 1103k
>     Peak memory use after GGC: 995k -> 1000k
>     Maximum of released memory in single GGC run: 129k -> 130k
>     Garbage: 238k -> 239k
>     Leak: 952k -> 956k
>     Overhead: 80k -> 80k
>     GGC runs: 2
> Testing has produced no results
> Testing has produced no results
> 
> comparing empty function compilation at -O0 -g level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 1125k to 1130k, overall 0.44%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 1031k to 1035k, overall 0.39%
>   Amount of produced GGC garbage increased from 240k to 241k, overall 0.58%
>   Amount of memory still referenced at the end of compilation increased from 985k to 989k, overall 0.43%
>     Overall memory needed: 8167k -> 8165k
>     Peak memory use before GGC: 1125k -> 1130k
>     Peak memory use after GGC: 1031k -> 1035k
>     Maximum of released memory in single GGC run: 128k -> 130k
>     Garbage: 240k -> 241k
>     Leak: 985k -> 989k
>     Overhead: 84k -> 85k
>     GGC runs: 4
> Testing has produced no results
> Testing has produced no results
> 
> comparing empty function compilation at -O1 level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 1097k to 1103k, overall 0.55%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 995k to 1000k, overall 0.50%
>   Amount of produced GGC garbage increased from 240k to 241k, overall 0.56%
>   Amount of memory still referenced at the end of compilation increased from 953k to 957k, overall 0.45%
>     Overall memory needed: 8199k -> 8205k
>     Peak memory use before GGC: 1097k -> 1103k
>     Peak memory use after GGC: 995k -> 1000k
>     Maximum of released memory in single GGC run: 131k -> 132k
>     Garbage: 240k -> 241k
>     Leak: 953k -> 957k
>     Overhead: 81k -> 81k
>     GGC runs: 2
>   Amount of produced pre-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced pre-ipa increased from 955k to 959k, overall 0.44%
>     Pre-IPA-Garbage: 227k -> 228k
>     Pre-IPA-Leak: 955k -> 959k
>     Pre-IPA-Overhead: 79k -> 79k
>   Amount of produced post-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced post-ipa increased from 955k to 959k, overall 0.44%
>     Post-IPA-Garbage: 227k -> 228k
>     Post-IPA-Leak: 955k -> 959k
>     Post-IPA-Overhead: 79k -> 79k
> 
> comparing empty function compilation at -O2 level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 1098k to 1103k, overall 0.46%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 995k to 1000k, overall 0.50%
>   Amount of produced GGC garbage increased from 243k to 245k, overall 0.55%
>   Amount of memory still referenced at the end of compilation increased from 954k to 958k, overall 0.44%
>     Overall memory needed: 8223k -> 8225k
>     Peak memory use before GGC: 1098k -> 1103k
>     Peak memory use after GGC: 995k -> 1000k
>     Maximum of released memory in single GGC run: 134k -> 135k
>     Garbage: 243k -> 245k
>     Leak: 954k -> 958k
>     Overhead: 81k -> 82k
>     GGC runs: 2
>   Amount of produced pre-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced pre-ipa increased from 956k to 960k, overall 0.44%
>     Pre-IPA-Garbage: 227k -> 228k
>     Pre-IPA-Leak: 956k -> 960k
>     Pre-IPA-Overhead: 79k -> 79k
>   Amount of produced post-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced post-ipa increased from 956k to 960k, overall 0.44%
>     Post-IPA-Garbage: 227k -> 228k
>     Post-IPA-Leak: 956k -> 960k
>     Post-IPA-Overhead: 79k -> 79k
> 
> comparing empty function compilation at -O3 level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 1098k to 1103k, overall 0.46%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 995k to 1000k, overall 0.50%
>   Amount of produced GGC garbage increased from 243k to 245k, overall 0.55%
>   Amount of memory still referenced at the end of compilation increased from 954k to 958k, overall 0.44%
>     Overall memory needed: 8223k -> 8225k
>     Peak memory use before GGC: 1098k -> 1103k
>     Peak memory use after GGC: 995k -> 1000k
>     Maximum of released memory in single GGC run: 134k -> 135k
>     Garbage: 243k -> 245k
>     Leak: 954k -> 958k
>     Overhead: 81k -> 82k
>     GGC runs: 2
>   Amount of produced pre-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced pre-ipa increased from 956k to 960k, overall 0.44%
>     Pre-IPA-Garbage: 227k -> 228k
>     Pre-IPA-Leak: 956k -> 960k
>     Pre-IPA-Overhead: 79k -> 79k
>   Amount of produced post-ipa-GGC garbage increased from 227k to 228k, overall 0.59%
>   Amount of memory referenced post-ipa increased from 956k to 960k, overall 0.44%
>     Post-IPA-Garbage: 227k -> 228k
>     Post-IPA-Leak: 956k -> 960k
>     Post-IPA-Overhead: 79k -> 79k
> 
> comparing combine.c compilation at -O0 level:
>     Overall memory needed: 22679k -> 22677k
>     Peak memory use before GGC: 7808k -> 7811k
>     Peak memory use after GGC: 7188k -> 7192k
>     Maximum of released memory in single GGC run: 1550k
>     Garbage: 37931k -> 37936k
>     Leak: 5515k -> 5519k
>     Overhead: 4650k -> 4650k
>     GGC runs: 372 -> 371
> Testing has produced no results
> Testing has produced no results
> 
> comparing combine.c compilation at -O0 -g level:
>     Overall memory needed: 24703k -> 24701k
>     Peak memory use before GGC: 9647k -> 9651k
>     Peak memory use after GGC: 8955k -> 8959k
>     Maximum of released memory in single GGC run: 1838k
>     Garbage: 38292k -> 38298k
>     Leak: 8380k -> 8385k
>     Overhead: 5277k -> 5277k
>     GGC runs: 343 -> 342
> Testing has produced no results
> Testing has produced no results
> 
> comparing combine.c compilation at -O1 level:
>     Overall memory needed: 32915k -> 32917k
>     Peak memory use before GGC: 16332k -> 16336k
>     Peak memory use after GGC: 16149k -> 16152k
>     Maximum of released memory in single GGC run: 1381k
>     Garbage: 51793k -> 51798k
>     Leak: 5668k -> 5664k
>     Overhead: 5845k -> 5845k
>     GGC runs: 442 -> 440
>     Pre-IPA-Garbage: 13915k -> 13916k
>     Pre-IPA-Leak: 17167k -> 17170k
>     Pre-IPA-Overhead: 2124k -> 2124k
>     Post-IPA-Garbage: 13915k -> 13916k
>     Post-IPA-Leak: 17167k -> 17170k
>     Post-IPA-Overhead: 2124k -> 2124k
> 
> comparing combine.c compilation at -O2 level:
>   Amount of memory still referenced at the end of compilation increased from 5983k to 5995k, overall 0.21%
>     Overall memory needed: 34695k -> 34721k
>     Peak memory use before GGC: 16430k -> 16434k
>     Peak memory use after GGC: 16267k -> 16271k
>     Maximum of released memory in single GGC run: 1317k
>     Garbage: 71303k -> 71321k
>     Leak: 5983k -> 5995k
>     Overhead: 8145k -> 8148k
>     GGC runs: 509 -> 508
>     Pre-IPA-Garbage: 14069k -> 14070k
>     Pre-IPA-Leak: 17230k -> 17234k
>     Pre-IPA-Overhead: 2139k -> 2139k
>     Post-IPA-Garbage: 14069k -> 14070k
>     Post-IPA-Leak: 17230k -> 17234k
>     Post-IPA-Overhead: 2139k -> 2139k
> 
> comparing combine.c compilation at -O3 level:
>   Peak amount of GGC memory allocated before garbage collecting increased from 16517k to 16569k, overall 0.31%
>     Overall memory needed: 38783k -> 38605k
>     Peak memory use before GGC: 16517k -> 16569k
>     Peak memory use after GGC: 16283k -> 16287k
>     Maximum of released memory in single GGC run: 1998k
>     Garbage: 88107k -> 88182k
>     Leak: 6036k -> 6041k
>     Overhead: 10095k -> 10110k
>     GGC runs: 545 -> 544
>     Pre-IPA-Garbage: 14071k -> 14072k
>     Pre-IPA-Leak: 17242k -> 17246k
>     Pre-IPA-Overhead: 2140k -> 2140k
>     Post-IPA-Garbage: 14071k -> 14072k
>     Post-IPA-Leak: 17242k -> 17246k
>     Post-IPA-Overhead: 2140k -> 2140k
> 
> comparing insn-attrtab.c compilation at -O0 level:
>   Amount of produced GGC garbage increased from 128611k to 128871k, overall 0.20%
>     Overall memory needed: 137431k -> 137437k
>     Peak memory use before GGC: 57000k -> 57004k
>     Peak memory use after GGC: 31457k -> 31462k
>     Maximum of released memory in single GGC run: 33256k -> 33255k
>     Garbage: 128611k -> 128871k
>     Leak: 8383k -> 8133k
>     Overhead: 14368k -> 14369k
>     GGC runs: 293 -> 292
> Testing has produced no results
> Testing has produced no results
> 
> comparing insn-attrtab.c compilation at -O0 -g level:
>     Overall memory needed: 138687k -> 138681k
>     Peak memory use before GGC: 58142k -> 58147k
>     Peak memory use after GGC: 32599k -> 32604k
>     Maximum of released memory in single GGC run: 33256k -> 33257k
>     Garbage: 128862k -> 128867k
>     Leak: 10058k -> 10062k
>     Overhead: 14724k -> 14724k
>     GGC runs: 288
> Testing has produced no results
> Testing has produced no results
> 
> comparing insn-attrtab.c compilation at -O1 level:
>     Overall memory needed: 142899k -> 142865k
>     Peak memory use before GGC: 56220k -> 56224k
>     Peak memory use after GGC: 49983k -> 49987k
>     Maximum of released memory in single GGC run: 23976k
>     Garbage: 205052k -> 205052k
>     Leak: 9276k -> 9280k
>     Overhead: 24747k -> 24747k
>     GGC runs: 315
>     Pre-IPA-Garbage: 50356k -> 50357k
>     Pre-IPA-Leak: 49677k -> 49682k
>     Pre-IPA-Overhead: 7543k -> 7543k
>     Post-IPA-Garbage: 50356k -> 50357k
>     Post-IPA-Leak: 49677k -> 49682k
>     Post-IPA-Overhead: 7543k -> 7543k
> 
> comparing insn-attrtab.c compilation at -O2 level:
>     Overall memory needed: 184387k -> 184589k
>     Peak memory use before GGC: 56853k -> 56855k
>     Peak memory use after GGC: 51573k -> 51575k
>     Maximum of released memory in single GGC run: 22901k
>     Garbage: 245700k -> 245706k
>     Leak: 10360k -> 10364k
>     Overhead: 30402k -> 30403k
>     GGC runs: 347
>     Pre-IPA-Garbage: 50428k -> 50429k
>     Pre-IPA-Leak: 49681k -> 49685k
>     Pre-IPA-Overhead: 7550k -> 7551k
>     Post-IPA-Garbage: 50428k -> 50429k
>     Post-IPA-Leak: 49681k -> 49685k
>     Post-IPA-Overhead: 7550k -> 7551k
> 
> comparing insn-attrtab.c compilation at -O3 level:
>     Overall memory needed: 190231k -> 190233k
>     Peak memory use before GGC: 66396k -> 66400k
>     Peak memory use after GGC: 62280k -> 62284k
>     Maximum of released memory in single GGC run: 23392k
>     Garbage: 269389k -> 269386k
>     Leak: 10397k -> 10401k
>     Overhead: 32191k -> 32191k
>     GGC runs: 348
>     Pre-IPA-Garbage: 50428k -> 50429k
>     Pre-IPA-Leak: 49681k -> 49685k
>     Pre-IPA-Overhead: 7550k -> 7551k
>     Post-IPA-Garbage: 50428k -> 50429k
>     Post-IPA-Leak: 49681k -> 49685k
>     Post-IPA-Overhead: 7550k -> 7551k
> 
> comparing Gerald's testcase PR8361 compilation at -O0 level:
>     Overall memory needed: 148364k -> 148323k
>     Peak memory use before GGC: 84242k -> 84247k
>     Peak memory use after GGC: 83407k -> 83412k
>     Maximum of released memory in single GGC run: 16731k
>     Garbage: 200926k -> 200925k
>     Leak: 48024k -> 48029k
>     Overhead: 23992k -> 23992k
>     GGC runs: 417
>     Pre-IPA-Garbage: 109791k -> 109792k
>     Pre-IPA-Leak: 71152k -> 71157k
>     Pre-IPA-Overhead: 12099k -> 12100k
>     Post-IPA-Garbage: 109791k -> 109792k
>     Post-IPA-Leak: 71152k -> 71157k
>     Post-IPA-Overhead: 12099k -> 12100k
> 
> comparing Gerald's testcase PR8361 compilation at -O0 -g level:
>     Overall memory needed: 169704k -> 169723k
>     Peak memory use before GGC: 96213k -> 96218k
>     Peak memory use after GGC: 95248k -> 95253k
>     Maximum of released memory in single GGC run: 17546k
>     Garbage: 206565k -> 206563k
>     Leak: 69707k -> 69712k
>     Overhead: 28969k -> 28969k
>     GGC runs: 390
>     Pre-IPA-Garbage: 110434k -> 110435k
>     Pre-IPA-Leak: 84433k -> 84438k
>     Pre-IPA-Overhead: 14675k -> 14676k
>     Post-IPA-Garbage: 110434k -> 110435k
>     Post-IPA-Leak: 84433k -> 84438k
>     Post-IPA-Overhead: 14675k -> 14676k
> 
> comparing Gerald's testcase PR8361 compilation at -O1 level:
>     Overall memory needed: 122480k -> 122505k
>     Peak memory use before GGC: 84162k -> 84168k
>     Peak memory use after GGC: 83324k -> 83331k
>     Maximum of released memory in single GGC run: 16273k
>     Garbage: 290386k -> 290373k
>     Leak: 47315k -> 47320k
>     Overhead: 29429k -> 29430k
>     GGC runs: 517 -> 518
>     Pre-IPA-Garbage: 155007k -> 155006k
>     Pre-IPA-Leak: 87955k -> 87961k
>     Pre-IPA-Overhead: 17504k -> 17505k
>     Post-IPA-Garbage: 155007k -> 155006k
>     Post-IPA-Leak: 87955k -> 87961k
>     Post-IPA-Overhead: 17504k -> 17505k
> 
> comparing Gerald's testcase PR8361 compilation at -O2 level:
>     Overall memory needed: 124608k -> 124585k
>     Peak memory use before GGC: 84366k -> 84375k
>     Peak memory use after GGC: 83494k -> 83499k
>     Maximum of released memory in single GGC run: 16276k
>     Garbage: 354128k -> 354284k
>     Leak: 48275k -> 48282k
>     Overhead: 36309k -> 36328k
>     GGC runs: 585 -> 586
>     Pre-IPA-Garbage: 157581k -> 157573k
>     Pre-IPA-Leak: 88090k -> 88094k
>     Pre-IPA-Overhead: 17788k -> 17788k
>     Post-IPA-Garbage: 157581k -> 157573k
>     Post-IPA-Leak: 88090k -> 88094k
>     Post-IPA-Overhead: 17788k -> 17788k
> 
> comparing Gerald's testcase PR8361 compilation at -O3 level:
>     Overall memory needed: 127560k -> 127545k
>     Peak memory use before GGC: 85595k -> 85604k
>     Peak memory use after GGC: 84747k -> 84752k
>     Maximum of released memory in single GGC run: 16625k
>     Garbage: 378477k -> 378412k
>     Leak: 48867k -> 48870k
>     Overhead: 38502k -> 38508k
>     GGC runs: 608 -> 609
>     Pre-IPA-Garbage: 160291k -> 160292k
>     Pre-IPA-Leak: 88373k -> 88379k
>     Pre-IPA-Overhead: 18036k -> 18037k
>     Post-IPA-Garbage: 160291k -> 160292k
>     Post-IPA-Leak: 88373k -> 88379k
>     Post-IPA-Overhead: 18036k -> 18037k
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
>     Overall memory needed: 380437k -> 380452k
>     Peak memory use before GGC: 101210k -> 101215k
>     Peak memory use after GGC: 56863k -> 56868k
>     Maximum of released memory in single GGC run: 50583k
>     Garbage: 178904k -> 178905k
>     Leak: 6099k -> 6103k
>     Overhead: 30782k -> 30783k
>     GGC runs: 106 -> 107
> Testing has produced no results
> Testing has produced no results
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
>     Overall memory needed: 381241k -> 381244k
>     Peak memory use before GGC: 101840k -> 101845k
>     Peak memory use after GGC: 57494k -> 57499k
>     Maximum of released memory in single GGC run: 50582k
>     Garbage: 179019k -> 179020k
>     Leak: 7829k -> 7833k
>     Overhead: 31215k -> 31215k
>     GGC runs: 111
> Testing has produced no results
> Testing has produced no results
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
>     Overall memory needed: 437271k -> 437269k
>     Peak memory use before GGC: 78686k -> 78692k
>     Peak memory use after GGC: 70437k -> 70441k
>     Maximum of released memory in single GGC run: 37594k -> 37596k
>     Garbage: 234296k -> 234302k
>     Leak: 15903k -> 15907k
>     Overhead: 35589k -> 35590k
>     GGC runs: 105 -> 106
>     Pre-IPA-Garbage: 52925k -> 52926k
>     Pre-IPA-Leak: 49233k -> 49237k
>     Pre-IPA-Overhead: 7120k -> 7120k
>     Post-IPA-Garbage: 52925k -> 52926k
>     Post-IPA-Leak: 49233k -> 49237k
>     Post-IPA-Overhead: 7120k -> 7120k
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
>     Overall memory needed: 357295k -> 356437k
>     Peak memory use before GGC: 75424k -> 75428k
>     Peak memory use after GGC: 70438k -> 70442k
>     Maximum of released memory in single GGC run: 32243k -> 32242k
>     Garbage: 245000k -> 245004k
>     Leak: 16075k -> 16079k
>     Overhead: 38757k -> 38757k
>     GGC runs: 116 -> 117
>     Pre-IPA-Garbage: 91836k -> 91838k
>     Pre-IPA-Leak: 77290k -> 77295k
>     Pre-IPA-Overhead: 11793k -> 11793k
>     Post-IPA-Garbage: 91836k -> 91838k
>     Post-IPA-Leak: 77290k -> 77295k
>     Post-IPA-Overhead: 11793k -> 11793k
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
>     Overall memory needed: 1199183k -> 1199081k
>     Peak memory use before GGC: 136585k -> 136589k
>     Peak memory use after GGC: 127943k -> 127947k
>     Maximum of released memory in single GGC run: 59910k -> 59911k
>     Garbage: 369972k -> 369974k
>     Leak: 24889k -> 24893k
>     Overhead: 49888k -> 49889k
>     GGC runs: 103 -> 104
>     Pre-IPA-Garbage: 91836k -> 91838k
>     Pre-IPA-Leak: 77290k -> 77295k
>     Pre-IPA-Overhead: 11793k -> 11793k
>     Post-IPA-Garbage: 91836k -> 91838k
>     Post-IPA-Leak: 77290k -> 77295k
>     Post-IPA-Overhead: 11793k -> 11793k
> 
> Head of the ChangeLog is:
> 
> --- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2008-03-07 18:48:24.000000000 +0000
> +++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2008-03-08 10:46:49.000000000 +0000
> @@ -1,3 +1,82 @@
> +2008-03-08  Jakub Jelinek  <jakub@redhat.com>
> +
> +	PR target/35498
> +	* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
> +	wdst back after sync_compare_and_swapqhi_internal.
> +
> +2008-03-08  Uros Bizjak  <ubizjak@gmail.com>
> +
> +	PR target/22152
> +	* config/i386/i386-modes.def (V1DI): New vector mode.
> +	* config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
> +	* config/i386/mmx.md (MMXMODEI8): New mode iterator.
> +	(MMXMODE248): Ditto.
> +	(MMXMODE): Add V1DI mode.
> +	(mmxvecsize): Change DI mode to V1DI mode.
> +	("mov<mode>): Use MMXMODEI8 mode iterator.
> +	("*mov<mode>_internal_rex64"): Ditto.
> +	("*mov<mode>_internal"): Ditto.
> +	("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
> +	("mmx_sub<mode>3"): Ditto.
> +	("mmx_adddi3"): Remove insn pattern.
> +	("mmx_subdi3"): Ditto.
> +	("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
> +	("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
> +	("mmx_ashl<mode>3"): Ditto.
> +	("mmx_lshrdi3"): Remove insn pattern.
> +	("mmx_ashldi3"): Ditto.
> +	* config/i386/i386.c (classify_argument): Handle V1DImode.
> +	(function_arg_advance_32): Ditto.
> +	(function_arg_32): Ditto.
> +	(struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
> +	mmx_addv1di3 insn pattern.
> +	[IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
> +	[IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
> +	IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
> +	IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
> +	Remove definitions of built-in functions.
> +	(V1DI_type_node): New node.
> +	(v1di_ftype_v1di_int): Ditto.
> +	(v1di_ftype_v1di_v1di): Ditto.
> +	(v2si_ftype_v2si_si): Ditto.
> +	(v4hi_ftype_v4hi_di): Remove node.
> +	(v2si_ftype_v2si_di): Ditto.
> +	(ix86_init_mmx_sse_builtins): Handle V1DImode.
> +	(__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
> +	Redefine builtins using def_builtin_const with *_ftype_*_int node.
> +	(__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
> +	Add new builtins using def_builtin_const.
> +	(ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
> +	IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
> +	IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
> +	* config/i386/mmintrin.h (__v1di): New typedef.
> +	(_mm_add_si64): Cast arguments to __v1di type.
> +	(_mm_sub_si64): Ditto.
> +	(_mm_sll_pi16): Cast __count to __v4hi type.
> +	(_mm_sll_pi32): Cast __count to __v2si type.
> +	(_mm_sll_si64): Cast arguments to __v1di type.
> +	(_mm_srl_pi16): Cast __count to __v4hi type.
> +	(_mm_srl_pi32): Cast __count to __v2si type.
> +	(_mm_srl_si64): Cast arguments to __v1di type.
> +	(_mm_sra_pi16): Cast __count to __v4hi type.
> +	(_mm_sra_pi32): Cast __count to __v2si type.
> +	(_mm_slli_pi16): Use __builtin_ia32_psllwi.
> +	(_mm_slli_pi32): Use __builtin_ia32_pslldi.
> +	(_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
> +	(_mm_srli_pi16): Use __builtin_ia32_psrlwi.
> +	(_mm_srli_pi32): Use __builtin_ia32_psrldi.
> +	(_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
> +	(_mm_srai_pi16): Use __builtin_ia32_psrawi.
> +	(_mm_srai_pi32): Use __builtin_ia32_psradi.
> +	* config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
> +	* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
> +	__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
> +	__builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
> +
> +2008-03-07  Joseph Myers  <joseph@codesourcery.com>
> +
> +	* doc/include/texinfo.tex: Update to version 2008-03-07.10.
> +
>  2008-03-07  Peter Bergner  <bergner@vnet.ibm.com>
>  
>  	PR target/35373
> 
> 
> The results can be reproduced by building a compiler with
> 
> --enable-gather-detailed-mem-stats targetting x86-64
> 
> and compiling preprocessed combine.c or testcase from PR8632 with:
> 
> -fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q
> 
> The memory consumption summary appears in the dump after detailed listing
> of the places they are allocated in.  Peak memory consumption is actually
> computed by looking for maximal value in {GC XXXX -> YYYY} report.
> 
> Your testing script.



More information about the Gcc-regression mailing list