diff options
author | Chris Lattner <sabre@nondot.org> | 2012-09-03 02:58:21 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2012-09-03 02:58:21 +0000 |
commit | ba3ba8fa1ff843ce5cd27239e225ae0f194e7a99 (patch) | |
tree | 724955e3854a9081166adc5a9addfcf529b3da0d /llvm/lib | |
parent | 30c0cb2f30c49754ab8f8f778e70d8deac692f19 (diff) | |
download | bcm5719-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.txt | 12 |
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. + +//===---------------------------------------------------------------------===// |