[PATCH] Extending Vector GetElementPtr - please review

Elena Demikhovsky elena.demikhovsky at intel.com
Wed Jun 17 02:26:16 PDT 2015


Hi hfinkel, nadav, aschwaighofer,

Changing syntax of vector GEP. 

Please see the start of discussion: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/082921.html
And the end agreement: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/082989.html

According to the current GEP syntax, vector GEP requires that each index must be a vector with the same number of elements.

%A = getelementptr <4 x i8*> %ptrs, <4 x i64> %offsets

In this implementation I let each index be or vector or scalar. All vector indices must have the same number of elements. The scalar value will mean the splat vector value.

%A = getelementptr i8* %ptr, <4 x i64> %offsets
or
%A = getelementptr <4 x i8*> %ptrs, i64 %offset

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10496

Files:
  include/llvm/IR/Instructions.h
  lib/AsmParser/LLParser.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/IR/Verifier.cpp
  test/Assembler/getelementptr_vec_idx1.ll
  test/Assembler/getelementptr_vec_idx2.ll
  test/Assembler/getelementptr_vec_idx3.ll
  test/CodeGen/X86/masked_gather_scatter.ll
  test/CodeGen/X86/vector-gep.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10496.27817.patch
Type: text/x-patch
Size: 18675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150617/7fda74b6/attachment.bin>


More information about the llvm-commits mailing list