Changes in directory llvm/lib/Target/X86:
README-MMX.txt updated: 1.2 -> 1.3 --- Log message: Update. --- Diffs of the changes: (+37 -0) README-MMX.txt | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+) Index: llvm/lib/Target/X86/README-MMX.txt diff -u llvm/lib/Target/X86/README-MMX.txt:1.2 llvm/lib/Target/X86/README-MMX.txt:1.3 --- llvm/lib/Target/X86/README-MMX.txt:1.2 Mon Mar 26 02:55:58 2007 +++ llvm/lib/Target/X86/README-MMX.txt Tue Apr 24 16:20:03 2007 @@ -3,3 +3,40 @@ //===---------------------------------------------------------------------===// //===---------------------------------------------------------------------===// + +This: + +#include <mmintrin.h> + +__v2si qux(int A) { + return (__v2si){ 0, A }; +} + +is compiled into: + +_qux: + subl $28, %esp + movl 32(%esp), %eax + movd %eax, %mm0 + movq %mm0, (%esp) + movl (%esp), %eax + movl %eax, 20(%esp) + movq %mm0, 8(%esp) + movl 12(%esp), %eax + movl %eax, 16(%esp) + movq 16(%esp), %mm0 + addl $28, %esp + ret + +Yuck! + +GCC gives us: + +_qux: + subl $12, %esp + movl 16(%esp), %eax + movl 20(%esp), %edx + movl $0, (%eax) + movl %edx, 4(%eax) + addl $12, %esp + ret $4 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits