x86/ioapic: Improve code generation for __io_apic_{read,write}()
The write into REGSEL prevents the optimiser from reusing the address
calculation, forcing it to be calcualted twice.
The calculation itself is quite expensive. Pull it out into a local varaible.
Bloat-o-meter reports:
add/remove: 0/0 grow/shrink: 0/26 up/down: 0/-1527 (-1527)
Also correct the register type, which is uint32_t, not int.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>