I found a bug in Intel Skylake processors
31–40 of 104 posts
Re: I found a bug in Intel Skylake processors
#32I will be surely downvoted for this, but I would like to remind everyone how this bug is just one of the many consequences of Microsoft's evil policy of encouraging the sale and distribution of proprietary software in executable form. There is no other reason why a 64bit multi-core CPU developed in 2015, that makes heavy use of pipelining and other advanced and complicated code execution strategies, would need to sup…
Unfortunately, you simply aren't correct - the blame here can't be placed with Microsoft. The bug occurs in 64-bit code, which is using the AMD64 instruction set. This instruction set is incompatible with the older 32-bit i386 instruction set, but shares many of its features. During the move to AMD64, AMD decided to remove many features of the old architecture (for example, removing many one-byte instructions that we…
Re: I found a bug in Intel Skylake processors
#33Earlier quoted context omitted.
It is obvious, though I meant "obvious and correct" not "obviously correct"
Have you looked at the actual GCC codebase? It's very easy to say something is obvious when you're looking at a problem which someone else has nicely isolated; it's much harder to dive into a complex codebase which has a very wide support matrix and say it's worth the effort to change working code instead of so many other things. More bluntly, before now wouldn't most people have said it was “obvious” that Intel woul…
Most people here are not familiar with x86 assembly and its caveats it seems. Reading the Intel and AMD optimization manuals might be a good start
(and yes, the bug is not in GCC it's on the Intel processor)
Re: I found a bug in Intel Skylake processors
#34Re: I found a bug in Intel Skylake processors
#35Also a pretty good read and recently discussed here: https://news.ycombinator.com/item?id=14661473
Re: I found a bug in Intel Skylake processors
#36How does this bug affect current hardware in production? Is it worth waiting for the fix before buying the new MBPs, for example?
Re: I found a bug in Intel Skylake processors
#37How does this bug affect current hardware in production? Is it worth waiting for the fix before buying the new MBPs, for example?
I'd say no, you likely won't run into trouble because of this
My 2016 Skylake MBP used to crash very regularly when waking it up from suspend (sometimes multiple times a day). When I first heard about this issue a week ago, I used XCode Instruments to disable Hypterthreading.
I have not observed a single crash since.
Re: I found a bug in Intel Skylake processors
#38Earlier quoted context omitted.
Did you miss the part about where the bug was found using the current versions of GCC to build the current versions of OCaml? It's lazy to the point of dishonesty to act as if Microsoft is the only one with decades of accumulated code.
There is still a point that proprietary binaries are probably the biggest force keeping decades of cruft in processors. (Not judging here)
Why mess up a stable API when you don't have to?
Re: I found a bug in Intel Skylake processors
#39Earlier quoted context omitted.
That's not what happened. You can reproduce what gcc does easily by trying to compile the following code: int f(int x) { return x | 256; } Gcc generates the following code: movl %edi, %eax orb $1, %ah ret In contrast, clang uses an orl instead of orb . The advantage of using orb is that it generates shorter code with an immediate operand. This is on an x86_64 architecture and does not involve 32-bit code.
My point is that binary executables for Microsoft OSes, and the entire market built around them, are the only reason something like %ah (which is an incredibly stupid and expensive thing to address and the actual source of the bug) is part of the x86_64 architecture in the first place.
Re: I found a bug in Intel Skylake processors
#40How does this bug affect current hardware in production? Is it worth waiting for the fix before buying the new MBPs, for example?
EDIT: my comment was wrong. Thanks. There is a microcode update. Install it and you'll be fine. On macOS it should be installed automatically, according to https://support.apple.com/en-in/HT201518 (although that page doesn't say whether it's available or not)