News for hackers. Stuff that matters.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by intricatedetail on Sunday November 15, 2020 @07:24PM (#25106453)
Why creating native x86 needs a licence, but emulation don't? If a cpu is running microcode, how far away it is from emulation?
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by avianlyric on Sunday November 15, 2020 @07:38PM (#25106556)
I wouldn’t assume that there isn’t a licence involved.

Intel have clearly indicated in the past that they think licensing is a requirement for emulating x86[0].

I imagine that Apple are only emulating x86-64, since they dropped 32bit support in their last OS. I believe that x86-64 is owned by AMD, so I imagine Apple has a licensing deal with them.

[0] https://www.forbes.com/sites/tiriasresearch/2017/06/16/intel...

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by saagarjha on Sunday November 15, 2020 @08:09PM (#25106798)
Apparently Rosetta emulates 32-bit as well (of course, the kernel will not load these binaries directly). I can only think of CrossOver that needs it, so I'm not quite sure why they went through the effort to add it…
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by aparashk on Sunday November 15, 2020 @09:39PM (#25107354)
Do you have a reference for this? If true, this could have some interesting implications...
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by saagarjha on Sunday November 15, 2020 @09:45PM (#25107394)
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by klelatti on Sunday November 15, 2020 @08:11PM (#25106818)
I think that the legal requirements will depend on the precise instructions - eg your linked article mentions SIMD. Certainly the basic x86-64 extension to x86 originated at AMD who (due to cross license deals) licenses them to Intel but things like AVX are Intel. I suspect that code emitted by Xcode omits these newer instructions.

Bear in mind too that a lot of the x86 patents will have expired by now.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by saagarjha on Sunday November 15, 2020 @08:14PM (#25106836)
Xcode will emit those if you ask for it, and macOS ships some binaries that use those instructions. However, Rosetta doesn't do AVX.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by klelatti on Sunday November 15, 2020 @08:15PM (#25106846)
Interesting. How does Rosetta deal with apps with AVX then?
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by wmf on Sunday November 15, 2020 @08:24PM (#25106916)
Such apps will use CPUID to detect that AVX is not implemented and they won't use any AVX instructions.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by klelatti on Sunday November 15, 2020 @09:15PM (#25107215)
Of course. So Rosetta will simply follow the non AVX path.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by SXX on Sunday November 15, 2020 @07:45PM (#25106619)
My educated guess would be the difference between hardware and software patents. There is organizations like Open Invention Network that help to support open source software.

Also I not sure how important this is, but AMD / Intel contribute a lot into GCC under GPLv3 which have patents grant so they can't just go after someone who using their instruction set. This of course also apply for software under Apache license 2.0.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by intricatedetail on Monday November 16, 2020 @07:50AM (#25110994)
Aren't CPU instructions like an API and it means why some one couldn't do clean room implementation?