[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