From 0b0102b172c38dca3b7384225257aa5e9e1ee777 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 21 Dec 2007 01:31:58 +0000 Subject: [PATCH] New entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45280 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README-SSE.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt index aa3405ca339..b4fc53ad0aa 100644 --- a/lib/Target/X86/README-SSE.txt +++ b/lib/Target/X86/README-SSE.txt @@ -741,3 +741,18 @@ save, as a really-signed value would be undefined for pslld. //===---------------------------------------------------------------------===// + +#include +int t1(double d) { return signbit(d); } + +This currently compiles to: + subl $12, %esp + movsd 16(%esp), %xmm0 + movsd %xmm0, (%esp) + movl 4(%esp), %eax + shrl $31, %eax + addl $12, %esp + ret + +We should use movmskp{s|d} instead. +