[llvm-dev] error:Ran out of lanemask bits to represent subregister

hameeza ahmed via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 18 03:58:19 PDT 2017


still getting the same error:
error:Ran out of lanemask bits to represent subregister
sub_32768bit_hi_then_sub_16384bit_hi_then_sub_8192bit_hi_then
_sub_4096bit_hi_then_sub_2048bit_hi_then_sub_32bit_hi_then

Can someone please help??



On Sat, Jul 15, 2017 at 12:57 AM, Craig Topper <craig.topper at gmail.com>
wrote:

> There's probably a call to Log2_32 a few lines down from that should be
> Log2_64 now. And the static assert should be fixed to say 8 instead of 4.
>
> ~Craig
>
> On Fri, Jul 14, 2017 at 12:20 PM, hameeza ahmed <hahmed2305 at gmail.com>
> wrote:
>
>> i even did the changes mentioned here;
>>
>> https://github.com/llvm-mirror/llvm/commit/c68f8f2fd3c004e60
>> e958761b00a9ae4bce97e2d
>>
>> but not solved
>>
>> On Sat, Jul 15, 2017 at 12:06 AM, hameeza ahmed <hahmed2305 at gmail.com>
>> wrote:
>>
>>> As you said i made;
>>> typedef uint64_t Type;
>>> in include/llvm/MC/LaneBitmask.h
>>> but now getting this error;
>>>
>>> utils/TableGen/CodeGenRegisters.cpp:1258:9: error:
>>>       static_assert failed "Change Log2_32 to a proper one"
>>>         static_assert(sizeof(Composite->LaneMask.getAsInteger()) == 4,
>>>
>>> On Fri, Jul 14, 2017 at 11:56 PM, Craig Topper <craig.topper at gmail.com>
>>> wrote:
>>>
>>>> I can tell you that you shoudl start by changing the Type field in
>>>> include/llvm/MC/LaneBitmask.h from unsigned to uint64_t.
>>>>
>>>> ~Craig
>>>>
>>>> On Fri, Jul 14, 2017 at 11:56 AM, Craig Topper <craig.topper at gmail.com>
>>>> wrote:
>>>>
>>>>> I'm sorry, but I don't have any bandwidth to make the changes for you
>>>>> or thoroughly investigate what the changes are.
>>>>>
>>>>> ~Craig
>>>>>
>>>>> On Fri, Jul 14, 2017 at 11:48 AM, hameeza ahmed <hahmed2305 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> sorry to disturb. but with further testing getting that error again.
>>>>>> have you make some patch? how can i fix it?
>>>>>>
>>>>>> On Fri, Jul 14, 2017 at 11:44 PM, hameeza ahmed <hahmed2305 at gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> I rechecked my code there was some typo. i corrected it now no lane
>>>>>>> bitmask errors.
>>>>>>>
>>>>>>> Thank You again
>>>>>>>
>>>>>>> On Fri, Jul 14, 2017 at 11:32 PM, Craig Topper <
>>>>>>> craig.topper at gmail.com> wrote:
>>>>>>>
>>>>>>>> I've commited r308042 to make it a little easier to change the
>>>>>>>> underlying type in the LaneBitmask class. With that change you might not
>>>>>>>> need to touch CodeGenRegisters.cpp now. But I can't promise anything.
>>>>>>>>
>>>>>>>> ~Craig
>>>>>>>>
>>>>>>>> On Fri, Jul 14, 2017 at 10:36 AM, hameeza ahmed <
>>>>>>>> hahmed2305 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> The code file is attached here.
>>>>>>>>>
>>>>>>>>> Kindly check it.
>>>>>>>>>
>>>>>>>>> On Fri, Jul 14, 2017 at 10:29 PM, Craig Topper <
>>>>>>>>> craig.topper at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Do your 32768 registers also have sub registers?
>>>>>>>>>>
>>>>>>>>>> I can't tell you exactly what to change. I'm not familiar with
>>>>>>>>>> the code. I would just be running grep or something.
>>>>>>>>>>
>>>>>>>>>> ~Craig
>>>>>>>>>>
>>>>>>>>>> On Fri, Jul 14, 2017 at 10:23 AM, hameeza ahmed <
>>>>>>>>>> hahmed2305 at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Thank you so much. I think there is no issue with my definitions
>>>>>>>>>>> since i have to use larger registers i.e 65536 bit register made from 2
>>>>>>>>>>> 32768 registers.
>>>>>>>>>>> I have seen your mentioned code files. But it looks difficult
>>>>>>>>>>> what to change.
>>>>>>>>>>> Could you please specify exactly where to make changes??
>>>>>>>>>>>
>>>>>>>>>>> Thank You
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Jul 14, 2017 at 10:16 PM, Craig Topper <
>>>>>>>>>>> craig.topper at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> This error indicates that its trying to create a lane mask
>>>>>>>>>>>> larger than 32 bits. Without seeing all of your subregister definitions I
>>>>>>>>>>>> can't tell if that's correct of if there's something wrong with your
>>>>>>>>>>>> register definitions.
>>>>>>>>>>>>
>>>>>>>>>>>> If it is correct then you need to change all the associated
>>>>>>>>>>>> LaneMask code in CodeGenRegisters.cpp, include/llvm/MC/LaneBitMask.h and
>>>>>>>>>>>> probably elsewhere to use a larger type than "unsigned" or "uint32_t".
>>>>>>>>>>>>
>>>>>>>>>>>> ~Craig
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Jul 14, 2017 at 10:09 AM, Tim Northover <
>>>>>>>>>>>> t.p.northover at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Your first post was 6 hours ago and you've pinged it twice.
>>>>>>>>>>>>> That's too frequent, the generally accepted ping rate on llvm lists is once
>>>>>>>>>>>>> per week.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Tim.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Jul 14, 2017 1:07 PM, "hameeza ahmed via llvm-dev" <
>>>>>>>>>>>>> llvm-dev at lists.llvm.org> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> please tell me how to solve this lanemask bits issue?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> how to increase lanemask bits?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Fri, Jul 14, 2017 at 8:33 PM, hameeza ahmed <
>>>>>>>>>>>>>> hahmed2305 at gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>> i am trying to construct a register of size 65536 bit by
>>>>>>>>>>>>>>> combining 2 registers of 32768 bits. both the 32768 bit registers are
>>>>>>>>>>>>>>> different so i have to use the following method
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> let SubRegIndices = [sub_32768bit, sub_32768bit_hi],
>>>>>>>>>>>>>>> CoveredBySubRegs = 1 in
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> but i am getting following error..
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> error:Ran out of lanemask bits to represent subregister
>>>>>>>>>>>>>>> sub_32768bit_hi_then_sub_16384bit_hi_then_sub_32bit
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> now how to increase lanemask bits? what changes are required
>>>>>>>>>>>>>>> in IntrinsicEmitter.cpp file??
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Please reply.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> LLVM Developers mailing list
>>>>>>>>>>>>>> llvm-dev at lists.llvm.org
>>>>>>>>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170718/8f762dde/attachment.html>


More information about the llvm-dev mailing list