diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2016-07-07 06:06:46 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2016-07-07 06:06:46 +0000 |
commit | fc1e969dfc94e0e78cc1bd3b3ebd5e81bbb56ffb (patch) | |
tree | f7e623df93d82930d1ed502bd3c6baea671abc75 /llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll | |
parent | a54fe1acdc2df47c80f1eb319d7f8bcd65018aa9 (diff) | |
download | bcm5719-llvm-fc1e969dfc94e0e78cc1bd3b3ebd5e81bbb56ffb.tar.gz bcm5719-llvm-fc1e969dfc94e0e78cc1bd3b3ebd5e81bbb56ffb.zip |
Fixed a bug in vectorizing GEP before gather/scatter intrinsic.
Vectorizing GEP was incorrect and broke SSA in some cases.
The patch fixes PR27997 https://llvm.org/bugs/show_bug.cgi?id=27997.
Differential revision: http://reviews.llvm.org/D22035
llvm-svn: 274735
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll')
-rw-r--r-- | llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll b/llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll index ec7ad1183ee..222dd7eef6b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll @@ -95,7 +95,7 @@ for.end: ; preds = %for.cond %struct.In = type { float, float } ;AVX512-LABEL: @foo2 -;AVX512: getelementptr %struct.In, %struct.In* %in, <16 x i64> %{{.*}}, i32 1 +;AVX512: getelementptr inbounds %struct.In, %struct.In* %in, <16 x i64> %{{.*}}, i32 1 ;AVX512: llvm.masked.gather.v16f32 ;AVX512: llvm.masked.store.v16f32 ;AVX512: ret void @@ -170,10 +170,10 @@ for.end: ; preds = %for.cond ;} ;AVX512-LABEL: @foo3 -;AVX512: getelementptr %struct.In, %struct.In* %in, <16 x i64> %{{.*}}, i32 1 +;AVX512: getelementptr inbounds %struct.In, %struct.In* %in, <16 x i64> %{{.*}}, i32 1 ;AVX512: llvm.masked.gather.v16f32 ;AVX512: fadd <16 x float> -;AVX512: getelementptr %struct.Out, %struct.Out* %out, <16 x i64> %{{.*}}, i32 1 +;AVX512: getelementptr inbounds %struct.Out, %struct.Out* %out, <16 x i64> %{{.*}}, i32 1 ;AVX512: llvm.masked.scatter.v16f32 ;AVX512: ret void |