summaryrefslogtreecommitdiff
path: root/lib/Target/X86/README-SSE.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-09-03 02:58:21 +0000
committerChris Lattner <sabre@nondot.org>2012-09-03 02:58:21 +0000
commit8a04e51d861032fe9e62612cf3298cd8bc18cc2e (patch)
tree8d8a48e0b4050ddaa413e37241697e14f9ac79c2 /lib/Target/X86/README-SSE.txt
parent3a86e1396230748f17a521915bc802939a787eac (diff)
downloadllvm-8a04e51d861032fe9e62612cf3298cd8bc18cc2e.tar.gz
llvm-8a04e51d861032fe9e62612cf3298cd8bc18cc2e.tar.bz2
llvm-8a04e51d861032fe9e62612cf3298cd8bc18cc2e.tar.xz
some peepholes that should match horizontal add/sub operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163103 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README-SSE.txt')
-rw-r--r--lib/Target/X86/README-SSE.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt
index 624e56fa0f..40110353fc 100644
--- a/lib/Target/X86/README-SSE.txt
+++ b/lib/Target/X86/README-SSE.txt
@@ -941,3 +941,15 @@ and inversion with an rsqrtss instruction, which computes 1/sqrt faster at the
cost of reduced accuracy.
//===---------------------------------------------------------------------===//
+
+This function should be matched to haddpd when the appropriate CPU is enabled:
+
+#include <x86intrin.h>
+double f (__m128d p) {
+ return p[0] + p[1];
+}
+
+similarly, v[0]-v[1] should match to hsubpd, and {v[0]-v[1], w[0]-w[1]} should
+turn into hsubpd also.
+
+//===---------------------------------------------------------------------===//