<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>