From: Chris Lattner Date: Mon, 3 Sep 2012 02:58:21 +0000 (+0000) Subject: some peepholes that should match horizontal add/sub operations. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8a04e51d861032fe9e62612cf3298cd8bc18cc2e;p=oota-llvm.git 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 --- diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt index 624e56fa0f6..40110353fc6 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 +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. + +//===---------------------------------------------------------------------===//