1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Assembler
Elena Demikhovsky 88c04dfc81 Extended syntax of vector version of getelementptr instruction.
The justification of this change is here: 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 i8, <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.

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

In all cases the %A type is <4 x i8*>

In the case (2) we add the same offset to all pointers.

The case (1) covers C[B[i]] case, when we have the same base C and different offsets B[i].

The documentation is updated.

http://reviews.llvm.org/D10496

llvm-svn: 241788
2015-07-09 07:42:48 +00:00
..
2002-03-08-NameCollision2.ll
2002-03-08-NameCollision.ll
2002-04-07-HexFloatConstants.ll
2002-04-07-InfConstant.ll
2002-04-29-NameBinding.ll
2002-05-02-InvalidForwardRef.ll
2002-07-14-OpaqueType.ll
2002-07-25-QuoteInString.ll
2002-07-25-ReturnPtrFunction.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2002-07-31-SlashInString.ll
2002-08-15-CastAmbiguity.ll
2002-08-15-ConstantExprProblem.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2002-08-15-UnresolvedGlobalReference.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2002-08-16-ConstExprInlined.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2002-08-19-BytecodeReader.ll
2002-08-22-DominanceProblem.ll
2002-10-08-LargeArrayPerformance.ll
2002-10-13-ConstantEncodingProblem.ll
2002-12-15-GlobalResolve.ll
2003-01-30-UnsignedString.ll
2003-04-15-ConstantInitAssertion.ll
2003-04-25-UnresolvedGlobalReference.ll
2003-05-03-BytecodeReaderProblem.ll
2003-05-12-MinIntProblem.ll
2003-05-15-AssemblerProblem.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2003-05-15-SwitchBug.ll
2003-05-21-ConstantShiftExpr.ll
2003-05-21-EmptyStructTest.ll
2003-05-21-MalformedShiftCrash.ll
2003-05-21-MalformedStructCrash.ll
2003-08-20-ConstantExprGEP-Fold.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2003-08-21-ConstantExprCast-Fold.ll
2003-11-05-ConstantExprShift.ll
2003-11-11-ImplicitRename.ll
2003-11-12-ConstantExprCast.ll
2003-11-24-SymbolTableCrash.ll
2004-01-11-getelementptrfolding.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2004-01-20-MaxLongLong.ll
2004-02-01-NegativeZero.ll
2004-02-27-SelfUseAssertError.ll
2004-03-07-FunctionAddressAlignment.ll
2004-03-30-UnclosedFunctionCrash.ll
2004-04-04-GetElementPtrIndexTypes.ll
2004-06-07-VerifierBug.ll
2004-10-22-BCWriterUndefBug.ll
2004-11-28-InvalidTypeCrash.ll
2005-01-03-FPConstantDisassembly.ll
2005-01-31-CallingAggregateFunction.ll
2005-05-05-OpaqueUndefValues.ll
2005-12-21-ZeroInitVector.ll
2006-09-28-CrashOnInvalid.ll
2006-12-09-Cast-To-Bool.ll
2007-01-02-Undefined-Arg-Type.ll
2007-01-05-Cmp-ConstExpr.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2007-01-16-CrashOnBadCast2.ll
2007-01-16-CrashOnBadCast.ll
2007-03-18-InvalidNumberedVar.ll
2007-03-19-NegValue.ll
2007-04-20-AlignedLoad.ll
2007-04-20-AlignedStore.ll
2007-04-25-AssemblerFoldExternWeak.ll
2007-05-21-Escape.ll
2007-07-19-ParamAttrAmbiguity.ll
2007-08-06-AliasInvalid.ll
2007-09-10-AliasFwdRef.ll
2007-09-29-GC.ll
2007-11-26-AttributeOverload.ll
2007-12-11-AddressSpaces.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2008-01-11-VarargAttrs.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-02-18-IntPointerCrash.ll
2008-07-10-APInt.ll
2008-09-02-FunctionNotes2.ll
2008-09-02-FunctionNotes.ll
2008-09-29-RetAttr.ll
2008-10-14-QuoteInName.ll
2009-02-01-UnnamedForwardRef.ll
2009-02-28-CastOpc.ll
2009-02-28-StripOpaqueName.ll
2009-03-24-ZextConstantExpr.ll
2009-07-24-ZeroArgGEP.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-02-05-FunctionLocalMetadataBecomesNull.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
addrspacecast-alias.ll
aggregate-constant-values.ll
aggregate-return-single-value.ll
alias-redefinition.ll
alias-use-list-order.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
align-inst-alloca.ll
align-inst-load.ll
align-inst-store.ll
align-inst.ll
alignstack.ll
alloca-invalid-type-2.ll
alloca-invalid-type.ll
alloca-size-one.ll AsmWriter: Write alloca array size explicitly (and -instcombine fixup) 2015-03-13 19:30:44 +00:00
anon-functions.ll
atomic.ll
attribute-builtin.ll
auto_upgrade_intrinsics.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
bcwrap.ll
call-invalid-1.ll
comment.ll
ConstantExprFold.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
ConstantExprFoldCast.ll
ConstantExprFoldSelect.ll
ConstantExprNoFold.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
debug-info.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dicompileunit.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
diexpression.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
difile-escaped-chars.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
diglobalvariable.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
diimportedentity.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
dilexicalblock.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
dilocalvariable-arg-large.ll DebugInfo: Really support 2^16 arguments in a subprogram 2015-06-02 17:17:44 +00:00
dilocalvariable.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
dilocation.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
dimodule.ll Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
dinamespace.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
diobjcproperty.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
distinct-mdnode.ll
disubprogram.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
disubrange-empty-array.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
disubroutinetype.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
ditemplateparameter.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
ditype-large-values.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
drop-debug-info.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
externally-initialized.ll
extractvalue-invalid-idx.ll
extractvalue-no-idx.ll
fast-math-flags.ll
flags.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
generic-debug-node.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
getelementptr_invalid_ptr.ll LLParser: gep: Simplify parsing error handling 2015-03-09 23:08:44 +00:00
getelementptr_struct.ll
getelementptr_vec_idx1.ll Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
getelementptr_vec_idx2.ll Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
getelementptr_vec_idx3.ll Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
getelementptr_vec_idx4.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
getelementptr_vec_struct.ll
getelementptr.ll Make the test introduced in r239015 more targeted. 2015-06-04 07:21:42 +00:00
getInt.ll
global-addrspace-forwardref.ll
gv-invalid-type.ll
half-constprop.ll
half-conv.ll
half.ll
huge-array.ll
inalloca.ll
inline-asm-clobber.ll
insertextractvalue.ll
insertvalue-invalid-idx.ll
insertvalue-invalid-type-1.ll
insertvalue-invalid-type.ll
internal-hidden-alias.ll
internal-hidden-function.ll
internal-hidden-variable.ll
internal-protected-alias.ll
internal-protected-function.ll
internal-protected-variable.ll
invalid_cast2.ll
invalid_cast3.ll
invalid_cast4.ll
invalid_cast.ll
invalid-attrgrp.ll
invalid-comdat2.ll
invalid-comdat.ll
invalid-datalayout1.ll
invalid-datalayout2.ll
invalid-datalayout3.ll
invalid-datalayout4.ll
invalid-datalayout5.ll
invalid-datalayout6.ll
invalid-datalayout7.ll
invalid-datalayout8.ll
invalid-datalayout9.ll
invalid-datalayout10.ll
invalid-datalayout11.ll
invalid-datalayout12.ll
invalid-datalayout13.ll
invalid-datalayout14.ll
invalid-datalayout15.ll
invalid-datalayout16.ll
invalid-datalayout17.ll
invalid-datalayout18.ll
invalid-datalayout19.ll
invalid-datalayout20.ll
invalid-datalayout21.ll
invalid-datalayout22.ll
invalid-datalayout23.ll
invalid-datalayout24.ll
invalid-debug-info-version.ll
invalid-dicompileunit-language-bad.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dicompileunit-language-overflow.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dicompileunit-missing-language.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dicompileunit-null-file.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dicompositetype-missing-tag.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diderivedtype-missing-basetype.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diderivedtype-missing-tag.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dienumerator-missing-name.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dienumerator-missing-value.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diexpression-large.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diexpression-verify.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-difile-missing-directory.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-difile-missing-filename.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diglobalvariable-empty-name.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diglobalvariable-missing-name.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diimportedentity-missing-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-diimportedentity-missing-tag.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilexicalblock-missing-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilexicalblock-null-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilexicalblockfile-missing-discriminator.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilexicalblockfile-missing-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilexicalblockfile-null-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocalvariable-arg-large.ll DebugInfo: Really support 2^16 arguments in a subprogram 2015-06-02 17:17:44 +00:00
invalid-dilocalvariable-arg-negative.ll DebugInfo: Really support 2^16 arguments in a subprogram 2015-06-02 17:17:44 +00:00
invalid-dilocalvariable-missing-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocalvariable-missing-tag.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocalvariable-null-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-field-bad.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-field-twice.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-missing-scope-2.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-missing-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-null-scope.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-overflow-column.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dilocation-overflow-line.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-dinamespace-missing-namespace.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubrange-count-large.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubrange-count-missing.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubrange-count-negative.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubrange-lowerBound-max.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubrange-lowerBound-min.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-disubroutinetype-missing-types.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-ditemplatetypeparameter-missing-type.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-ditemplatevalueparameter-missing-value.ll DebugInfo: Rename testcases from MD* to DI*, NFC 2015-06-02 17:13:25 +00:00
invalid-fwdref1.ll
invalid-fwdref2.ll
invalid-generic-debug-node-tag-bad.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
invalid-generic-debug-node-tag-missing.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
invalid-generic-debug-node-tag-overflow.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
invalid-generic-debug-node-tag-wrong-type.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
invalid-gep-mismatched-explicit-type.ll
invalid-gep-missing-explicit-type.ll
invalid-hexint.ll
invalid-label.ll
invalid-landingpad.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invalid-load-mismatched-explicit-type.ll
invalid-load-missing-explicit-type.ll
invalid-mdnode-badref.ll
invalid-mdnode-vector2.ll
invalid-mdnode-vector.ll
invalid-metadata-attachment-has-type.ll
invalid-metadata-function-local-attachments.ll
invalid-metadata-function-local-complex-1.ll
invalid-metadata-function-local-complex-2.ll
invalid-metadata-function-local-complex-3.ll
invalid-metadata-has-type.ll
invalid-name2.ll
invalid-name.ll
invalid-safestack-param.ll Add safestack attribute to LLVMAttribute enum and Go bindings. Correct 2015-06-15 22:16:51 +00:00
invalid-safestack-return.ll Add safestack attribute to LLVMAttribute enum and Go bindings. Correct 2015-06-15 22:16:51 +00:00
invalid-specialized-mdnode.ll
invalid-uselistorder_bb-missing-bb.ll
invalid-uselistorder_bb-missing-body.ll
invalid-uselistorder_bb-missing-func.ll
invalid-uselistorder_bb-not-bb.ll
invalid-uselistorder_bb-not-func.ll
invalid-uselistorder_bb-numbered.ll
invalid-uselistorder-function-between-blocks.ll
invalid-uselistorder-function-missing-named.ll
invalid-uselistorder-function-missing-numbered.ll
invalid-uselistorder-global-missing.ll
invalid-uselistorder-indexes-duplicated.ll
invalid-uselistorder-indexes-empty.ll
invalid-uselistorder-indexes-one.ll
invalid-uselistorder-indexes-ordered.ll
invalid-uselistorder-indexes-range.ll
invalid-uselistorder-indexes-toofew.ll
invalid-uselistorder-indexes-toomany.ll
invalid-uselistorder-type.ll
large-comdat.ll
metadata-function-local.ll Assembler: Rewrite test for function-local metadata 2015-03-15 00:45:51 +00:00
metadata-null-operands.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
metadata.ll [IR/AsmWriter] Output escape sequences if the first character isdigit() 2015-06-02 21:25:08 +00:00
MultipleReturnValueType.ll
musttail-invalid-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
musttail-invalid-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
musttail.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
named-metadata.ll
numbered-values.ll
private-hidden-alias.ll
private-hidden-function.ll
private-hidden-variable.ll
private-protected-alias.ll
private-protected-function.ll
private-protected-variable.ll
select.ll
short-hexpair.ll
tls-models.ll
unnamed-addr.ll
unnamed-alias.ll Allow aliases to be unnamed. 2015-06-17 17:53:31 +00:00
unnamed-comdat.ll
unnamed.ll
unsized-recursive-type.ll Fix a stack overflow in the assembler when checking that GEPs must be over sized types. 2015-03-10 06:34:57 +00:00
upgrade-loop-metadata.ll
uselistorder_bb.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
uselistorder.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
vbool-cmp.ll
vector-cmp.ll
vector-select.ll
vector-shift.ll
x86mmx.ll