summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorEhsan Amiri <amehsan@ca.ibm.com>2016-03-18 04:02:25 +0000
committerEhsan Amiri <amehsan@ca.ibm.com>2016-03-18 04:02:25 +0000
commit631ed04af04d349eb4886e17ddc688e496eac8cc (patch)
treec6453e44f9fc2fdc69eedcaa9416384195c4e8ea /llvm/lib/Target
parentef4e36ad998085770e9230182c3db5240f29dfcf (diff)
downloadbcm5719-llvm-631ed04af04d349eb4886e17ddc688e496eac8cc.tar.gz
bcm5719-llvm-631ed04af04d349eb4886e17ddc688e496eac8cc.zip
adding another optimization opportunity to readme file
llvm-svn: 263775
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/PowerPC/README.txt11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/README.txt b/llvm/lib/Target/PowerPC/README.txt
index 01233ae4f57..f1d4ca7b7fa 100644
--- a/llvm/lib/Target/PowerPC/README.txt
+++ b/llvm/lib/Target/PowerPC/README.txt
@@ -589,6 +589,17 @@ entry:
%tmp34 = zext i1 %tmp3 to i32 ; <i32> [#uses=1]
ret i32 %tmp34
}
+
+//===---------------------------------------------------------------------===//
+for the following code:
+
+void foo (float *__restrict__ a, int *__restrict__ b, int n) {
+ a[n] = b[n] * 2.321;
+}
+
+we load b[n] to GPR, then move it VSX register and convert it float. We should
+use vsx scalar integer load instructions to avoid direct moves
+
//===----------------------------------------------------------------------===//
; RUN: llvm-as < %s | llc -march=ppc32 | not grep fneg
OpenPOWER on IntegriCloud