Displaying 2 results from an estimated 2 matches for "l_floppy_prob".
Did you mean:
l_floppy_probe
2015 Feb 20
3
[LLVMdev] clang .code16 with -Os producing larger code that it needs to
...ddr32 mov 0x7c5c,%ebx
7cc3: 00
7cc4: 66 89 5c 08 mov %ebx,0x8(%si)
gas:
7cbc: 66 8b 1e 5c 7c mov 0x7c5c,%ebx
7cc1: 66 89 5c 08 mov %ebx,0x8(%si)
32-bit jump.
source:
jnb LOCAL(floppy_probe)
clang:
+ 7cb5: 66 0f 83 07 01 00 00 jae 7dc3 <L_floppy_probe>
gas:
- 7cb5: 0f 83 0a 01 jae 7dc3 <L_floppy_probe>
The last one is particularly problematic as it never makes sense to
issue 32-bit jump if %ip is only 16 bits and it eats 3 extra bytes per
jump. Is it possible to force clang to generate 16-bit jumps?
On bright side if I...
2015 Feb 20
2
[LLVMdev] clang .code16 with -Os producing larger code that it needs to
...t;> 32-bit access to 16-bit addresses.
>> clang:
>> 7cbc: 67 66 8b 1d 5c 7c 00 00 addr32 mov 0x7c5c,%ebx
>> gas:
>> 7cbc: 66 8b 1e 5c 7c mov 0x7c5c,%ebx
>
>> 32-bit jump.
>> clang:
>> + 7cb5: 66 0f 83 07 01 00 00 jae 7dc3 <L_floppy_probe>
>> gas:
>> - 7cb5: 0f 83 0a 01 jae 7dc3 <L_floppy_probe>
>
> To a large extent, those are the *same* problem. We don't know that it's
> eventually going to fit into a 16-bit offset, so we emit it with a fixup
> record which can cope with 3...