<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt"><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->

<div class="MsoNormal">Hi Andy,<br>
<br>
We have done some experimental evaluation of the different schedulers in LLVM 3.3 (source, BURR, ILP, fast, MI). The evaluation was done
on x86-64 using SPEC CPU2006. We have measured both the amount of spill code as
well as the execution time as detailed below.<br>
<br>
Here are our main findings:<br>
<br>
1. The SD schedulers significantly impact the spill counts and the execution
times for many benchmarks, but the machine instruction (MI) scheduler in 3.3
has very limited impact on both spill counts and execution times. Is this
because most of you work on MI did not make it into the 3.3 release? We don't have a strong motivation to test the trunk at this point (we'll wait for 3.4), because we are working on a
publication and prefer to base that on an official release. However, if you tell
me that you expect things to be significantly different in the trunk, we'll try
to find the time to give that a shot (unfortunately, we only have one test
machine, and SPEC tests take a lot of time as detailed below).<br style="mso-special-character:line-break">
<br style="mso-special-character:line-break">
</div>

<div class="MsoNormal">2. The BURR scheduler gives the minimum amount of spill code
and the best overall execution time (SPEC geo-mean).<br>
<br>
3. The source scheduler is the second best scheduler in terms of spill code and
execution time, and its performance is very close to that of BURR in both
metrics. This result is surprising for me, because, as far as I understand,
this scheduler is a conservative scheduler that tries to preserve the original
program order, isn't it? Does this result surprise you?<br>
<br>
4. The ILP scheduler has the worst execution times on FP2006 and the second
worst spill counts, although it is the default on x86-64. Is this surprising?
BTW, Dragon Egg sets the scheduler to source. On Line 368 in Backend.cpp, we
find:</div>

<div class="MsoNormal">if (!flag_schedule_insns)</div>

<div class="MsoNormal"><span style="mso-spacerun:yes">   
</span>Args.push_back("--pre-RA-sched=source");<span style="mso-spacerun:yes">   </span><br>
<br>
Here are the details of our results:<br>
<br>
Spill Counts<br>
---------------</div>

<div class="MsoNormal">CPU2006 has a total of 47448 functions, out of which 10363
functions (22%) have spills. If we break this down by FP and INT, we’ll see
that 42% of the functions in FP2006 have spills, while 10% of the functions in
INT2006 have spills. The amount of spill code was measured by printing the
number of ranges spilled by the default (greedy) register allocator (printing
the variable NumSpilledRanges in InlineSpiller.cpp). This is not a perfectly accurate
metric, but, given the large sample size (> 10K functions), the total number
of spills across such a statistically significant sample is believed to give a
very strong indication about each scheduler's performance at reducing register
pressure. The differences in the table below are calculated relative to the
source scheduler. </div>

<div class="MsoNormal"> </div>

<table class="MsoNormalTable" style="width:396.75pt;mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in" border="0" cellpadding="0" cellspacing="0" width="529">
 <tbody><tr style="mso-yfti-irow:0;height:12.75pt">
  <td style="width:113.0pt;padding:0in 0in 0in 0in;height:12.75pt" width="151">
  <div class="MsoNormal">Heuristic</div>
  </td>
  <td style="width:57.0pt;padding:0in 0in 0in 0in;height:12.75pt" width="76">
  <div class="MsoNormal">Total</div>
  </td>
  <td style="width:51.0pt;padding:0in 0in 0in 0in;height:12.75pt" width="68">
  <div class="MsoNormal">Source </div>
  </td>
  <td style="width:85.0pt;padding:0in 0in 0in 0in;height:12.75pt" width="113">
  <div class="MsoNormal"> </div>
  </td>
  <td style="width:91.0pt;padding:0in 0in 0in 0in;height:12.75pt" width="121">
  <div class="MsoNormal"> </div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:1;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal"> </div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Spills</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Spills</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Spill Difference</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">% Spill Difference</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:2;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Source</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">0</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">0.00%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:3;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">ILP</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">298222</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">3751</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">1.27%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:4;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">BURR</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">287932</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">-6539</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">-2.22%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:5;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Fast</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">312787</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">18316</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">6.22%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:6;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">source + MI</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294979</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">508</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">0.17%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:7;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">ILP + MI</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">296681</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">2210</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">0.75%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:8;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">BURR + MI</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">289328</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">-5143</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">-1.75%</div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:9;mso-yfti-lastrow:yes;height:12.75pt">
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">Fast + MI</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">302131</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">294471</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">7660</div>
  </td>
  <td style="padding:0in 0in 0in 0in;height:12.75pt">
  <div class="MsoNormal">2.60%</div>
  </td>
 </tr>
</tbody></table>

<div class="MsoNormal"><br>
So, the best register pressure reduction scheduler is BURR. Note that enabling
the MI scheduler makes things better when the SD scheduler is relatively weak
at reducing register pressure (fast or ILP), while it makes things worse when
the SD scheduler is relatively good at reducing register pressure (BURR or
source).<br style="mso-special-character:line-break">
<br style="mso-special-character:line-break">
</div>

<div class="MsoNormal">Execution Times</div>

<div class="MsoNormal">---------------------</div>

<div class="MsoNormal">Execution times were measured by running the benchmarks on
an x86-64 machine with 5 or 9 iterations per benchmark as indicated below (in
most cases, no significant difference was observed between 9 iterations (which
take about two days) and 5 iterations (which take about one day)). The
differences in the table below are calculated relative to the source scheduler.
The %Diff Max (Min) is the maximum (minimum) percentage difference on a single
benchmark between each scheduler and the source scheduler. <span style="mso-spacerun:yes">These numbers show the differences on individual FP benchmarks </span>can be quite significant.<br style="mso-special-character:line-break">
<br style="mso-special-character:line-break">
</div>

<table class="MsoNormalTable" style="width:469.25pt;margin-left:4.75pt;border-collapse:collapse;mso-padding-alt:
 0in 5.4pt 0in 5.4pt" border="0" cellpadding="0" cellspacing="0" width="626">
 <tbody><tr style="mso-yfti-irow:0;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Heuristic</span></b></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">FP %Diff</span></b></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">FP %Diff</span></b></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial"><span style="mso-spacerun:yes"> </span>FP %Diff</span></b></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">INT %Diff</span></b></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">INT %Diff</span></b></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">INT %Diff</span></b></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">iterations</span></b></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:1;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial"> </span></b></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Geo-mean</span></b></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Max</span></b></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Min</span></b></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Geo-mean</span></b></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Max</span></b></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:10.0pt;font-family:Arial">Min</span></b></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial"> </span></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:2;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">source</span></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.00%</span></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial"> </span></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:3;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">ILP</span></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-2.02%</span></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">2.30%</span></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-22.04%</span></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.42%</span></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">3.61%</span></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">-2.16%</span></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">9
  iterations</span></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:4;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">BURR</span></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.70%</span></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">8.62%</span></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-5.56%</span></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.66%</span></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">3.09%</span></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">-1.40%</span></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">9
  iteratation</span></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:5;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">fast</span></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-1.34%</span></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">9.48%</span></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-6.72%</span></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.12%</span></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">3.09%</span></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">-2.34%</span></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">5
  iterations</span></div>
  </td>
 </tr>
 <tr style="mso-yfti-irow:6;mso-yfti-lastrow:yes;height:12.75pt">
  <td style="width:65.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="87">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">source +
  MI</span></div>
  </td>
  <td style="width:50.25pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">0.21%</span></div>
  </td>
  <td style="width:42.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="56">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">3.42%</span></div>
  </td>
  <td style="width:.7in;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="67">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-1.26%</span></div>
  </td>
  <td style="width:46.6pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="62">
  <div class="MsoNormal" style="text-align:center" align="center"><span style="font-size:10.0pt;font-family:Arial">-0.01%</span></div>
  </td>
  <td style="width:46.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="61">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">0.83%</span></div>
  </td>
  <td style="width:48.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="64">
  <div class="MsoNormal" style="text-align:right" align="right"><span style="font-size:10.0pt;font-family:Arial">-0.94%</span></div>
  </td>
  <td style="width:121.0pt;padding:0in 5.4pt 0in 5.4pt;
  height:12.75pt" nowrap="" valign="bottom" width="161">
  <div class="MsoNormal"><span style="font-size:10.0pt;font-family:Arial">5
  iterations</span></div>
  </td>
 </tr>
</tbody></table>

<div class="MsoNormal"> </div>

<div class="MsoNormal">Most of the above performance differences have been correlated with significant changes in spill counts in hot functions. Note that the ILP scheduler causes a degradation of 22% on
one benchmark (lbm) relative to the source scheduler. We have verified that this happens because of poor scheduling that increases the register pressure and thus leads to generating excessive spills in this benchmark’s
hottest loop. We should
probably report this as a performance bug if ILP stays the default scheduler on
x86-64.</div>

<div class="MsoNormal"><br></div><div class="MsoNormal">Regards</div><div class="MsoNormal"> <br></div>

<div class="MsoNormal">Ghassan Shobaki</div>

<div class="MsoNormal">Assistant Professor<span class="yiv7485283182apple-converted-space"> </span></div>

<div class="MsoNormal">Department of Computer Science<span class="yiv7485283182apple-converted-space"> </span></div>

<div class="MsoNormal">Princess Sumaya
 University for Technology<span class="yiv7485283182apple-converted-space"> </span></div>

<div class="MsoNormal">Amman, Jordan</div>

<div class="MsoNormal"> </div>

<!--[if !mso]><object
 classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]--><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--><br><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><br> </div> </div>  </div></body></html>