Changes in directory llvm/lib/Target/X86:
README-MMX.txt updated: 1.3 -> 1.4 --- Log message: Update. --- Diffs of the changes: (+27 -0) README-MMX.txt | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+) Index: llvm/lib/Target/X86/README-MMX.txt diff -u llvm/lib/Target/X86/README-MMX.txt:1.3 llvm/lib/Target/X86/README-MMX.txt:1.4 --- llvm/lib/Target/X86/README-MMX.txt:1.3 Tue Apr 24 16:20:03 2007 +++ llvm/lib/Target/X86/README-MMX.txt Wed May 2 16:42:20 2007 @@ -40,3 +40,30 @@ movl %edx, 4(%eax) addl $12, %esp ret $4 + +//===---------------------------------------------------------------------===// + +int main() { + __m64 A[1] = { _mm_cvtsi32_si64(1) }; + __m64 B[1] = { _mm_cvtsi32_si64(10) }; + __m64 sum = _mm_cvtsi32_si64(0); + + sum = __builtin_ia32_paddq(__builtin_ia32_paddq(A[0], B[0]), sum); + + printf("Sum = %d\n", _mm_cvtsi64_si32(sum)); + return 0; +} + +Generates: + + movl $11, %eax +### movd %eax, %mm0 +### movq %mm0, 8(%esp) +### movl 8(%esp), %eax + movl %eax, 4(%esp) + movl $_str, (%esp) + call L_printf$stub + xorl %eax, %eax + addl $28, %esp + +These instructions are unnecessary. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits