summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/X86
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-02-28 18:04:20 +0000
committerNikita Popov <nikita.ppv@gmail.com>2019-02-28 18:04:20 +0000
commitaf2b0bef4361e8308697022f55209199190f08a3 (patch)
tree66f859ef2698c06846dbb9d0a788008934e1ba60 /llvm/test/Transforms/LoopVectorize/X86
parentab10947b345e7b97c194dc33a36cce5043e7cd5f (diff)
downloadbcm5719-llvm-af2b0bef4361e8308697022f55209199190f08a3.tar.gz
bcm5719-llvm-af2b0bef4361e8308697022f55209199190f08a3.zip
[ValueTracking] More accurate unsigned sub overflow detection
Second part of D58593. Compute precise overflow conditions based on all known bits, rather than just the sign bits. Unsigned a - b overflows iff a < b, and we can determine whether this always/never happens based on the minimal and maximal values achievable for a and b subject to the known bits constraint. llvm-svn: 355109
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/X86')
-rw-r--r--llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
index cdb985952a7..419cedbe145 100644
--- a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+++ b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
@@ -2028,7 +2028,7 @@ define void @foo4(double* %A, double* %B, i32* %trigger) {
; AVX512-NEXT: br i1 [[TMP23]], label [[FOR_BODY_PREHEADER]], label [[VECTOR_BODY]], !llvm.loop !49
; AVX512: for.body.preheader:
; AVX512-NEXT: [[INDVARS_IV_PH:%.*]] = phi i64 [ 0, [[ENTRY]] ], [ 9984, [[VECTOR_BODY]] ]
-; AVX512-NEXT: [[TMP24:%.*]] = sub nsw i64 9999, [[INDVARS_IV_PH]]
+; AVX512-NEXT: [[TMP24:%.*]] = sub nuw nsw i64 9999, [[INDVARS_IV_PH]]
; AVX512-NEXT: br label [[FOR_BODY_PROL:%.*]]
; AVX512: for.body.prol:
; AVX512-NEXT: [[INDVARS_IV_PROL:%.*]] = phi i64 [ [[INDVARS_IV_NEXT_PROL:%.*]], [[FOR_INC_PROL:%.*]] ], [ [[INDVARS_IV_PH]], [[FOR_BODY_PREHEADER]] ]
OpenPOWER on IntegriCloud