[Info-vax] x86-64 data aligment / faulting
gah4
gah4 at u.washington.edu
Sun Feb 27 15:16:41 EST 2022
On Sunday, February 27, 2022 at 6:43:41 AM UTC-8, Bill Gunshannon wrote:
> When the Alpha first came out its attackers used to provide
> example code that performed very badly to prove they were
> better. Wasn't this one of the methods used to write those
> really bad performing programs? This and forcing repeated
> dumping of the pipelined instructions?
As well as I remember it, Alpha only has 32 bit and 64 bit aligned
load/store instructions. If you want something else, you do it with
some other instructions. Shifts and such.
If the compiler does all that for you, it will be pretty slow.
In the Fortran 66 days, it was believe that Fortran COMMON didn't
allow for padding. Some systems would have complicated systems
to avoid problems. Ones that I remember trapped the alignment
exception, copied that data, reran the instruction, and maybe
copied data back.
But then came processors with imprecise interrupts, which
didn't allow finding the offending instruction.
But now COMMON, and C's struct, allow for padding, so it usually
isn't a problem.
More information about the Info-vax
mailing list