Is it easy/possible to run code with 32 bit pointers on a modern  64 bit OS?
    Hal Murray 
    hmurray at megapathdsl.net
       
    Mon Mar 27 03:28:52 UTC 2017
    
    
  
fw at fwright.net said:
> The 32-bit x86 architecture is so register-crippled that C code typically
> runs about 15% faster when compiled for X86_64 than when compiled for i386,
> in spite of the poorer cache locality caused by the larger pointers. 
I don't want the code to run in 32 bit mode.
I just want to constrain pointers to have 0s in the top 32 bits so they can 
be stored in 32 bits of memory.  I think that works if loads/stores treat 
them as unsigned.
I don't think there is anything fundamental that constrains pointers to be 
the same size as longs.  I'm not a language wizard.  Some software rule may 
require it, but the hardware doesn't.
fw at fwright.net said:
> It is, however, useful to make 32-on-64-bit builds work for testing 32-bit
> issues.  This is often more complicated than just adding "-m32" to the
> flags. 
I can do that on ARM or an Intel system build for i386.
-- 
These are my opinions.  I hate spam.
    
    
More information about the devel
mailing list