3 ms·
Generally, Mac software that takes advantage of those instructions does so indirectly, via system libraries like the accelerate framework. If your x86 applicati
by chongli 5y ago
Generally, Mac software that takes advantage of those instructions does so indirectly, via system libraries like the accelerate framework. If your x86 application is using a system library then on an M1 Mac those instructions won’t be emulated at all, they’ll run natively.
This is why Apple’s emulator is so fast: it doesn’t emulate any of the system libraries, it uses the native ones instead.
- astrange 5y agoNo, neither Rosetta emulator do that, they translate everything. The original 68k emulation on PPC did do that, using Mixed Mode Manager: https://developer.apple.com/library/archive/documentation/mac/pdf/PPC_System_Software/Mixed_Mode_Mgr.pdf https://developer.apple.com/library/archive/documentation/ma... but it was very hard to get right. You have to know the right calling convention for everything, and there are some problems with floating point precision and other things I forget the details of.