3 ms·
Nitpick: calling this an "x86" compiler is a modernism. There were, indeed, multiple successor chips to the 8086 in the market. But gcc supported only one of
by ajross 3y ago
Nitpick: calling this an "x86" compiler is a modernism. There were, indeed, multiple successor chips to the 8086 in the market. But gcc supported only one of them. This is a 386 compiler, not an x86 compiler.
- Brian_K_White 3y agoUnless it is not the first version that targets any x86, then there is no nit to pick.
- ajross 3y agoThe point to a nitpick is to point out something is correct, but misleading. In 1988, no one alive was calling this an "x86" compiler. It was specifically targeting the (then quite new -- about 1.5 years old) 80386 chip, which at the time was the only implementation of the architecture that we understand today as "x86".
- bluedino 3y agox86 was originally used to refer to any intel cpu of x86 name, even in the late 80's
- ajross 3y agoBy which definition, this is absolutely not an "x86" compiler, since it doesn't generate code for any of those other chips. Thus my nitpick.
- yjftsjthsd-h 3y agoModern GCC (AFAIK) can't target the 8086 or 80186 or 80286; does that disqualify it from being described as an x86 compiler?
- Brian_K_White 3y agoYou are inventing the requirement that all *86 must be supported for some inexplicable reason. It is not there in any ordinary interpretation of any language including English. If it outputs code for a single cpu from 8086 or later in that family, any single one of them, then it is "an x86 compiler". It also doesn't matter what they would have called it at the time. When the 8086 was new, there was not yet a family of *86 model numbers, so no one would call anything an x86 anything. But that doesn't change the fact that now, when the speaker you are incorrectly trying to correct spoke, there is a set with name "x86" and the 8086 is in it. The 8086 is an x86 cpu, and gcc 1.27 is an x86 compiler. If you didn't think that's how those words should be interpreted, well now you are better informed, and will hopefully confuse fewer people in your future communications, and wind up in fewer arguments like this one.
- fl7305 3y agoIn my circles, I think we just used the CPU name since there weren't that many of them yet, and unlike 386/486/586/etc, the 286 and lower CPUs weren't real 32-bitters. So, "386", "286" etc. Or just "Intel" to refer to the whole CPU family. IIRC, I started hearing "x86" once the 486 came out in 1989.
- skissane 3y agoMainstream GCC has never supported 16-bit code on x86, only 32-bit However, there is (at least one) fork which adds 16-bit code support, see https://github.com/tkchia/gcc-ia16 https://github.com/tkchia/gcc-ia16 I don't think the GCC maintainers have ever or will ever want to support 16-bit x86, because it is so limited, and adds a lot of messy corner cases, and nowadays is really only of hobbyist/retrocomputing interest. Maybe there is some 16-bit x86 embedded system still being maintained–there were military spec versions of the 8086, and possibly some weapons system, aircraft, satellite, etc, still in use contains one. But I doubt they'd have any interest in adopting a 16-bit GCC – they'd already have some proprietary compiler they'd been using for decades, switching now would add a lot of risk, very late in the life of a legacy system, for no tangible benefit
- happycube 3y agoHeck, 32-bit support is gradually eroding away...
- actionfromafar 3y agoIt is kind of cool to be able to program an 8088 with C++14. :-D I have no idea what to use it for, but hey.
- kjs3 3y agoHow many C++14 specific features will fit in 64k segments?
- pjmlp 3y ago"Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17" https://www.youtube.com/watch?v=zBkNBP00wJE https://www.youtube.com/watch?v=zBkNBP00wJE Followed by, "C++20 For The Commodore 64" https://www.youtube.com/watch?v=EIKAqcLxtT0 https://www.youtube.com/watch?v=EIKAqcLxtT0
- kjs3 3y agoFrightening. :-)