<div dir="ltr">Thank you so much.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 11:30 AM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I am targetting some new hardware which supports greater vector width. i am adding that in x86 not separately.</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 11:28 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The opcode field is 8-bits, but there are multiple opcode maps specified by things like the "TB" on the end of your current instruction. There are many others like TA, VEX, XOP, etc. that you can find on other instructions.<div><br></div><div>What exactly is your end goal with making up these fake instructions?</div></div><div class="gmail_extra"><span class="m_-5617534967754626440HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232gmail_signature" data-smartmail="gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 11:03 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank You.<div><br></div><div>I have seen the opcode is 8 bits and all the combinations are already used in llvm x86.</div><div><br></div><div>Now what to do?</div></div><div class="m_-5617534967754626440m_7877504249115187232HOEnZb"><div class="m_-5617534967754626440m_7877504249115187232h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 10:57 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yes its an opcode conflict. You'll have to look through Intel documents and find an unused opcode. I've only added instructions based on a real spec so I don't know how to make up an opcode.</div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939gmail_signature" data-smartmail="gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 10:43 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank You.<div><br></div><div>Now i am getting this error repeatedly;</div><div><br></div><div><div>Error: Primary decode conflict: VADD_256B would overwrite INC8r</div><div>ModRM   192</div><div>Opcode  254</div><div>Context IC</div><div>Error: Primary decode conflict: VADD_256B would overwrite INC8r</div><div>ModRM   193</div><div>Opcode  254</div><div>Context IC</div></div><div><br></div><div>Is it due to opcode conflict? what should i keep opcode then?</div><div><br></div></div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939HOEnZb"><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 10:33 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Keep I</div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145gmail_signature" data-smartmail="gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 10:28 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I keep this one;<div><br></div><div><span><div style="font-size:12.8px"><font color="#000000">def  VADD_256B  : I<0xFE, MRMDestReg, (outs VR<span style="font-size:12.8px">2048</span>:$dst), (ins VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2),</font></div></span><div style="font-size:12.8px"><font color="#000000">                   "VADD_256B\t{$dst, $src1, $src2 }", [(set VR<span style="font-size:12.8px">2048</span>:$dst, (add VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2))]>;</font></div></div></div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145HOEnZb"><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 10:17 AM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">sorry i didnt understand RI/ I thing. should i keep RI or I?</div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521HOEnZb"><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 10:13 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think so.</div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130gmail_signature" data-smartmail="gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 10:10 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">sorry to disturb again,,<div><br></div><div><div><font color="#000000">def  VADD_256B  : RI<0xFE, MRMDestReg, (outs VR<span style="font-size:12.8px">2048</span>:$dst), (ins VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2),</font></div><div><font color="#000000">                   "VADD_256B\t{$dst, $src1, $src2 }", [(set VR<span style="font-size:12.8px">2048</span>:$dst, (add VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2))], IIC_XADD_REG>, TB;</font></div></div><div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Is it fine now??</div><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130h5"><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 10:00 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Oops that should have said "REX prefix" in the first sentence.</div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 9:59 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">You don't want RI. That's used for instructions that need a reg prefix. You need to use $src1 and $src2 in the assembly string too. It also looks like you have two closing ] brackets.</div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 9:55 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thank you;<div>i have changed as <a href="http://follows.is" target="_blank">follows.is</a> it fine now?</div><div><br></div><div><div>def  <font color="#000000">VADD_256B</font>  : I<0xFE, MRMDestReg, (outs VR<span style="font-size:12.8px">2048</span>:$dst), (ins VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2),</div><div>                   "VADD_256B\t{$src, $dst|$dst, $src}", [(set VR<span style="font-size:12.8px">2048</span>:$dst, (add VR<span style="font-size:12.8px">2048</span>:$src1, VR<span style="font-size:12.8px">2048</span>:$src2))]]>;</div></div><div><br></div><div>Also here i have changed class RI to I. Does it make any difference?</div><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119h5"><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 9:38 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">IIC_XADD_REG is used to associate latency and other information for use by the instruction scheduling pass.<div><br></div><div>You're missing a pattern in the square bracket to match an add node. You also need two VR2048 registers in the 'ins'</div></div><div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227gmail_signature">~Craig</div></div></font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-h5">
<br><div class="gmail_quote">On Fri, Jul 7, 2017 at 9:29 PM, hameeza ahmed <span dir="ltr"><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Can you please tell whether following add is correct to add 2 64xi32 numbers.</div><div><br></div><div>def VADD_256B  : RI<0xFE, MRMDestReg, (outs VR<span style="font-size:12.8px">2048</span>:$dst), (ins VR<span style="font-size:12.8px">2048</span>:$src),</div><div>                   "VADD_256B\t{$src, $dst|$dst, $src}", [], IIC_XADD_REG>, TB;</div><div><br></div><div><div style="font-size:12.8px">what is llc_xadd_reg here?</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div></div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227HOEnZb"><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 8:48 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Change the i32 in the store pattern to v64i32.</div><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960h5"><br><div class="gmail_quote"><div>On Fri, Jul 7, 2017 at 8:41 PM hameeza ahmed <<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Thank you. i understood how avx512 vector instructions are written in x86instravx512. i need to define my vector instructions so i wrote;<div><br></div><div><div style="font-size:12.8px"> def VMOV_256B_RM : I<0x6F, MRMSrcMem, (outs VR2048:$dst), (ins i32mem:$src),</div><div style="font-size:12.8px">                    "vmov_256B_rm\t{$src, $dst|$dst, $src}",</div><div style="font-size:12.8px">                    [(set VR2048:$dst, (v64i32 (scalar_to_vector (loadi32 addr:$src))))],</div><div style="font-size:12.8px">                    IIC_MOV_MEM>, EVEX;</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">def VMOV_256B_MR : I<0x7F, MRMDestMem, (outs), (ins i32mem:$dst, VR2048:$src),</div><div style="font-size:12.8px">                    "vmov_256B_mr\t{$src, $dst|$dst, $src}",</div><div style="font-size:12.8px">                    [(store (i32 (bitconvert VR2048:$src)), addr:$dst)], IIC_MOV_MEM>, EVEX;</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">in <a href="http://x86instrinfo.td" target="_blank">x86instrinfo.td</a>; </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">when i build i got these instructions in X86GenInstrInfo. </div><div style="font-size:12.8px">but still my instruction is not selected when i run input file in debug mode; getting following errors;</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div><div><span style="font-size:12.8px">===== Instruction selection begins: BB#1 'vector.body'</span></div><div><span style="font-size:12.8px">Selecting: t9: ch = store<ST256[bitcast ([65 x i32]* @c to <64 x i32>*)](align=16)(tbaa=<0x3817<wbr>578>)> t8, t7, t11, undef:i64</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">ISEL: Starting pattern match on root node: t9: ch = store<ST256[bitcast ([65 x i32]* @c to <64 x i32>*)](align=16)(tbaa=<0x3817<wbr>578>)> t8, t7, t11, undef:i64</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 14, continuing at 81</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 82, continuing at 149</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 150, continuing at 217</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 218, continuing at 267</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 268, continuing at 317</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 318, continuing at 367</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 368, continuing at 394</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 395, continuing at 421</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 422, continuing at 471</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 472, continuing at 521</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 522, continuing at 571</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 572, continuing at 639</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 640, continuing at 707</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 708, continuing at 775</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 776, continuing at 804</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 805, continuing at 833</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 834, continuing at 862</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 863, continuing at 891</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 892, continuing at 920</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 921, continuing at 949</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 950, continuing at 987</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 988, continuing at 1025</span></div><div><span style="font-size:12.8px">  Match failed at index 12</span></div><div><span style="font-size:12.8px">  Continuing at 1026</span></div><div><span style="font-size:12.8px">  OpcodeSwitch from 1029 to 5725</span></div><div><span style="font-size:12.8px">  Match failed at index 5743</span></div><div><span style="font-size:12.8px">  Continuing at 5772</span></div><div><span style="font-size:12.8px">  Match failed at index 5776</span></div><div><span style="font-size:12.8px">  Continuing at 5805</span></div><div><span style="font-size:12.8px">  Match failed at index 5809</span></div><div><span style="font-size:12.8px">  Continuing at 5838</span></div><div><span style="font-size:12.8px">  Match failed at index 5842</span></div><div><span style="font-size:12.8px">  Continuing at 5911</span></div><div><span style="font-size:12.8px">  Match failed at index 5915</span></div><div><span style="font-size:12.8px">  Continuing at 5953</span></div><div><span style="font-size:12.8px">  Match failed at index 5957</span></div><div><span style="font-size:12.8px">  Continuing at 5995</span></div><div><span style="font-size:12.8px">  Match failed at index 5999</span></div><div><span style="font-size:12.8px">  Continuing at 6037</span></div><div><span style="font-size:12.8px">  Match failed at index 6041</span></div><div><span style="font-size:12.8px">  Continuing at 6084</span></div><div><span style="font-size:12.8px">  Match failed at index 6088</span></div><div><span style="font-size:12.8px">  Continuing at 6131</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 6138, continuing at 6181</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 6182, continuing at 6228</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 6235, continuing at 6384</span></div><div><span style="font-size:12.8px">  Match failed at index 6388</span></div><div><span style="font-size:12.8px">  Continuing at 6419</span></div><div><span style="font-size:12.8px">  Match failed at index 6423</span></div><div><span style="font-size:12.8px">  Continuing at 6454</span></div><div><span style="font-size:12.8px">  Match failed at index 6458</span></div><div><span style="font-size:12.8px">  Continuing at 6489</span></div><div><span style="font-size:12.8px">  Continuing at 6490</span></div><div><span style="font-size:12.8px">  Continuing at 6491</span></div><div><span style="font-size:12.8px">  Continuing at 6492</span></div><div><span style="font-size:12.8px">  Match failed at index 6514</span></div><div><span style="font-size:12.8px">  Continuing at 6545</span></div><div><span style="font-size:12.8px">  Match failed at index 6562</span></div><div><span style="font-size:12.8px">  Continuing at 6593</span></div><div><span style="font-size:12.8px">  Match failed at index 6610</span></div><div><span style="font-size:12.8px">  Continuing at 6641</span></div><div><span style="font-size:12.8px">  Continuing at 6642</span></div><div><span style="font-size:12.8px">  Match failed at index 6658</span></div><div><span style="font-size:12.8px">  Continuing at 6772</span></div><div><span style="font-size:12.8px">  Match failed at index 6788</span></div><div><span style="font-size:12.8px">  Continuing at 6902</span></div><div><span style="font-size:12.8px">  Continuing at 13636</span></div><div><span style="font-size:12.8px">  Match failed at index 13640</span></div><div><span style="font-size:12.8px">  Continuing at 14940</span></div><div><span style="font-size:12.8px">  Match failed at index 14943</span></div><div><span style="font-size:12.8px">  Continuing at 15415</span></div><div><span style="font-size:12.8px">  Match failed at index 15417</span></div><div><span style="font-size:12.8px">  Continuing at 15570</span></div><div><span style="font-size:12.8px">  Match failed at index 15571</span></div><div><span style="font-size:12.8px">  Continuing at 15598</span></div><div><span style="font-size:12.8px">  Match failed at index 15599</span></div><div><span style="font-size:12.8px">  Continuing at 15716</span></div><div><span style="font-size:12.8px">  Match failed at index 15719</span></div><div><span style="font-size:12.8px">  Continuing at 15837</span></div><div><span style="font-size:12.8px">  Match failed at index 15840</span></div><div><span style="font-size:12.8px">  Continuing at 16198</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16203, continuing at 16285</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16286, continuing at 16394</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16395, continuing at 16464</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16465, continuing at 16487</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16488, continuing at 16510</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16511, continuing at 16533</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16534, continuing at 16556</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16557, continuing at 16680</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16681, continuing at 16804</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16805, continuing at 16890</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16891, continuing at 16976</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 16978, continuing at 17169</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17171, continuing at 17342</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17344, continuing at 17497</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17499, continuing at 17632</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17634, continuing at 17801</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17803, continuing at 17944</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 17946, continuing at 18074</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18075, continuing at 18178</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18179, continuing at 18253</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18254, continuing at 18278</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18279, continuing at 18303</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18304, continuing at 18328</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18329, continuing at 18376</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18377, continuing at 18424</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18425, continuing at 18520</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18521, continuing at 18636</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18637, continuing at 18661</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18662, continuing at 18711</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18712, continuing at 18736</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18737, continuing at 18770</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18771, continuing at 18856</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18857, continuing at 18942</span></div><div><span style="font-size:12.8px">  Skipped scope entry (due to false predicate) at index 18943, continuing at 19028</span></div><div><span style="font-size:12.8px">  Match failed at index 16201</span></div><div><span style="font-size:12.8px">  Continuing at 19029</span></div><div><span style="font-size:12.8px">LLVM ERROR: Cannot select: t9: ch = store<ST256[bitcast ([65 x i32]* @c to <64 x i32>*)](align=16)(tbaa=<0x3817<wbr>578>)> t8, t7, t11, undef:i64</span></div></div></div></div><div><div><div><div><span style="font-size:12.8px">  t7: v64i32 = add t6, t4</span></div></div></div></div><div><div><div><div><span style="font-size:12.8px">    t6: v64i32,ch = load<LD256[bitcast ([65 x i32]* @c to <64 x i32>*)](align=16)(tbaa=<0x3817<wbr>578>)(dereferenceable)> t0, t11, undef:i64</span></div><div><span style="font-size:12.8px">      t11: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[65 x i32]* @c> 0</span></div><div><span style="font-size:12.8px">        t10: i64 = TargetGlobalAddress<[65 x i32]* @c> 0</span></div><div><span style="font-size:12.8px">      t3: i64 = undef</span></div><div><span style="font-size:12.8px">    t4: v64i32,ch = load<LD256[bitcast ([65 x i32]* @b to <64 x i32>*)](align=16)(tbaa=<0x3817<wbr>578>)(dereferenceable)> t0, t13, undef:i64</span></div><div><span style="font-size:12.8px">      t13: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[65 x i32]* @b> 0</span></div><div><span style="font-size:12.8px">        t12: i64 = TargetGlobalAddress<[65 x i32]* @b> 0</span></div><div><span style="font-size:12.8px">      t3: i64 = undef</span></div><div><span style="font-size:12.8px">  t11: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[65 x i32]* @c> 0</span></div><div><span style="font-size:12.8px">    t10: i64 = TargetGlobalAddress<[65 x i32]* @c> 0</span></div><div><span style="font-size:12.8px">  t3: i64 = undef</span></div><div><span style="font-size:12.8px">In function: foo</span></div><div style="font-size:12.8px"><br></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">What could be the reason of this?? Please correct me.</div><div style="font-size:12.8px">I am stuck at this point....</div></div></div><div><div><div style="font-size:12.8px"><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 7, 2017 at 10:59 PM, Friedman, Eli <span><<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060moz-cite-prefix">The word "fold" is used all over LLVM. 
      It generally refers to transformations which delete an
      instruction.<br>
      <br>
      If you're asking about
      <a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060moz-txt-link-freetext" href="http://llvm.org/docs/CodeGenerator.html#instruction-folding" target="_blank">http://llvm.org/docs/CodeGener<wbr>ator.html#instruction-folding</a> , it
      just means an instruction which was produced by the "instruction
      folding" transform; there isn't anything special about the
      instruction itself.<span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479HOEnZb"><font color="#888888"><br>
      <br>
      -Eli</font></span><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479h5"><br>
      <br>
      On 7/6/2017 10:51 PM, hameeza ahmed wrote:<br>
    </div></div></div><div><div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479h5">
    <blockquote type="cite">
      <div>What is meant by folded instructions in LLVM?
        <div>How they work?</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Fri, Jul 7, 2017 at 10:19 AM,
          hameeza ahmed <span><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>Thank You.
              <div>
                <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060h5">
                  <div class="gmail_extra"><br>
                    <div class="gmail_quote">On Fri, Jul 7, 2017 at
                      10:03 AM, Craig Topper <span><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                        <div>Yes, that error is from
                          instruction selection. I think your
                          legalization changes worked fine.</div>
                        <div class="gmail_extra"><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585HOEnZb"><font color="#888888"><br clear="all">
                              <div>
                                <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837gmail_signature">~Craig</div>
                              </div>
                            </font></span>
                          <div>
                            <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585h5">
                              <br>
                              <div class="gmail_quote">On Thu, Jul 6,
                                2017 at 8:21 PM, hameeza ahmed via
                                llvm-dev <span><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span>
                                wrote:<br>
                                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                  <div>also i further run the
                                    following command;
                                    <div>llc -debug filer-knl_o3.ll<br>
                                    </div>
                                    <div><br>
                                    </div>
                                    <div>and its output is attached
                                      here. by looking at the output can
                                      we say that legalization runs fine
                                      and the error is due to
                                      instruction selection/ pattern
                                      matching which is not yet
                                      implemented?</div>
                                    <div><br>
                                    </div>
                                    <div>so do i need to worry and try
                                      to correct it at this stage or
                                      should i move forward to implement
                                      instruction selection/ pattern
                                      matching?</div>
                                    <div><br>
                                    </div>
                                    <div>Please guide me.</div>
                                    <div><br>
                                    </div>
                                    <div>Thank You</div>
                                  </div>
                                  <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837HOEnZb">
                                    <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837h5">
                                      <div class="gmail_extra"><br>
                                        <div class="gmail_quote">On Fri,
                                          Jul 7, 2017 at 8:00 AM,
                                          hameeza ahmed <span><<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>></span>
                                          wrote:<br>
                                          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                            <div>Thank You.
                                              well i have seen these
                                              links. but they dont cover
                                              the problem that i have
                                              mentioned. actually i am
                                              doing all the things step
                                              by step.
                                              <div><br>
                                              </div>
                                              <div>so i havent yet
                                                worked with instruction
                                                selection phase/ files.
                                                rather before that i am
                                                trying to do
                                                legalization by allowing
                                                vector elements>16
                                                i.e 64xi32. here i have
                                                mainly worked with 2
                                                files uptil now, i.e <a href="http://registerinfo.td" target="_blank">registerinfo.td</a>
                                                to define register class
                                                to be called in
                                                legalization. and most
                                                importantly i am dealing
                                                with file <span style="font-size:12.8px">X86ISelLowering.cpp.</span></div>
                                              <div><span style="font-size:12.8px"><br>
                                                </span></div>
                                              <div><span style="font-size:12.8px">Now
                                                  is there any relation
                                                  in this and
                                                  instruction selection.
                                                  since instruction
                                                  selection comes after
                                                  combine and legalize
                                                  so i havent yet worked
                                                  on it.</span></div>
                                              <div><span style="font-size:12.8px"><br>
                                                </span></div>
                                              <div><span style="font-size:12.8px"><br>
                                                </span></div>
                                              <div><span style="font-size:12.8px">Please
                                                  correct me, I am stuck
                                                  here.</span></div>
                                              <div><span style="font-size:12.8px"><br>
                                                </span></div>
                                              <div><span style="font-size:12.8px">Thank
                                                  You again</span></div>
                                            </div>
                                            <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014HOEnZb">
                                              <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014h5">
                                                <div class="gmail_extra"><br>
                                                  <div class="gmail_quote">On
                                                    Fri, Jul 7, 2017 at
                                                    7:11 AM, Friedman,
                                                    Eli <span><<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>></span>
                                                    wrote:<br>
                                                    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                                      <div bgcolor="#FFFFFF">
                                                        <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-cite-prefix">Have
                                                          you read <a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-txt-link-freetext" href="http://llvm.org/docs/WritingAnLLVMBackend.html" target="_blank">http://llvm.org/docs/WritingAn<wbr>LLVMBackend.html</a>
                                                          and <a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-txt-link-freetext" href="http://llvm.org/docs/CodeGenerator.html" target="_blank">http://llvm.org/docs/CodeGener<wbr>ator.html</a>
                                                          ?  <a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-txt-link-freetext" href="http://llvm.org/docs/WritingAnLLVMBackend.html#instruction-selector" target="_blank">http://llvm.org/docs/WritingAn<wbr>LLVMBackend.html#instruction-s<wbr>elector</a>
                                                          describes how
                                                          to define a
                                                          store
                                                          instruction.<br>
                                                          <br>
                                                          -Eli
                                                          <div>
                                                          <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809h5"><br>
                                                          <br>
                                                          On 7/6/2017
                                                          6:51 PM,
                                                          hameeza ahmed
                                                          via llvm-dev
                                                          wrote:<br>
                                                          </div>
                                                          </div>
                                                        </div>
                                                        <blockquote type="cite">
                                                          <div>
                                                          <div class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809h5">
                                                          <div dir="auto">
                                                          <div>Please
                                                          correct me i m
                                                          stuck at this
                                                          point.<br>
                                                          <div class="gmail_extra"><br>
                                                          <div class="gmail_quote">On
                                                          Jul 6, 2017
                                                          5:18 PM,
                                                          "hameeza
                                                          ahmed" <<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>>
                                                          wrote:<br type="attribution">
                                                          <blockquote class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                                          <div>Hello,
                                                          <div>i am
                                                          experimenting
                                                          with the
                                                          increase in
                                                          register/
                                                          vector width
                                                          to 64 elements
                                                          of 32 bits
                                                          instead of 16
                                                          in x86
                                                          backend. </div>
                                                          <div>for eg.</div>
                                                          <div>i have a
                                                          loop with 65
                                                          iterations;</div>
                                                          <div>if my IR
                                                          generates
                                                          v64i32 and 1
                                                          scalar, still
                                                          the backend
                                                          breaks the
                                                          v64i32 into 4
                                                          v16i32. i want
                                                          it to retain
                                                          v64i32. like
                                                          if there are
                                                          128 elements
                                                          in loop then
                                                          it should
                                                          break it into
                                                          2 v64i32
                                                          instructions.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>in order
                                                          to do this i
                                                          have made
                                                          necessary
                                                          changes in
                                                          X86ISelLowering.cpp.
                                                          and rebuild
                                                          llvm. then
                                                          when i use the
command -view-dag-combine2-dag<wbr>s i get the required output in graph
                                                          but the
                                                          following
                                                          error on
                                                          console:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          <div>LLVM
                                                          ERROR: Cannot
                                                          select: t10:
                                                          ch =
                                                          store<ST256[bitcast
                                                          ([65 x i32]*
                                                          @a to <64 x
i32>*)](align=16)(tbaa=<0x30c5<wbr>438>)> t9, t7, t12,
                                                          undef:i64</div>
                                                          <div>  t7:
                                                          v64i32 = add
                                                          t6, t4</div>
                                                          <div>    t6:
                                                          v64i32,ch =
                                                          load<LD256[bitcast
                                                          ([65 x i32]*
                                                          @c to <64 x
i32>*)](align=16)(tbaa=<0x30c5<wbr>438>)(dereferenceable)>
                                                          t0, t14,
                                                          undef:i64</div>
                                                          <div>     
                                                          t14: i64 =
                                                          X86ISD::Wrapper
TargetGlobalAddress:i64<[65 x i32]* @c> 0</div>
                                                          <div>       
                                                          t13: i64 =
                                                          TargetGlobalAddress<[65
                                                          x i32]* @c>
                                                          0</div>
                                                          <div>      t3:
                                                          i64 = undef</div>
                                                          <div>    t4:
                                                          v64i32,ch =
                                                          load<LD256[bitcast
                                                          ([65 x i32]*
                                                          @b to <64 x
i32>*)](align=16)(tbaa=<0x30c5<wbr>438>)(dereferenceable)>
                                                          t0, t16,
                                                          undef:i64</div>
                                                          <div>     
                                                          t16: i64 =
                                                          X86ISD::Wrapper
TargetGlobalAddress:i64<[65 x i32]* @b> 0</div>
                                                          <div>       
                                                          t15: i64 =
                                                          TargetGlobalAddress<[65
                                                          x i32]* @b>
                                                          0</div>
                                                          <div>      t3:
                                                          i64 = undef</div>
                                                          <div>  t12:
                                                          i64 =
                                                          X86ISD::Wrapper
TargetGlobalAddress:i64<[65 x i32]* @a> 0</div>
                                                          <div>    t11:
                                                          i64 =
                                                          TargetGlobalAddress<[65
                                                          x i32]* @a>
                                                          0</div>
                                                          <div>  t3: i64
                                                          = undef</div>
                                                          <div>In
                                                          function: foo</div>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>The dag
                                                          after
                                                          legalization
                                                          is also
                                                          attached here.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>the
                                                          source is
                                                          vector sum of
                                                          65 elements.</div>
                                                          <div><br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>Kindly
                                                          correct me.</div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br>
                                                          <fieldset class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227mimeAttachmentHeader"></fieldset>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          <pre>______________________________<wbr>_________________
LLVM Developers mailing list
<a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809HOEnZb"><font color="#888888">
</font></span></pre>
                                                          <span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809HOEnZb"><font color="#888888"> </font></span></blockquote>
                                                        <span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809HOEnZb"><font color="#888888">
                                                          <p><br>
                                                          </p>
                                                          <pre class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060m_-8555168154250104585m_1599938104135976837m_3376525912337003014m_1036672289896603809m_-3066541527091829227moz-signature" cols="72">-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
                                                          </font></span></div>
                                                    </blockquote>
                                                  </div>
                                                  <br>
                                                </div>
                                              </div>
                                            </div>
                                          </blockquote>
                                        </div>
                                        <br>
                                      </div>
                                    </div>
                                  </div>
                                  <br>
                                  ______________________________<wbr>_________________<br>
                                  LLVM Developers mailing list<br>
                                  <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
                                  <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
                                  <br>
                                </blockquote>
                              </div>
                              <br>
                            </div>
                          </div>
                        </div>
                      </blockquote>
                    </div>
                    <br>
                  </div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <p><br>
    </p>
    <pre class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960m_5932806098483298260m_-6875964906049251981gmail-m_5534112967121961479m_2178888266627977060moz-signature" cols="72">-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
  </div></div></div>

</blockquote></div><br></div></div></div></blockquote></div></div></div></div><span class="m_-5617534967754626440m_7877504249115187232m_-892486394364484883m_6375376969489413939m_3465788662329370499m_423538766429448145m_7816805121806485521m_948329137041989104m_9157540652272215130m_-945106501202830600gmail-m_-8329337877413176488m_5011846481656805119m_-937305568949940780gmail-m_5128073687887891227m_-1753605433703838960HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div>~Craig</div>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>