From: Evan Cheng Date: Wed, 19 Jul 2006 21:29:30 +0000 (+0000) Subject: New entry. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=abb4d7829f3480aef03dcb5c16abdf279bb966e6;p=oota-llvm.git New entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29215 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 5f2d2c897e0..84b91d5c3cc 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -709,3 +709,28 @@ Use cpuid to auto-detect CPU features such as SSE, SSE2, and SSE3. JIT should resolve __cxa_atexit on Mac OS X. In a non-jit environment, the symbol is a dynamically resolved by the linker. + +//===---------------------------------------------------------------------===// + +u32 to float conversion improvement: + +float uint32_2_float( unsigned u ) { + float fl = (int) (u & 0xffff); + float fh = (int) (u >> 16); + fh *= 0x1.0p16f; + return fh + fl; +} + +00000000 subl $0x04,%esp +00000003 movl 0x08(%esp,1),%eax +00000007 movl %eax,%ecx +00000009 shrl $0x10,%ecx +0000000c cvtsi2ss %ecx,%xmm0 +00000010 andl $0x0000ffff,%eax +00000015 cvtsi2ss %eax,%xmm1 +00000019 mulss 0x00000078,%xmm0 +00000021 addss %xmm1,%xmm0 +00000025 movss %xmm0,(%esp,1) +0000002a flds (%esp,1) +0000002d addl $0x04,%esp +00000030 ret