This reduces the size of iommu_gas.o by 64480 bytes.
Compiling a test program ({F46418661}) with augmentation disabled, with -O3 compilation, a performance improvement is observed with this change:These changes have been performance-tested with this {F46570614} program.
On lip5, small improvements are reliably reserved - bigger improvements for O2 optimization than for O3 optimization:
lip5, cc -O2:
```
$ ministatx times.orig times
+ times
+--------------------------------------------------------------------------+
| + x |
| ++ x |
| ++ x |
| ++ xx |
| ++ xx |
| ++ xx |
| ++ xxx |
| ++ xxx |
|+++ xxx |
|+++ xxx |
|+++ xxx |
|+++ xxx |
|++++ xxx |
|+++++ xxxx|
| A| |A| |
+--------------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 36 126.15123 126.24008 126.18644 126.18731 0.019683054
+ 36 124.328 124.43241 124.3615 124.36322 0.021958728
Difference at 95.0% confidence
-1.82409 +/- 0.00980022
-1.44554% +/- 0.00776641%
(Student's t, pooled s = 0.020852)
```lip5, cc -O3:
```
x times.3.orig
+ times.3
+--------------------------------------------------------------------------+
| + x |
| ++ x |
| +++ xx |
| +++ xxx |
| +++ xxxx |
| ++++ xxxx |
| ++++ xxxxx |
| +++++ xxxxx |
| +++++ xxxxx |
| ++++++ xxxxxx |
| ++++++ xxxxxx |
|+++++++++ xxxxxxxx|
| |MA| |_A| |
+--------------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 51 125.50536 125.58741 125.5482 125.54697 0.018423774
+ 51 124.68489 124.77876 124.72693 124.72891 0.020512886
Difference at 95.0% confidence
-0.818067 +/- 0.00765992
-0.651602% +/- 0.00610124%
(Student's t, pooled s = 0.0194963)
```
On lip3, improvement is not so clear. For "cc -O2", this appears to weaken performance, but to improve it for "cc -O3".
lip3, cc -O2
```
x times.orig
+ times
+-------------------------------------------------------------------------------------+
| + xxx * ++ + + + x + |
| |x x+ + + xxxx*x**xx++*++++*x+ *x +++ xx*+ + x xxx * + ++ |+|
| + +x+ + x x x x * |________|M______A___M___A_______|________| |
|+ + + + +x + + + ++*++ + *+ +x+xx+x+ *xx* * x*x x x*x**+x x x x xx x xx|+--------------------------------------------------------------------------+
| N |___________M___A____|___________|___MA_______________| Min Max Median Avg |Stddev
+-------------------------------------------------------------------------------------+x 32 61.378812 63.298243 62.033895 62.269268 0.55027776
+ 32 61.506697 63.80497 62.406772 62.550431 0.54438709
Difference at 95.0% confidence
0.281163 +/- 0.273533
0.451528% +/- 0.439275%
(Student's t, pooled s = 0.54734)
```
lip3, cc -O3
```
x times.orig
+ times
+--------------------------------------------------------------------------+
| + +xx |
| + + x +xxxx+ x |
|+ + +++ +**+ + **+ x * +x +*++*x*x+ * + x xx+ + xx xxx|
| |______________AM___________MA_|____________| |
+--------------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 362 61.631988730479 63.878822710195 62.859401643288 62.870247694578 0.515610880349801
+ 362 61.2497120328 63.161999207203 62.057702235613 62.198379210942 0.521539683282895
Difference at 95.0% confidence
-0.671867483635 +/- 0.24372959056
-1.06866-0.771415% +/- 0.38767%413203%
(Student's t, pooled s = 0.518584518371)
```