Displaying 4 results from an estimated 4 matches for "register_renam".
2011 Apr 08
3
[LLVMdev] Macro-op fusion experiment
...LU to execute "mov",
> then mov - add must have dependency.
I think you will find it is more complicated than that. A 'mov' usually doesn't need an ALU resource.
You should read about the 'reservation station' style register renaming.
http://en.wikipedia.org/wiki/Register_renaming
http://www.intel.com/Assets/PDF/manual/248966.pdf
/jakob
2011 Apr 08
0
[LLVMdev] Macro-op fusion experiment
>> 8B C3 mov eax, ebx
>> 03 C1 add eax, ecx
>> becomes
>> 8B C3 03 C1 add eax, ebx, ecx
In my understanding, twoaddr pass tends to emit such a sequence.
Though I don't have sandybridge, I have not measured.
Prior processors(intel and amd) might spend 1 ALU to execute "mov",
then mov - add must have dependency.
2011 Apr 17
0
[LLVMdev] Macro-op fusion experiment
...gt; then mov - add must have dependency.
>
> I think you will find it is more complicated than that. A 'mov' usually
> doesn't need an ALU resource.
>
> You should read about the 'reservation station' style register renaming.
>
> http://en.wikipedia.org/wiki/Register_renaming
> http://www.intel.com/Assets/PDF/manual/248966.pdf
>
> /jakob
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110417/8f1cd34f/attachment.html>
2011 Apr 08
2
[LLVMdev] Macro-op fusion experiment
On Apr 8, 2011, at 3:29 AM, Nicolas Capens wrote:
> x86 processors use macro-op fusion to merge together two instructions and execute them as one. So it's beneficial for the compiler to emit them as a pair.
>
> Currently only compare and jump instructions get fused though. And I was wondering whether it also makes sense to fuse move and arithmetic instructions together, to form