<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Perhaps you noticed that LLVM gained a new optimizing register allocator yesterday (r130568). Linear scan is going away, and RAGreedy is the new default for optimizing builds.<div><br></div><div>Hopefully, you noticed because your binaries were suddenly 2% smaller and 10% faster*. Some noticed because LLVM started crashing or miscompiling their code. Greedy replaces a fairly big chunk of the code generator, so there will be some bugs. Please file bug reports!</div><div><br></div><div>Linear scan will stick around for a limited time. It can be enabled with 'clang -mllvm -regalloc=linearscan' and 'llc -regalloc=linearscan'. If you think you found a bug in the new allocator, please verify that the problem goes away when switching back to linear scan.</div><div><br></div><div>I would also like to hear about instances where greedy produces obviously silly code, even if it is technically correct.</div><div><br></div><div>Share and Enjoy!</div><div><br></div><div style="font-size: 11px; ">*) Individual results may vary.</div><div><br></div><div><br></div><div><div><b>Greedy Register Allocator</b></div><div><br></div><div>The new register allocator is designed to be more flexible than linear scan. It still uses the LiveInterval data structure for interference checking, but it can allocate live ranges in any order.</div><div><br></div><div>The most important new features are:</div><div><br></div><div><ul class="MailOutline"><li>Allow code editing on the fly. Currently, spill code and copies are inserted immediately, but other code changes are also possible.</li><li>Flexible order of allocation and eviction. The ordering can be used to fine tune the register allocator's behavior. Register assignments can be undone without backtracking.</li><li>Live range splitting. Global and local live ranges are split by two different algorithms, both guided by interference from already allocated registers.</li><li>Prefer cheap registers for busy live ranges. The x86-64 and ARM thumb2 targets have registers that are more expensive to encode in instructions. Those registers are used for the less busy live ranges which improves code size.</li></ul></div><div>  </div><div><br></div><div><b>Code Size</b></div><div><br></div><div>The new allocator can improve code size because live range splitting causes less spill code to be inserted, and on x86-64 and thumb2, expensive registers are used less. It can increase code size by inserting more register copies in order to avoid a spill.</div><div><br></div><div>On the nightly test suite, we see these changes in total code size:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>i386:<span class="Apple-tab-span" style="white-space:pre">       </span>-1.2%</div></div><div><div>x86-64:<span class="Apple-tab-span" style="white-space:pre">  </span>-1.6%</div></div><div><div>armv7:<span class="Apple-tab-span" style="white-space:pre">   </span>-2.3%</div></div></blockquote><div><div><br></div><div>Using clang to build itself on x86-64, we get these __text segments for Release+Debug/bin/clang:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>LinScan:<span class="Apple-tab-span" style="white-space:pre">          </span>15750170</div></div><div><div>Greedy:<span class="Apple-tab-span" style="white-space:pre">               </span>15486090</div></div><div><div>Difference:<span class="Apple-tab-span" style="white-space:pre">   </span>-1.7%</div></div></blockquote><div><div><br></div><div>More complete code size data below, there is a lot of variation.</div><div><br></div><div><br></div><div><b>Performance</b></div><div><br></div><div>Live range splitting improves the performance of compiled code by eliminating spills, or by moving spills out of loops. Live ranges that cross a function call and are also used in a hot loop get split so there are no spills in the loop. Long, complicated basic blocks benefit from local live range splitting.</div><div><br></div><div>The register-starved i386 target benefits the most. This is the change in execution time for the SPEC benchmarks that change by more than 3% (minus means faster, plus slower):</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote><div><br></div>Targeting i386:<br><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>-19.3%<span class="Apple-tab-span" style="white-space:pre">   </span>164.gzip</div></div><div><div>-12.5%<span class="Apple-tab-span" style="white-space:pre">        </span>433.milc</div></div><div><div>-8.8%<span class="Apple-tab-span" style="white-space:pre"> </span>473.astar</div></div><div><div>-7.4%<span class="Apple-tab-span" style="white-space:pre">        </span>401.bzip2</div></div><div><div>-6.4%<span class="Apple-tab-span" style="white-space:pre">        </span>183.equake</div></div><div><div>-4.9%<span class="Apple-tab-span" style="white-space:pre">       </span>456.hmmer</div></div><div><div>-4.6%<span class="Apple-tab-span" style="white-space:pre">        </span>186.crafty</div></div><div><div>-4.6%<span class="Apple-tab-span" style="white-space:pre">       </span>188.ammp</div></div><div><div>-4.1%<span class="Apple-tab-span" style="white-space:pre"> </span>403.gcc</div></div><div><div>-4.0%<span class="Apple-tab-span" style="white-space:pre">  </span>256.bzip2</div></div><div><div>-3.2%<span class="Apple-tab-span" style="white-space:pre">        </span>197.parser</div></div><div><div>-3.1%<span class="Apple-tab-span" style="white-space:pre">       </span>175.vpr</div></div><div><div>-3.0%<span class="Apple-tab-span" style="white-space:pre">  </span>464.h264ref</div></div><div><div>+6.7%<span class="Apple-tab-span" style="white-space:pre">      </span>177.mesa</div></div></blockquote><div><div><br></div><div>With more registers and out-of-order execution hiding the cost of spilling, x86-64 is more mixed. I suspect this architecture is more sensitive to code layout issues than to register allocation:</div><div><br></div><div>Targeting x86-64:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div> -6.4%<span class="Apple-tab-span" style="white-space:pre">     </span>464.h264ref</div></div><div><div> -6.1%<span class="Apple-tab-span" style="white-space:pre">        </span>256.bzip2</div></div><div><div> -5.2%<span class="Apple-tab-span" style="white-space:pre">  </span>183.equake</div></div><div><div> -4.8%<span class="Apple-tab-span" style="white-space:pre"> </span>447.dealII</div></div><div><div> -3.9%<span class="Apple-tab-span" style="white-space:pre"> </span>400.perlbench</div></div><div><div> -3.5%<span class="Apple-tab-span" style="white-space:pre">      </span>401.bzip2</div></div><div><div> -3.3%<span class="Apple-tab-span" style="white-space:pre">  </span>255.vortex</div></div><div><div> +3.8%<span class="Apple-tab-span" style="white-space:pre"> </span>186.crafty</div></div><div><div> +5.0%<span class="Apple-tab-span" style="white-space:pre"> </span>462.libquantum</div></div><div><div> +8.0%<span class="Apple-tab-span" style="white-space:pre">     </span>471.omnetpp</div></div></blockquote><div><div><br></div><div>Finally, armv7/thumb2 running on a Cortex-A9 CPU does quite well:</div><div><br></div><div>Targeting armv7:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div> -6.2%<span class="Apple-tab-span" style="white-space:pre">      </span>447.dealII</div></div><div><div> -4.4%<span class="Apple-tab-span" style="white-space:pre"> </span>183.equake</div></div><div><div> -4.1%<span class="Apple-tab-span" style="white-space:pre"> </span>462.libquantum</div></div><div><div> -3.5%<span class="Apple-tab-span" style="white-space:pre">     </span>401.bzip2</div></div></blockquote><div><div><br></div><div>Clang builds llvm+clang about 0.5% faster when it was built with the greedy register allocator.</div><div><br></div><div>More data below.</div><div><br></div><div><br></div><div><b>Compile Time</b></div><div><br></div><div>Linear scan spends about 50% of its compile time in VirtRegRewriter, unfolding stack accesses that it folded when spilling. The new allocator uses live range splitting instead, so it can use a much faster trivial rewriter that never unfolds memory accesses.</div><div><br></div><div>This means that the new allocator is faster than linear scan when compiling small functions (such as Objective-C code), but global live range splitting becomes expensive when compiling large functions. When compiling 403.gcc, the new allocator uses 15-40% more time than linear scan, depending on the target. These times are for a PIC build of 403.gcc, timing just the register allocator pass:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><span class="Apple-tab-span" style="white-space:pre">             </span>LinScan<span class="Apple-tab-span" style="white-space:pre">     </span>Greedy<span class="Apple-tab-span" style="white-space:pre">      </span>LLC Total</div></div><div><div>armv7<span class="Apple-tab-span" style="white-space:pre">        </span>1.77s<span class="Apple-tab-span" style="white-space:pre">       </span>2.47s<span class="Apple-tab-span" style="white-space:pre">       </span>+3.2%</div></div><div><div>x86-64<span class="Apple-tab-span" style="white-space:pre">   </span>1.91s<span class="Apple-tab-span" style="white-space:pre">       </span>2.38s<span class="Apple-tab-span" style="white-space:pre">       </span>+1.9%</div></div><div><div>i386<span class="Apple-tab-span" style="white-space:pre">             </span>2.42s<span class="Apple-tab-span" style="white-space:pre">       </span>2.82s<span class="Apple-tab-span" style="white-space:pre">       </span>+0.9%</div></div></blockquote><div><div><br></div><div>These numbers translate to a 1-3% increase in llc total code generation time. Linear scan is faster on ARM because that target doesn't fold memory operands. That means there is nothing to unfold for the expensive VirtRegRewriter. ARM's use of base registers in functions with stack frames also means more work for global live range splitting.</div><div><br></div><div>A more realistic example is timing clang building llvm+clang for x86-64:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>LinScan:<span class="Apple-tab-span" style="white-space:pre">             </span>1991.20s</div></div><div><div>Greedy:<span class="Apple-tab-span" style="white-space:pre">               </span>1991.93s</div></div><div><div>Difference:<span class="Apple-tab-span" style="white-space:pre">   </span>none</div></div></blockquote><div><div><br></div><div>The greedy register allocator speeds up clang a bit on x86-64, so the new allocator is actually faster than linear scan when self-hosting:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>Greedy hosting greedy:<span class="Apple-tab-span" style="white-space:pre">   </span>1981.56s</div></div><div><div>Difference:<span class="Apple-tab-span" style="white-space:pre">                   </span>-0.5% (greedy faster)</div></div></blockquote><div><div><br></div><div>Timing llc on Sketch.bc created from all the Objective-C source files in the Xcode Sketch sample project, we get:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>LinScan:<span class="Apple-tab-span" style="white-space:pre">         </span>0.733s</div></div><div><div>Greedy:<span class="Apple-tab-span" style="white-space:pre">         </span>0.724s</div></div><div><div>Difference:<span class="Apple-tab-span" style="white-space:pre">     </span>-1.23% (greedy faster)</div></div></blockquote><div><div><br></div><div><br></div><div><b>Code Size Data</b></div><div><br></div><div>This is all the nightly test suite tests that produce a __text segment larger than 8K and a code size difference larger than 1%. Negative numbers means smaller code, positive larger.</div><div><br></div><div>Targeting i386 PIC -O2:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div><div>-7.3%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/MiBench/security-rijndael/Output/security-rijndael</div><div>-7.2%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/Prolangs-C/simulator/Output/simulator</div><div>-5.3%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/hexxagon/Output/hexxagon</div><div>-5.2%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/SIBsim4/Output/SIBsim4</div><div>-4.8%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MallocBench/cfrac/Output/cfrac</div><div>-4.1%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Applications/d/Output/make_dparser</div><div>-4.0%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Applications/JM/ldecod/Output/ldecod</div><div>-3.9%<span class="Apple-tab-span" style="white-space:pre">        </span>External/Nurbs/Output/nurbs</div><div>-3.7%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Ptrdist/bc/Output/bc</div><div>-3.4%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/lemon/Output/lemon</div><div>-3.4%<span class="Apple-tab-span" style="white-space:pre">     </span>SingleSource/Benchmarks/Misc-C++/Output/bigfib</div><div>-3.4%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CFP2000/183.equake/Output/183.equake</div><div>-3.2%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/hbd/Output/hbd</div><div>-3.1%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/minisat/Output/minisat</div><div>-3.0%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/tramp3d-v4/Output/tramp3d-v4</div><div>-2.9%<span class="Apple-tab-span" style="white-space:pre">     </span>External/skidmarks10/Output/skidmarks</div><div>-2.9%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/ASCI_Purple/SMG2000/Output/smg2000</div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT95/132.ijpeg/Output/132.ijpeg</div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MiBench/telecomm-gsm/Output/telecomm-gsm</div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/mediabench/gsm/toast/Output/toast</div><div>-2.7%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT95/134.perl/Output/134.perl</div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/Output/cjpeg</div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/oggenc/Output/oggenc</div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/VersaBench/dbms/Output/dbms</div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/473.astar/Output/473.astar</div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">       </span>SingleSource/Benchmarks/Adobe-C++/Output/simple_types_loop_invariant</div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/Prolangs-C/loader/Output/loader</div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/sim/Output/sim</div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CFP2006/433.milc/Output/433.milc</div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CINT95/124.m88ksim/Output/124.m88ksim</div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/Output/timberwolfmc</div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/treecc/Output/treecc</div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/MiBench/consumer-jpeg/Output/consumer-jpeg</div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CFP2006/450.soplex/Output/450.soplex</div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2000/186.crafty/Output/186.crafty</div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">     </span>SingleSource/Benchmarks/Misc-C++/Output/stepanov_container</div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/456.hmmer/Output/456.hmmer</div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/254.gap/Output/254.gap</div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Applications/JM/lencod/Output/lencod</div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/FreeBench/pifft/Output/pifft</div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CFP2006/447.dealII/Output/447.dealII</div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/401.bzip2/Output/401.bzip2</div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2006/464.h264ref/Output/464.h264ref</div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Applications/SPASS/Output/SPASS</div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/McCat/18-imp/Output/imp</div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CFP2006/444.namd/Output/444.namd</div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/Prolangs-C/unix-smail/Output/unix-smail</div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/MallocBench/espresso/Output/espresso</div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/MallocBench/gs/Output/gs</div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/sqlite3/Output/sqlite3</div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2000/255.vortex/Output/255.vortex</div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT95/147.vortex/Output/147.vortex</div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2006/483.xalancbmk/Output/483.xalancbmk</div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/256.bzip2/Output/256.bzip2</div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/252.eon/Output/252.eon</div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/FreeBench/fourinarow/Output/fourinarow</div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/mafft/Output/pairlocalalign</div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/lua/Output/lua</div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/siod/Output/siod</div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CFP2000/177.mesa/Output/177.mesa</div><div>-1.3%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/Bullet/Output/bullet</div><div>-1.3%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/spiff/Output/spiff</div><div>-1.3%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2000/175.vpr/Output/175.vpr</div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">   </span>Total</div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT95/130.li/Output/130.li</div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2006/403.gcc/Output/403.gcc</div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2006/429.mcf/Output/429.mcf</div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Applications/lambda-0.1.3/Output/lambda</div><div>-1.0%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Trimaran/enc-3des/Output/enc-3des</div><div>-1.0%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/Ptrdist/yacr2/Output/yacr2</div><div>+1.1%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/MiBench/office-ispell/Output/office-ispell</div><div>+1.2%<span class="Apple-tab-span" style="white-space:pre">       </span>SingleSource/Benchmarks/Misc-C++-EH/Output/spirit</div><div>+1.4%<span class="Apple-tab-span" style="white-space:pre">       </span>SingleSource/Benchmarks/Misc/Output/oourafft</div><div>+1.4%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/Prolangs-C/assembler/Output/assembler</div><div>+2.1%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/Prolangs-C/unix-tbl/Output/unix-tbl</div><div>+2.3%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/Prolangs-C/gnugo/Output/gnugo</div><div>+2.4%<span class="Apple-tab-span" style="white-space:pre">    </span>External/SPEC/CFP2000/179.art/Output/179.art</div><div>+2.5%<span class="Apple-tab-span" style="white-space:pre">    </span>SingleSource/Benchmarks/Adobe-C++/Output/functionobjects</div><div>+3.3%<span class="Apple-tab-span" style="white-space:pre">        </span>SingleSource/Benchmarks/Adobe-C++/Output/simple_types_constant_folding</div><div>+3.3%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CINT2006/471.omnetpp/Output/471.omnetpp</div><div>+7.1%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/Prolangs-C/cdecl/Output/cdecl</div></div></div></div><div><br></div></blockquote><div><div>Targeting x86-64 PIC -O2:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div>-5.3%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/ASCI_Purple/SMG2000/Output/smg2000</div></div></div><div><div><div>-5.1%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/SIBsim4/Output/SIBsim4</div></div></div><div><div><div>-4.7%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2006/401.bzip2/Output/401.bzip2</div></div></div><div><div><div>-4.4%<span class="Apple-tab-span" style="white-space:pre"> </span>External/skidmarks10/Output/skidmarks</div></div></div><div><div><div>-3.9%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/JM/ldecod/Output/ldecod</div></div></div><div><div><div>-3.9%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/MallocBench/cfrac/Output/cfrac</div></div></div><div><div><div>-3.6%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/Output/timberwolfmc</div></div></div><div><div><div>-3.2%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/MiBench/security-rijndael/Output/security-rijndael</div></div></div><div><div><div>-3.0%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/simulator/Output/simulator</div></div></div><div><div><div>-2.9%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2000/252.eon/Output/252.eon</div></div></div><div><div><div>-2.9%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/cdecl/Output/cdecl</div></div></div><div><div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/MiBench/telecomm-gsm/Output/telecomm-gsm</div></div></div><div><div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/mediabench/gsm/toast/Output/toast</div></div></div><div><div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Benchmarks/Ptrdist/bc/Output/bc</div></div></div><div><div><div>-2.7%<span class="Apple-tab-span" style="white-space:pre">       </span>SingleSource/Benchmarks/Adobe-C++/Output/functionobjects</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Applications/JM/lencod/Output/lencod</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Applications/Burg/Output/burg</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/tramp3d-v4/Output/tramp3d-v4</div></div></div><div><div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/d/Output/make_dparser</div></div></div><div><div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">    </span>External/SPEC/CINT95/124.m88ksim/Output/124.m88ksim</div></div></div><div><div><div>-2.5%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2006/458.sjeng/Output/458.sjeng</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Olden/bh/Output/bh</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MallocBench/espresso/Output/espresso</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/300.twolf/Output/300.twolf</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/unix-smail/Output/unix-smail</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/kimwitu++/Output/kc</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/hbd/Output/hbd</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Applications/spiff/Output/spiff</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/hexxagon/Output/hexxagon</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT95/134.perl/Output/134.perl</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2000/256.bzip2/Output/256.bzip2</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/loader/Output/loader</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">    </span>External/SPEC/CFP2000/183.equake/Output/183.equake</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT2006/464.h264ref/Output/464.h264ref</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/ClamAV/Output/clamscan</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CFP2000/179.art/Output/179.art</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/471.omnetpp/Output/471.omnetpp</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/PAQ8p/Output/paq8p</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Ptrdist/yacr2/Output/yacr2</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre"> </span>External/Povray/Output/povray</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CFP2006/470.lbm/Output/470.lbm</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/429.mcf/Output/429.mcf</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">     </span>SingleSource/Benchmarks/Misc-C++/Output/stepanov_container</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT2006/456.hmmer/Output/456.hmmer</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2000/164.gzip/Output/164.gzip</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/mafft/Output/pairlocalalign</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/Prolangs-C/assembler/Output/assembler</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/MiBench/office-ispell/Output/office-ispell</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CFP2006/433.milc/Output/433.milc</div></div></div><div><div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/MiBench/consumer-typeset/Output/consumer-typeset</div></div></div><div><div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CFP2000/177.mesa/Output/177.mesa</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">    </span>External/SPEC/CFP2006/447.dealII/Output/447.dealII</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CFP2000/188.ammp/Output/188.ammp</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">    </span>External/SPEC/CINT2000/186.crafty/Output/186.crafty</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/MiBench/consumer-lame/Output/consumer-lame</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT95/099.go/Output/099.go</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/SPASS/Output/SPASS</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">       </span>SingleSource/Benchmarks/Adobe-C++/Output/simple_types_constant_folding</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/FreeBench/fourinarow/Output/fourinarow</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/oggenc/Output/oggenc</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">     </span>Total</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2006/403.gcc/Output/403.gcc</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT95/130.li/Output/130.li</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/VersaBench/dbms/Output/dbms</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Applications/minisat/Output/minisat</div></div></div><div><div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/Prolangs-C/agrep/Output/agrep</div></div></div><div><div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/Prolangs-C/bison/Output/mybison</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/Trimaran/enc-3des/Output/enc-3des</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Applications/sqlite3/Output/sqlite3</div></div></div><div><div><div>-1.3%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CFP2006/450.soplex/Output/450.soplex</div></div></div><div><div><div>-1.3%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT2006/400.perlbench/Output/400.perlbench</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MiBench/consumer-jpeg/Output/consumer-jpeg</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MallocBench/gs/Output/gs</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/MiBench/security-blowfish/Output/security-blowfish</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/football/Output/football</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT2000/197.parser/Output/197.parser</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/lemon/Output/lemon</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/MiBench/automotive-susan/Output/automotive-susan</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2000/254.gap/Output/254.gap</div></div></div><div><div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2000/253.perlbmk/Output/253.perlbmk</div></div></div><div><div><div>-1.0%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT95/132.ijpeg/Output/132.ijpeg</div></div></div><div><div><div>-1.0%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/Bullet/Output/bullet</div></div></div><div><div><div>+1.2%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/FreeBench/pifft/Output/pifft</div></div></div><div><div><div>+1.6%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/McCat/18-imp/Output/imp</div></div></div><div><div><div>+1.7%<span class="Apple-tab-span" style="white-space:pre">    </span>SingleSource/Benchmarks/Adobe-C++/Output/loop_unroll</div></div></div><div><div><div>+3.2%<span class="Apple-tab-span" style="white-space:pre">      </span>SingleSource/Benchmarks/Misc/Output/oourafft</div></div></div></blockquote><div><div><br></div><div>Targeting thumbv7 PIC -O2:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div>-6.8%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/Ptrdist/yacr2/Output/yacr2</div></div></div><div><div><div>-5.8%<span class="Apple-tab-span" style="white-space:pre"> </span>SingleSource/Benchmarks/Adobe-C++/Output/simple_types_constant_folding</div></div></div><div><div><div>-5.8%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/Ptrdist/bc/Output/bc</div></div></div><div><div><div>-5.6%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/256.bzip2/Output/256.bzip2</div></div></div><div><div><div>-5.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/Burg/Output/burg</div></div></div><div><div><div>-5.5%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/assembler/Output/assembler</div></div></div><div><div><div>-5.4%<span class="Apple-tab-span" style="white-space:pre">      </span>External/SPEC/CINT2006/401.bzip2/Output/401.bzip2</div></div></div><div><div><div>-5.3%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2000/186.crafty/Output/186.crafty</div></div></div><div><div><div>-5.3%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/FreeBench/fourinarow/Output/fourinarow</div></div></div><div><div><div>-5.2%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/PAQ8p/Output/paq8p</div></div></div><div><div><div>-5.2%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MiBench/automotive-susan/Output/automotive-susan</div></div></div><div><div><div>-5.2%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/ASCI_Purple/SMG2000/Output/smg2000</div></div></div><div><div><div>-5.1%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2006/464.h264ref/Output/464.h264ref</div></div></div><div><div><div>-5.1%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/MiBench/consumer-typeset/Output/consumer-typeset</div></div></div><div><div><div>-5.0%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT95/099.go/Output/099.go</div></div></div><div><div><div>-4.5%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2000/300.twolf/Output/300.twolf</div></div></div><div><div><div>-4.1%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MiBench/security-rijndael/Output/security-rijndael</div></div></div><div><div><div>-4.1%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/Prolangs-C/gnugo/Output/gnugo</div></div></div><div><div><div>-4.0%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/sim/Output/sim</div></div></div><div><div><div>-3.9%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/MiBench/consumer-lame/Output/consumer-lame</div></div></div><div><div><div>-3.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/hexxagon/Output/hexxagon</div></div></div><div><div><div>-3.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/MiBench/telecomm-gsm/Output/telecomm-gsm</div></div></div><div><div><div>-3.6%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/mediabench/gsm/toast/Output/toast</div></div></div><div><div><div>-3.5%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CFP2000/188.ammp/Output/188.ammp</div></div></div><div><div><div>-3.5%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/spiff/Output/spiff</div></div></div><div><div><div>-3.4%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/JM/ldecod/Output/ldecod</div></div></div><div><div><div>-3.3%<span class="Apple-tab-span" style="white-space:pre">  </span>External/SPEC/CINT2000/164.gzip/Output/164.gzip</div></div></div><div><div><div>-3.2%<span class="Apple-tab-span" style="white-space:pre">   </span>MultiSource/Benchmarks/Prolangs-C/agrep/Output/agrep</div></div></div><div><div><div>-3.2%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/Output/timberwolfmc</div></div></div><div><div><div>-3.1%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Applications/d/Output/make_dparser</div></div></div><div><div><div>-3.1%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/lemon/Output/lemon</div></div></div><div><div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT95/124.m88ksim/Output/124.m88ksim</div></div></div><div><div><div>-2.8%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Applications/JM/lencod/Output/lencod</div></div></div><div><div><div>-2.7%<span class="Apple-tab-span" style="white-space:pre">  </span>MultiSource/Applications/SIBsim4/Output/SIBsim4</div></div></div><div><div><div>-2.7%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2006/400.perlbench/Output/400.perlbench</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Applications/kimwitu++/Output/kc</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/siod/Output/siod</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT95/130.li/Output/130.li</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre"> </span>MultiSource/Benchmarks/tramp3d-v4/Output/tramp3d-v4</div></div></div><div><div><div>-2.6%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/253.perlbmk/Output/253.perlbmk</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Applications/SPASS/Output/SPASS</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT95/134.perl/Output/134.perl</div></div></div><div><div><div>-2.4%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/MallocBench/espresso/Output/espresso</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2006/471.omnetpp/Output/471.omnetpp</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2006/445.gobmk/Output/445.gobmk</div></div></div><div><div><div>-2.3%<span class="Apple-tab-span" style="white-space:pre"> </span>Total</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/unix-tbl/Output/unix-tbl</div></div></div><div><div><div>-2.2%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CFP2000/179.art/Output/179.art</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/Output/mpeg2decode</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/175.vpr/Output/175.vpr</div></div></div><div><div><div>-2.1%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/football/Output/football</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CFP2000/177.mesa/Output/177.mesa</div></div></div><div><div><div>-2.0%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Benchmarks/VersaBench/dbms/Output/dbms</div></div></div><div><div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre">        </span>External/SPEC/CINT95/147.vortex/Output/147.vortex</div></div></div><div><div><div>-1.9%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CINT2000/197.parser/Output/197.parser</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/Output/cjpeg</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/255.vortex/Output/255.vortex</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CFP2006/450.soplex/Output/450.soplex</div></div></div><div><div><div>-1.8%<span class="Apple-tab-span" style="white-space:pre">        </span>MultiSource/Benchmarks/Prolangs-C/unix-smail/Output/unix-smail</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/hbd/Output/hbd</div></div></div><div><div><div>-1.7%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2000/254.gap/Output/254.gap</div></div></div><div><div><div>-1.6%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Prolangs-C/bison/Output/mybison</div></div></div><div><div><div>-1.5%<span class="Apple-tab-span" style="white-space:pre">    </span>External/skidmarks10/Output/skidmarks</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/MallocBench/gs/Output/gs</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT2006/483.xalancbmk/Output/483.xalancbmk</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre"> </span>External/SPEC/CFP2006/444.namd/Output/444.namd</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">    </span>MultiSource/Applications/ClamAV/Output/clamscan</div></div></div><div><div><div>-1.4%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CINT95/132.ijpeg/Output/132.ijpeg</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">   </span>External/SPEC/CFP2006/447.dealII/Output/447.dealII</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">        </span>SingleSource/Benchmarks/Adobe-C++/Output/simple_types_loop_invariant</div></div></div><div><div><div>-1.2%<span class="Apple-tab-span" style="white-space:pre">      </span>MultiSource/Applications/oggenc/Output/oggenc</div></div></div><div><div><div>-1.1%<span class="Apple-tab-span" style="white-space:pre">     </span>External/SPEC/CINT2006/462.libquantum/Output/462.libquantum</div></div></div><div><div><div>+1.1%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/Bullet/Output/bullet</div></div></div><div><div><div>+1.8%<span class="Apple-tab-span" style="white-space:pre">       </span>MultiSource/Benchmarks/FreeBench/pifft/Output/pifft</div></div></div><div><div><div>+2.2%<span class="Apple-tab-span" style="white-space:pre">       </span>External/SPEC/CINT2000/252.eon/Output/252.eon</div></div></div><div><div><div>+9.7%<span class="Apple-tab-span" style="white-space:pre">     </span>MultiSource/Benchmarks/Trimaran/enc-3des/Output/enc-3des</div></div></div></blockquote><div><div><br></div><div><br></div><div>Performance Data</div><div>================</div><div><br></div><div>This is all the nightly test suite tests that show a difference in execution</div><div>time larger than 20ms and larger than 3%. Negative numbers means faster,</div><div>positive slower.</div><div><br></div><div>Targeting i386 PIC -O2:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>-23.1% SingleSource/Benchmarks/Shootout-C++/moments</div></div><div><div>-21.1% SingleSource/Benchmarks/Stanford/Puzzle</div></div><div><div>-19.3% External/SPEC/CINT2000/164.gzip/164.gzip</div></div><div><div>-18.7% SingleSource/Benchmarks/Misc/flops</div></div><div><div>-17.5% MultiSource/Benchmarks/Olden/tsp/tsp</div></div><div><div>-14.4% MultiSource/Benchmarks/Ptrdist/anagram/anagram</div></div><div><div>-14.3% MultiSource/Benchmarks/FreeBench/pifft/pifft</div></div><div><div>-12.5% External/SPEC/CFP2006/433.milc/433.milc</div></div><div><div>-11.4% MultiSource/Benchmarks/Trimaran/enc-md5/enc-md5</div></div><div><div>-11.1% MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4</div></div><div><div>-11.0% MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000</div></div><div><div> -9.0% MultiSource/Applications/minisat/minisat</div></div><div><div> -8.8% External/SPEC/CINT2006/473.astar/473.astar</div></div><div><div> -8.7% SingleSource/Benchmarks/Misc/ReedSolomon</div></div><div><div> -8.6% SingleSource/Benchmarks/BenchmarkGame/nsieve-bits</div></div><div><div> -8.0% SingleSource/Benchmarks/Misc/salsa20</div></div><div><div> -7.7% MultiSource/Benchmarks/ASC_Sequoia/CrystalMk/CrystalMk</div></div><div><div> -7.4% External/SPEC/CINT2006/401.bzip2/401.bzip2</div></div><div><div> -7.4% SingleSource/Benchmarks/Misc/mandel-2</div></div><div><div> -7.3% SingleSource/Benchmarks/Shootout-C++/methcall</div></div><div><div> -6.5% MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame</div></div><div><div> -6.4% External/SPEC/CFP2000/183.equake/183.equake</div></div><div><div> -5.6% MultiSource/Applications/lemon/lemon</div></div><div><div> -5.5% MultiSource/Applications/SIBsim4/SIBsim4</div></div><div><div> -5.2% MultiSource/Benchmarks/Olden/bisort/bisort</div></div><div><div> -5.1% MultiSource/Applications/SPASS/SPASS</div></div><div><div> -4.9% External/SPEC/CINT2006/456.hmmer/456.hmmer</div></div><div><div> -4.6% SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant</div></div><div><div> -4.6% External/SPEC/CINT2000/186.crafty/186.crafty</div></div><div><div> -4.6% External/SPEC/CFP2000/188.ammp/188.ammp</div></div><div><div> -4.5% SingleSource/Benchmarks/Misc/oourafft</div></div><div><div> -4.5% MultiSource/Applications/sqlite3/sqlite3</div></div><div><div> -4.4% MultiSource/Applications/lua/lua</div></div><div><div> -4.4% MultiSource/Benchmarks/Bullet/bullet</div></div><div><div> -4.2% MultiSource/Applications/viterbi/viterbi</div></div><div><div> -4.1% External/SPEC/CINT2006/403.gcc/403.gcc</div></div><div><div> -4.0% External/SPEC/CINT2000/256.bzip2/256.bzip2</div></div><div><div> -3.9% MultiSource/Benchmarks/MallocBench/espresso/espresso</div></div><div><div> -3.8% MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4</div></div><div><div> -3.5% SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding</div></div><div><div> -3.4% MultiSource/Applications/spiff/spiff</div></div><div><div> -3.2% External/SPEC/CINT2000/197.parser/197.parser</div></div><div><div> -3.1% External/Nurbs/nurbs</div></div><div><div> -3.1% External/SPEC/CINT2000/175.vpr/175.vpr</div></div><div><div> -3.0% External/SPEC/CINT2006/464.h264ref/464.h264ref</div></div><div><div> +3.4% SingleSource/Benchmarks/Shootout-C++/hash2</div></div><div><div> +3.7% MultiSource/Applications/aha/aha</div></div><div><div> +3.9% SingleSource/Benchmarks/Shootout-C++/objinst</div></div><div><div> +4.7% MultiSource/Benchmarks/Ptrdist/yacr2/yacr2</div></div><div><div> +6.6% MultiSource/Applications/JM/lencod/lencod</div></div><div><div> +6.7% External/SPEC/CFP2000/177.mesa/177.mesa</div></div><div><div> +7.4% MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1</div></div><div><div> +8.2% MultiSource/Benchmarks/SciMark2-C/scimark2</div></div><div><div>+10.7% SingleSource/Benchmarks/Shootout/methcall</div></div><div><div>+12.5% SingleSource/UnitTests/Vector/SSE/sse.stepfft</div></div><div><div>+14.6% MultiSource/Benchmarks/BitBench/drop3/drop3</div></div></blockquote><div><div><br></div><div>Targeting x86-64 PIC -O2:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>-40.0% SingleSource/Benchmarks/Stanford/Queens</div></div><div><div>-35.7% SingleSource/Benchmarks/Misc/flops</div></div><div><div>-24.2% SingleSource/UnitTests/Vector/build2</div></div><div><div>-23.1% MultiSource/Benchmarks/Olden/tsp/tsp</div></div><div><div>-19.4% MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm</div></div><div><div>-18.2% SingleSource/Benchmarks/Shootout-C++/moments</div></div><div><div>-13.7% MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1</div></div><div><div>-11.0% MultiSource/Benchmarks/Ptrdist/anagram/anagram</div></div><div><div>-11.0% SingleSource/Benchmarks/Dhrystone/fldry</div></div><div><div>-10.8% MultiSource/Benchmarks/Ptrdist/ks/ks</div></div><div><div> -8.7% SingleSource/Benchmarks/Misc/ReedSolomon</div></div><div><div> -6.9% MultiSource/Applications/lua/lua</div></div><div><div> -6.4% External/SPEC/CINT2006/464.h264ref/464.h264ref</div></div><div><div> -6.1% External/SPEC/CINT2000/256.bzip2/256.bzip2</div></div><div><div> -5.2% External/SPEC/CFP2000/183.equake/183.equake</div></div><div><div> -4.8% External/SPEC/CFP2006/447.dealII/447.dealII</div></div><div><div> -4.1% MultiSource/Benchmarks/BitBench/drop3/drop3</div></div><div><div> -3.9% External/SPEC/CINT2006/400.perlbench/400.perlbench</div></div><div><div> -3.7% SingleSource/Benchmarks/BenchmarkGame/Large/fasta</div></div><div><div> -3.5% External/SPEC/CINT2006/401.bzip2/401.bzip2</div></div><div><div> -3.3% External/SPEC/CINT2000/255.vortex/255.vortex</div></div><div><div> -3.2% MultiSource/Applications/JM/lencod/lencod</div></div><div><div> -3.2% MultiSource/Applications/lambda-0.1.3/lambda</div></div><div><div> -3.2% MultiSource/Benchmarks/Ptrdist/ft/ft</div></div><div><div> -3.2% MultiSource/Applications/sqlite3/sqlite3</div></div><div><div> -3.1% SingleSource/Benchmarks/Misc/fbench</div></div><div><div> +3.8% External/SPEC/CINT2000/186.crafty/186.crafty</div></div><div><div> +4.3% MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4</div></div><div><div> +4.3% SingleSource/Benchmarks/BenchmarkGame/nsieve-bits</div></div><div><div> +4.8% MultiSource/Applications/hexxagon/hexxagon</div></div><div><div> +5.0% External/SPEC/CINT2006/462.libquantum/462.libquantum</div></div><div><div> +6.7% MultiSource/Benchmarks/Ptrdist/yacr2/yacr2</div></div><div><div> +8.0% External/SPEC/CINT2006/471.omnetpp/471.omnetpp</div></div><div><div>+10.0% SingleSource/Benchmarks/CoyoteBench/huffbench</div></div><div><div>+12.0% SingleSource/Benchmarks/McGill/chomp</div></div><div><div>+18.0% SingleSource/Benchmarks/BenchmarkGame/n-body</div></div><div><div>+45.5% SingleSource/Benchmarks/BenchmarkGame/puzzle</div></div></blockquote><div><div><br></div><div>Targeting armv7 -O2, Cortex-A9:</div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>-38.1% MultiSource/Benchmarks/MiBench/security-sha/security-sha</div></div><div><div>-29.1% MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32</div></div><div><div>-20.9% SingleSource/Benchmarks/CoyoteBench/huffbench</div></div><div><div>-17.2% MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1</div></div><div><div>-14.8% SingleSource/Benchmarks/Misc/salsa20</div></div><div><div>-14.3% SingleSource/UnitTests/Vector/build2</div></div><div><div>-10.3% MultiSource/Benchmarks/MallocBench/gs/gs</div></div><div><div>-10.2% SingleSource/Benchmarks/Misc/ReedSolomon</div></div><div><div> -9.8% MultiSource/Applications/siod/siod</div></div><div><div> -9.7% MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo</div></div><div><div> -9.1% MultiSource/Benchmarks/llubenchmark/llu</div></div><div><div> -9.1% MultiSource/Benchmarks/FreeBench/analyzer/analyzer</div></div><div><div> -8.9% MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes</div></div><div><div> -8.8% SingleSource/Benchmarks/Shootout/sieve</div></div><div><div> -8.6% MultiSource/Benchmarks/MiBench/security-rijndael/security-rijndael</div></div><div><div> -7.9% SingleSource/Benchmarks/Misc/mandel-2</div></div><div><div> -6.2% MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra</div></div><div><div> -6.2% External/SPEC/CFP2006/447.dealII/447.dealII</div></div><div><div> -5.7% MultiSource/Applications/JM/ldecod/ldecod</div></div><div><div> -5.1% SingleSource/Benchmarks/Stanford/Treesort</div></div><div><div> -5.0% MultiSource/Benchmarks/Olden/mst/mst</div></div><div><div> -4.4% MultiSource/Benchmarks/McCat/18-imp/imp</div></div><div><div> -4.4% External/SPEC/CFP2000/183.equake/183.equake</div></div><div><div> -4.3% MultiSource/Benchmarks/MiBench/network-patricia/network-patricia</div></div><div><div> -4.3% MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset</div></div><div><div> -4.1% External/SPEC/CINT2006/462.libquantum/462.libquantum</div></div><div><div> -4.0% MultiSource/Applications/viterbi/viterbi</div></div><div><div> -3.7% MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame</div></div><div><div> -3.5% SingleSource/Benchmarks/Stanford/Puzzle</div></div><div><div> -3.5% External/SPEC/CINT2006/401.bzip2/401.bzip2</div></div><div><div> -3.5% External/Povray/povray</div></div><div><div> -3.4% MultiSource/Applications/oggenc/oggenc</div></div><div><div> -3.4% SingleSource/Benchmarks/CoyoteBench/fftbench</div></div><div><div> -3.4% SingleSource/Benchmarks/Shootout-C++/hash2</div></div><div><div> -3.4% MultiSource/Applications/ClamAV/clamscan</div></div><div><div> +3.0% MultiSource/Applications/hexxagon/hexxagon</div></div><div><div> +3.7% SingleSource/Benchmarks/Shootout/ary3</div></div><div><div> +3.8% MultiSource/Benchmarks/BitBench/uudecode/uudecode</div></div><div><div> +4.0% MultiSource/Benchmarks/sim/sim</div></div><div><div> +4.9% SingleSource/Benchmarks/BenchmarkGame/nsieve-bits</div></div><div><div> +5.0% MultiSource/Benchmarks/Olden/em3d/em3d</div></div><div><div> +5.3% SingleSource/Benchmarks/Misc-C++/Large/ray</div></div><div><div> +6.1% MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan</div></div><div><div> +6.5% MultiSource/Benchmarks/McCat/08-main/main</div></div><div><div> +6.5% MultiSource/Benchmarks/Olden/health/health</div></div><div><div> +6.9% MultiSource/Benchmarks/Trimaran/enc-md5/enc-md5</div></div><div><div> +9.1% MultiSource/Benchmarks/BitBench/drop3/drop3</div></div><div><div> +9.2% MultiSource/Applications/SIBsim4/SIBsim4</div></div><div><div>+10.0% SingleSource/Benchmarks/Shootout/heapsort</div></div><div><div>+10.5% MultiSource/Benchmarks/Trimaran/enc-3des/enc-3des</div></div><div><div>+10.9% SingleSource/Benchmarks/Shootout-C++/heapsort</div></div><div><div>+11.7% MultiSource/Benchmarks/Ptrdist/bc/bc</div></div><div><div>+12.0% MultiSource/Benchmarks/McCat/17-bintr/bintr</div></div><div><div>+55.2% SingleSource/Benchmarks/Shootout/methcall</div></div></blockquote><div><div><br></div></div></body></html>