From 063d825208290cac01f41cc0d1ae3db2c3f04021 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 5 Mar 2008 07:22:39 +0000 Subject: add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47939 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README-SSE.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'lib/Target/X86/README-SSE.txt') diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt index acfe411623..7248a57df3 100644 --- a/lib/Target/X86/README-SSE.txt +++ b/lib/Target/X86/README-SSE.txt @@ -748,3 +748,33 @@ Note: this is not a code quality issue; the custom lowered code happens to be right, but we shouldn't have to custom lower anything. This is probably related to <2 x i64> ops being so bad. +//===---------------------------------------------------------------------===// + +'select' on vectors and scalars could be a whole lot better. We currently +lower them to conditional branches. On x86-64 for example, we compile this: + +double test(double a, double b, double c, double d) { return a