<div dir="ltr"><div>I'm working on implementing MSVC's __ptr32, __ptr64, __sptr, and __uptr extensions, which represent native pointers on 32-bit and 64-bit systems. The implementation involves adding three address spaces that represent</div><div>- 32-bit pointers with sign extension,</div><div>- 32-bit pointers with zero extension, and </div><div>- 64-bit pointers. <br></div><div><br></div><div>This would require adding the three pointer sizes '-p253:32:32-p254:32:32-p255:64:64' to the X86 datalayout. I picked 253/254/255 because they're close to 256-258, which are the address spaces currently in use. I'm not sure if it would be better to use 1/2/3 or some large numbers.</div><div><br></div><div><a href="https://reviews.llvm.org/D64931">https://reviews.llvm.org/D64931</a> contains the patch.</div><div>Any feedback is welcome!</div><div><br></div><div>- Amy</div></div>