summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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
commitba3ba8fa1ff843ce5cd27239e225ae0f194e7a99 (patch)
tree724955e3854a9081166adc5a9addfcf529b3da0d /llvm/lib
parent30c0cb2f30c49754ab8f8f778e70d8deac692f19 (diff)
downloadbcm5719-llvm-ba3ba8fa1ff843ce5cd27239e225ae0f194e7a99.tar.gz
bcm5719-llvm-ba3ba8fa1ff843ce5cd27239e225ae0f194e7a99.zip
some peepholes that should match horizontal add/sub operations.
llvm-svn: 163103
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/README-SSE.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README-SSE.txt b/llvm/lib/Target/X86/README-SSE.txt
index 624e56fa0f6..40110353fc6 100644
--- a/llvm/lib/Target/X86/README-SSE.txt
+++ b/llvm/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.
+
+//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud