<div dir="ltr">i'm having difficulty in understanding the BUILD_VECTOR instruction and how to lower it to the an actual ISA. i looked at other targets but wasn't quite able to figure it out. would someone be able to dumb it down for me? assume i have an insert element instruction which inserts an element from a GPR to a Vector Register at a given index, i..e<div><br></div><div>vset <vector register> <gpr> <index></div><div><br></div><div>at the moment my target only supports v4i32. </div><div><br></div><div>a comment for BUILD_VECTOR in the ISDOpcodes.h "says" the following:</div><div><div>/// BUILD_VECTOR(ELT0, ELT1, ELT2, ELT3,...) - Return a vector with the</div><div>/// specified, possibly variable, elements.</div><div><br></div><div>my questions are:</div><div>1. what are those elements?</div><div>2. i presume that elements can be of different types, i.e. register, immediate, something else (don't know what). am i correct?</div><div>3. will the handling of BUILD_VECTOR if the inputs are of different types?</div><div><br></div><div>a concrete example would really help.</div><div><br></div><div>any help on this is really appreciated.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Rail Shafigulin<br></div>Software Engineer <br>Esencia Technologies<br></div></div></div></div>
</div></div>