summaryrefslogtreecommitdiff
path: root/test/Analysis
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-06-27 17:52:04 +0000
committerNadav Rotem <nrotem@apple.com>2013-06-27 17:52:04 +0000
commit16d36a5cd1a581dfac79a4616b6b9602a43b6cd1 (patch)
treee2ec243f400af19db4bcaeedcc5625339930a2db /test/Analysis
parent5f72fa5701cd78127ebd2c19cd4c99a1efffacc0 (diff)
downloadllvm-16d36a5cd1a581dfac79a4616b6b9602a43b6cd1.tar.gz
llvm-16d36a5cd1a581dfac79a4616b6b9602a43b6cd1.tar.bz2
llvm-16d36a5cd1a581dfac79a4616b6b9602a43b6cd1.tar.xz
CostModel: improve the cost model for load/store of non power-of-two types such as <3 x float>, which are popular in graphics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185085 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r--test/Analysis/CostModel/X86/load_store.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Analysis/CostModel/X86/load_store.ll b/test/Analysis/CostModel/X86/load_store.ll
index 4195b1d879..a53d0bd4e9 100644
--- a/test/Analysis/CostModel/X86/load_store.ll
+++ b/test/Analysis/CostModel/X86/load_store.ll
@@ -59,6 +59,25 @@ define i32 @loads(i32 %arg) {
;CHECK: cost of 4 {{.*}} load
load <8 x i64>* undef, align 4
+
+ ;CHECK: cost of 3 {{.*}} load
+ load <3 x float>* undef, align 4
+
+ ;CHECK: cost of 3 {{.*}} load
+ load <3 x double>* undef, align 4
+
+ ;CHECK: cost of 3 {{.*}} load
+ load <3 x i32>* undef, align 4
+
+ ;CHECK: cost of 3 {{.*}} load
+ load <3 x i64>* undef, align 4
+
+ ;CHECK: cost of 10 {{.*}} load
+ load <5 x i32>* undef, align 4
+
+ ;CHECK: cost of 10 {{.*}} load
+ load <5 x i64>* undef, align 4
+
ret i32 undef
}