4 ms·
It’s the name of the compilation target architecture in the compiler. Unless the architecture changes, the name doesn’t change. i386 refers to Intel 32-bit, whi
by fingerlocks 3y ago
It’s the name of the compilation target architecture in the compiler. Unless the architecture changes, the name doesn’t change. i386 refers to Intel 32-bit, which was superseded by x86_64
- zokier 3y agoIn gcc the target triplet is i686-pc-linux-gnu
- fingerlocks 3y agoHuh, I’ve been mentally translating i386 to mean “32-bit intel” for at least a decade, but I use clang.
- Dwedit 3y agoi686 is very easy to accidentally misread and confuse for x64.
- MichaelZuo 3y agoHow? There isn't even a 4 or an x in the name.
- hakfoo 3y agoIt definitely reminds me more of "x86-64", the name used on early publications before they decided to brand it (AMD64, Intel calling it EM64T or something, and eventually x64 appearing as a shorthand). You've got the "86" and a 6, and unlike i386 or i486, "686" never had significant currency as a "real" chip name. I feel like "i586" and "i686" are sort of a hairball logistically. I can recall a friend in the late 1990s whose forum signature boasted having a "686" overclocked to 262MHz-- an AMD K6. While we sort of understand i586 to mean Pentium, and i686 to be PPro/PII/PIII and beyond, you can make cases for the non-Intel Pentium-class CPUs to be anywhere from i386 (NexGen Nx586-- where's the FPU),to i686 (something like a K6-IiI+ is clearly more advanced than, say, the original i586 Pentium 60, although not necessarily matching PPro additions one-for-one) Going completely on a further tangent, it feels like we stopped awarding architecture tiers like that. There were definitely new instructions in some of the later-generation parts, why didn't the Pentium III with SSE, for example, become an 'i786' tier? Why is there only one 'amd64'? Guessing the overall strategy is that modern code feature-detects and compilers build a binary with multiple code paths-- something that will run grudgingly on a Pentium Pro or original Socket 940 Opteron, but will pick more efficient code paths on a more recent CPU. Although, wasn't that sort of the promise of things like Gentoo-- by building things yourself, you could make a hyper-lean system knowing it only needed to run on the exact hardware you had? I'd expect a marginal performance uptick, just because you'd be avoiding checks and branches related to feature selection and smaller binary sizes, but it doesn't seem like there's a clear consensus it carries its weight.
- somat 3y agoThe x64 term never really sat well with me. I prefer the bsd method and call it amd64. i386 intel's 386 architecture ia64 intel's 64 bit architecture(aka the itanium) amd64 amd's 64 bit architecture(aka the 64 bit extensions to i386 aka x86-64 aka x64)
- deleted 3y ago[deleted]
- yrro 3y agoNot in the compiler but in the package manager. https://github.com/guillemj/dpkg/blob/6a03732ab0e917272a9fe1eebbe3536bba2c1630/data/cputable#L29 https://github.com/guillemj/dpkg/blob/6a03732ab0e917272a9fe1...
- kyrofa 3y agoIt's actually just the Debian name for the architecture.