linux-x32-abi

How to detect X32 ABI or environment in the preprocessor?

老子叫甜甜 提交于 2019-12-23 02:58:21
问题 X32 is an ABI for amd64 / x86_64 CPUs using 32-bit pointers. The idea is to combine the larger register set of x86_64 with the smaller memory and cache footprint resulting from 32-bit pointers. It provides up to about a 40% speedup. See Difference between x86, x32, and x64 architectures on Stack Overflow, and the Debian X32 Ports wiki page for details and setting it up as a chroot environment. We have a bug report from a Debian maintainer under the environment. The report is adcq is an

64-bit executable runs slower than 32-bit version

无人久伴 提交于 2019-12-20 03:07:17
问题 I have a 64-bit Ubuntu 13.04 system. I was curious to see how 32-bit applications perform against 64-bit applications on a 64-bit system so I compiled the following C program as 32-bit and 64-bit executable and recorded the time they took to execute. I used gcc flags to compile for 3 different architectures: -m32 : Intel 80386 architecture (int, long, pointer all set to 32 bits (ILP32)) -m64 : AMD's x86-64 architecture (int 32 bits; long, pointer 64 bits (LP64)) -mx32 : AMD's x86-64

How should the [u]int_fastN_t types be defined for x86_64, with or without the x32 ABI?

梦想的初衷 提交于 2019-12-10 15:13:29
问题 The x32 ABI specifies, among other things, 32-bit pointers for code generated for the x86_64 architecture. It combines the advantages of the x86_64 architecture (including 64-bit CPU registers) with the reduced overhead of 32-bit pointers. The <stdint.h> header defines typedefs int_fast8_t , int_fast16_t , int_fast32_t , and int_fast64_t (and corresponding unsigned types uint_fast8_t et al), each of which is: an integer type that is usually fastest to operate with among all integer types that

How to detect X32 on Windows?

喜欢而已 提交于 2019-12-08 03:51:15
问题 X32 allows one to write programs using 32-bit integers, longs and pointers that run on x86_64 processors. Using X32 has a number of benefits under certain use cases. (X32 is different than X86 or X64; see Difference between x86, x32, and x64 architectures for more details). It appears some Windows Enterprise Server supports X32, but I'm having trouble finding more information on it. That's based on some Intel PDFs, like Intel® Xeon® Processor E5-2400 Series-based Platforms for Intelligent

How to detect X32 on Windows?

眉间皱痕 提交于 2019-12-06 15:51:14
X32 allows one to write programs using 32-bit integers, longs and pointers that run on x86_64 processors. Using X32 has a number of benefits under certain use cases. (X32 is different than X86 or X64; see Difference between x86, x32, and x64 architectures for more details). It appears some Windows Enterprise Server supports X32, but I'm having trouble finding more information on it. That's based on some Intel PDFs, like Intel® Xeon® Processor E5-2400 Series-based Platforms for Intelligent Systems : Microsoft's documentation on Predefined Macros lists the usual suspect, like _M_X64 and _M_AMD64