diff options
author | Valoran <valomay@protonmail.com> | 2023-04-05 19:37:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-05 19:37:20 +0200 |
commit | 358230d26eb5d29cb12c6c16e4e4f60117647a23 (patch) | |
tree | 47c7e4049fc5e3ab8916e3093d5bbf7c40663fad /README.md | |
parent | f4ddce910894bf6dbdf83c0642c4b275854b60dd (diff) | |
download | compcert-358230d26eb5d29cb12c6c16e4e4f60117647a23.tar.gz compcert-358230d26eb5d29cb12c6c16e4e4f60117647a23.zip |
Use a shorter insruction on x86 for loading unsigned 32-bit immediates into 64-bit registers.(#487)
Writing into a 32-bit register erases the upper 32 bits of a 64-bit
register. This is the shortest instruction for loading unsigned
32-bit immediates. The length of those instructions is:
- movl: 5 bytes
- movq: 7 bytes
- movabsq: 10 bytes
Some assemblers will choose the proper instruction by themselves;
the GNU assembler does not, apparently. So it's better to make
the choice of instruction explicit.
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions