<div dir="ltr">Hello Krzysztof, <div>The R_CASS definition is as follows:</div><div><br></div><div><div>class R_CASS<string n, bits<16> Enc,   list<Register> subregs = []> : Register<n> {</div><div><br></div><div>let Namespace = "X86";</div><div>let HWEncoding = Enc;</div><div>  let SubRegs = subregs;</div><div>}</div></div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 20, 2017 at 4:14 AM, Krzysztof Parzyszek <span dir="ltr"><<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@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">I tried reproducing the problem, but the file doesn't have everything I need (the class R_CLASS is not defined for example).<br>
<br>
Craig's getLane patch fixes the shifts, but if you want to use a larger type than uint64_t, there is more work to do. I'll try to come up with something tomorrow.<br>
<br>
-Krzysztof<span class="gmail-"><br>
<br>
On 7/19/2017 5:08 PM, hameeza ahmed wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
My code is attached here. I m trying to add in x86 for my target in this initial phase. Maybe later i will use separate target.<br>
<br></span><div><div class="gmail-h5">
On Jul 19, 2017 10:04 PM, "Krzysztof Parzyszek" <<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a> <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>>> wrote:<br>
<br>
    Could you share your .td file?<br>
<br>
    Also, could you generate the .inc file by hand and show the output?<br>
<br>
    You could use something like this to generate it:<br>
    llvm-tblgen -gen-register-info -I.../lib/Target/<your-target><br>
    -I.../lib/Target -I.../include/llvm/Target <your-target>.td -o -<br>
<br>
    What is the relationship of your target with X86?  Are you trying to<br>
    add something to it, or are you working on a separate target?<br>
<br>
    -Krzysztof<br>
<br>
    On 7/19/2017 4:47 PM, hameeza ahmed wrote:<br>
<br>
        I have made changes in 3 files:<br>
        LaneBitmask.h, codegenregisters.cpp and miparser.cpp. files are<br>
        attached here.<br>
<br>
        Now i am getting following errors. which means registerinfo.inc<br>
        file is not generated successfully.<br>
<br>
        /PIM/lib/Target/X86/MCTargetDe<wbr>sc/X86BaseInfo.h:733:24: error:<br>
                no member named 'XMM8' in namespace 'llvm::X86'<br>
              if ((RegNo >= X86::XMM8 && RegNo <= X86::XMM31) ||<br>
<br>
<br>
        fatal error: too many errors emitted, stopping now [-ferror-limit=]<br>
        20 errors generated.<br>
<br>
        When i comment out the line to construct 65536 bit register in<br>
        <a href="http://registerinfo.td" rel="noreferrer" target="_blank">registerinfo.td</a> <<a href="http://registerinfo.td" rel="noreferrer" target="_blank">http://registerinfo.td</a>><br>
        <<a href="http://registerinfo.td" rel="noreferrer" target="_blank">http://registerinfo.td</a>>. it run fine.<br>
<br>
        What to do?<br>
<br>
        On Thu, Jul 20, 2017 at 2:36 AM, Krzysztof Parzyszek<br>
        <<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a> <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>><br></div></div><div><div class="gmail-h5">
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a><br>
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>>>> wrote:<br>
<br>
             Those couldn't be done generically, that's why the asserts<br>
        were added.<br>
<br>
             -Krzysztof<br>
<br>
             On 7/19/2017 4:30 PM, Craig Topper wrote:<br>
<br>
                 What about the static asserts protecting a Log call and<br>
        another<br>
                 in the parser?<br>
<br>
                 On Wed, Jul 19, 2017 at 2:26 PM Krzysztof Parzyszek<br>
                 <<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a><br>
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>> <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a><br>
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>>><br>
                 <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.o<wbr>rg</a><br>
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>><br>
                 <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.o<wbr>rg</a><br>
        <mailto:<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.or<wbr>g</a>>>>> wrote:<br>
<br>
                      On 7/19/2017 4:18 PM, Craig Topper wrote:<br>
                       > LaneMask isn't as self contained as it should<br>
        be. 64<br>
                 bits is enough<br>
                       > here. The problem is accidental leaking of the<br>
        current size.<br>
                       ><br>
                       > For example there was a hard coded compare with<br>
        32 in<br>
                 tablegen<br>
                      until I<br>
                       > fixed it recently.<br>
<br>
                      This is most likely the only example.  I actually<br>
        tested it<br>
                 with<br>
                      uint64_t (but without exceeding 32 lanes).<br>
<br>
                      -Krzysztof<br>
<br>
                      --<br>
                      Qualcomm Innovation Center, Inc. is a member of<br>
        Code Aurora<br>
                 Forum,<br>
                      hosted by The Linux Foundation<br>
<br>
                 --         ~Craig<br>
<br>
<br>
             --     Qualcomm Innovation Center, Inc. is a member of Code<br>
        Aurora Forum,<br>
             hosted by The Linux Foundation<br>
<br>
<br>
<br>
    --     Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
    hosted by The Linux Foundation<br>
<br>
<br></div></div>
<<a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" rel="noreferrer" target="_blank">http://www.avg.com/email-sign<wbr>ature?utm_medium=email&utm_<wbr>source=link&utm_campaign=sig-<wbr>email&utm_content=emailclient</a>><wbr>    Virus-free. <a href="http://www.avg.com" rel="noreferrer" target="_blank">www.avg.com</a> <<a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" rel="noreferrer" target="_blank">http://www.avg.com/email-sign<wbr>ature?utm_medium=email&utm_<wbr>source=link&utm_campaign=sig-<wbr>email&utm_content=emailclient</a>> <br>
<br>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2A<wbr>A1F9FDF2><br>
</blockquote>
<br>
</blockquote></div><br></div></div>