Liste des Groupes | Revenir à c arch |
BGB <cr88192@gmail.com> writes:If you compile regular C/C++ code that does not intentionally do anyOn 2/2/2025 10:45 AM, EricP wrote:There are lots of potentially unaligned loads and stores. There areDigging deeper with performance counters reveals executing each unaligned>
load instruction results in ~505 executed instructions. P550 almost
certainly doesn’t have hardware support for unaligned accesses.
Rather, it’s likely raising a fault and letting an operating system
handler emulate it in software."
>
An emulation fault, or something similarly nasty...
>
>
At that point, even turning any potentially unaligned load or store into
a runtime call is likely to be a lot cheaper.
very few actually unaligned loads and stores: On Linux-Alpha every
unaligned access is logged by default, and the number of
unaligned-access entries in the logs of our machines was relatively
small (on average a few per day). So trapping actual unaligned
accesses was faster than replacing potential unaligned accesses with
code sequences that synthesize the unaligned access from aligned
accesses.
Of course, if the cost of unaligned accesses is that high, you will
avoid them in cases like block copies where cheap unaligned accesses
would otherwise be beneficial.
- anton
Les messages affichés proviennent d'usenet.