summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-11-14 14:45:16 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-11-14 14:45:16 +0000
commit27fed8e5d636d67ed5e2dff77705dcae1fcd0b15 (patch)
tree13c14878cb5ff358c251334e2ec8c047ddb6f258 /llvm/test/Analysis
parente784395c99db265d8e7d358b1e03b1240abdad72 (diff)
downloadbcm5719-llvm-27fed8e5d636d67ed5e2dff77705dcae1fcd0b15.tar.gz
bcm5719-llvm-27fed8e5d636d67ed5e2dff77705dcae1fcd0b15.zip
[X86][AVX] Fixed v16i16/v32i8 ADD/SUB costs on AVX1 subtargets
Add explicit v16i16/v32i8 ADD/SUB costs, matching the costs of v4i64/v8i32 - they were missing for some reason. This has side effects on the LV max bandwidth tests (AVX1 now prefers 128-bit vectors vs AVX2 which still prefers 256-bit) llvm-svn: 286832
Diffstat (limited to 'llvm/test/Analysis')
-rw-r--r--llvm/test/Analysis/CostModel/X86/arith.ll16
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/test/Analysis/CostModel/X86/arith.ll b/llvm/test/Analysis/CostModel/X86/arith.ll
index 2f3f0f9aa73..aa204db3042 100644
--- a/llvm/test/Analysis/CostModel/X86/arith.ll
+++ b/llvm/test/Analysis/CostModel/X86/arith.ll
@@ -57,13 +57,13 @@ define i32 @add(i32 %arg) {
%G = add <8 x i16> undef, undef
; SSSE3: cost of 2 {{.*}} %H = add
; SSE42: cost of 2 {{.*}} %H = add
- ; AVX: cost of 2 {{.*}} %H = add
+ ; AVX: cost of 4 {{.*}} %H = add
; AVX2: cost of 1 {{.*}} %H = add
; AVX512: cost of 1 {{.*}} %H = add
%H = add <16 x i16> undef, undef
; SSSE3: cost of 4 {{.*}} %I = add
; SSE42: cost of 4 {{.*}} %I = add
- ; AVX: cost of 4 {{.*}} %I = add
+ ; AVX: cost of 8 {{.*}} %I = add
; AVX2: cost of 2 {{.*}} %I = add
; AVX512F: cost of 2 {{.*}} %I = add
; AVX512BW: cost of 1 {{.*}} %I = add
@@ -77,13 +77,13 @@ define i32 @add(i32 %arg) {
%J = add <16 x i8> undef, undef
; SSSE3: cost of 2 {{.*}} %K = add
; SSE42: cost of 2 {{.*}} %K = add
- ; AVX: cost of 2 {{.*}} %K = add
+ ; AVX: cost of 4 {{.*}} %K = add
; AVX2: cost of 1 {{.*}} %K = add
; AVX512: cost of 1 {{.*}} %K = add
%K = add <32 x i8> undef, undef
; SSSE3: cost of 4 {{.*}} %L = add
; SSE42: cost of 4 {{.*}} %L = add
- ; AVX: cost of 4 {{.*}} %L = add
+ ; AVX: cost of 8 {{.*}} %L = add
; AVX2: cost of 2 {{.*}} %L = add
; AVX512F: cost of 2 {{.*}} %L = add
; AVX512BW: cost of 1 {{.*}} %L = add
@@ -140,13 +140,13 @@ define i32 @sub(i32 %arg) {
%G = sub <8 x i16> undef, undef
; SSSE3: cost of 2 {{.*}} %H = sub
; SSE42: cost of 2 {{.*}} %H = sub
- ; AVX: cost of 2 {{.*}} %H = sub
+ ; AVX: cost of 4 {{.*}} %H = sub
; AVX2: cost of 1 {{.*}} %H = sub
; AVX512: cost of 1 {{.*}} %H = sub
%H = sub <16 x i16> undef, undef
; SSSE3: cost of 4 {{.*}} %I = sub
; SSE42: cost of 4 {{.*}} %I = sub
- ; AVX: cost of 4 {{.*}} %I = sub
+ ; AVX: cost of 8 {{.*}} %I = sub
; AVX2: cost of 2 {{.*}} %I = sub
; AVX512F: cost of 2 {{.*}} %I = sub
; AVX512BW: cost of 1 {{.*}} %I = sub
@@ -160,13 +160,13 @@ define i32 @sub(i32 %arg) {
%J = sub <16 x i8> undef, undef
; SSSE3: cost of 2 {{.*}} %K = sub
; SSE42: cost of 2 {{.*}} %K = sub
- ; AVX: cost of 2 {{.*}} %K = sub
+ ; AVX: cost of 4 {{.*}} %K = sub
; AVX2: cost of 1 {{.*}} %K = sub
; AVX512: cost of 1 {{.*}} %K = sub
%K = sub <32 x i8> undef, undef
; SSSE3: cost of 4 {{.*}} %L = sub
; SSE42: cost of 4 {{.*}} %L = sub
- ; AVX: cost of 4 {{.*}} %L = sub
+ ; AVX: cost of 8 {{.*}} %L = sub
; AVX2: cost of 2 {{.*}} %L = sub
; AVX512F: cost of 2 {{.*}} %L = sub
; AVX512BW: cost of 1 {{.*}} %L = sub
OpenPOWER on IntegriCloud