This reduces the size of iommu_gas.o by 480 bytes.
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:
```
x times.orig
+ 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 * + ++ +|
| |________|M______A___M___A_______|________| |
+--------------------------------------------------------------------------+
N 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 32 61.730479 63.710195 62.643288 62.694578 0.50349801
+ 32 61.20328 63.207203 62.235613 62.210942 0.53282895
Difference at 95.0% confidence
-0.483635 +/- 0.259056
-0.771415% +/- 0.413203%
(Student's t, pooled s = 0.518371)
```