A recent patch increased GCC's memory consumption!

gcctest@suse.de gcctest@suse.de
Sat Mar 8 13:50:00 GMT 2008


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