4 ms·
This doesn't seem like a huge deal to me. When you get down to it, there are a ton of different optional x86-64 extensions. Most packages target the simplest su
by benchaney 9y ago
This doesn't seem like a huge deal to me. When you get down to it, there are a ton of different optional x86-64 extensions. Most packages target the simplest subset (No sse for 32-bit only sse2 for 64-bit). At the end of the day this is basically the same thing.
- reitzensteinm 9y agoI don't think that's a good comparison. Feature flags are added every couple of years on x86, but it's fairly linear. It's more analogous to something like CUDA, where the you are completely abstracted away from the actual assembly that's running on the GPU. Or like targeting LLVM bitcode.
- benchaney 9y agoHow is it abstracted away from the actual assembly? Sure, you don't know how large the belt is, but you can just use the smallest size. The entire point of the belt is that the overwhelming majority of the time you only need the front few elements. The other major difference is the presence of extra special purpose instructions. That is exactly what feature flags are primarily used for.
- reitzensteinm 9y agoThe amount and type of execution units will also impact the translation. Each mill cpu has a custom encoding format generated to match its resources. x86 has essentially a bidirectional 1:1 mapping between the assembly and the bytes directly executed by the cpu. The mill does not have that.