diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2006-07-19 21:29:30 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2006-07-19 21:29:30 +0000 |
| commit | 8a881f2309d0ba0fee2db58c2a45ab88b18a4ab4 (patch) | |
| tree | 8317eaf9c57c39aa8d8cb1d3264c122c2873b252 /llvm/lib/Target/X86 | |
| parent | 181fb1c4d7d34759e4922636cd0190d26b5fdc2c (diff) | |
| download | bcm5719-llvm-8a881f2309d0ba0fee2db58c2a45ab88b18a4ab4.tar.gz bcm5719-llvm-8a881f2309d0ba0fee2db58c2a45ab88b18a4ab4.zip | |
New entry.
llvm-svn: 29215
Diffstat (limited to 'llvm/lib/Target/X86')
| -rw-r--r-- | llvm/lib/Target/X86/README.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt index 5f2d2c897e0..84b91d5c3cc 100644 --- a/llvm/lib/Target/X86/README.txt +++ b/llvm/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 |

