From 7c162645ae4c33474df6e2b25412387ed94e421b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 14 Apr 2007 23:06:09 +0000 Subject: [PATCH] add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36028 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 7c274280605..0ed1e30f768 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -1049,3 +1049,21 @@ int decode_byte (const decode_t* decode) { //===---------------------------------------------------------------------===// +This: +#include +unsigned test(float f) { + return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f )); +} + +Compiles to: +_test: + movss 4(%esp), %xmm0 + movd %xmm0, %eax + ret + +it should compile to a move from the stack slot directly into eax. DAGCombine +has this xform, but it is currently disabled until the alignment fields of +the load/store nodes are trustworthy. + + +