[llvm-dev] error:Ran out of lanemask bits to represent subregisterr
hameeza ahmed via llvm-dev
llvm-dev at lists.llvm.org
Wed Jul 19 13:25:15 PDT 2017
You are right. Regarding lanes i can comment only when the other things run
fine.
Here I am stuck with unsigned vs uint64_t. it looks as if i need to replace
each occurrence of unsigned with uint64_t.
Should i do it for complete llvm folder or codegen only??
i am continuously getting such errors which require changing unsigned with
uint64_t.
What to do now???
On Thu, Jul 20, 2017 at 1:03 AM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> It is possible that you have more than 64 lanes. In such case you would
> need to reimplement LaneBitmask with a larger underlying type. Most of the
> functionality is already localized to the header file, the only exception
> may be the "getAsInteger" function. It shouldn't be too hard to fix up the
> uses to deal with a different underlying type.
>
> -Krzysztof
>
>
> On 7/19/2017 2:56 PM, hameeza ahmed wrote:
>
>> As you mentioned i changed 32 to 64 but now some new errors come which
>> require to change unsigned to uint64_t in mentioned files. i have changed
>> in mentioned files but still errors come to change in other files..
>>
>> What to do?
>>
>> On Thu, Jul 20, 2017 at 12:08 AM, Craig Topper <craig.topper at gmail.com
>> <mailto:craig.topper at gmail.com>> wrote:
>>
>> Did you change the hardcoded 32 right before the line that prints
>> that error in CodeGenRegisters.cpp to 64?
>>
>> ~Craig
>>
>> On Wed, Jul 19, 2017 at 11:38 AM, hameeza ahmed
>> <hahmed2305 at gmail.com <mailto:hahmed2305 at gmail.com>> wrote:
>>
>> Thank You.
>>
>> I have replaced all the occurrences of unsigned with uint64_t in
>> Lanemask.h and in all other related files like
>> codegenregisters.cpp, codegenregisters.h, MIParser.cpp etc...
>> Also i changed Log2_32 to Log2_64 and replaced 4 with 8 in
>> codegenregisters.cpp, but 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
>>
>> Now what to do?
>>
>> Please help.
>>
>>
>> On Wed, Jul 19, 2017 at 5:57 PM, Krzysztof Parzyszek
>> <kparzysz at codeaurora.org <mailto:kparzysz at codeaurora.org>> wrote:
>>
>> Hi,
>> The LaneBitmask is implemented in
>> include/llvm/MC/LaneBitmask.h. You will need to change the
>> underlying type and the associated member functions.
>> If you have a large number of lanes, you will need to
>> replace it with a type that can contain as many independent
>> bits as you need (BitVector would be an ultimate solution).
>> You may run into some problems with the uses of the member
>> function "getAsInteger", but you can change those to
>> something equivalent according to the type you use.
>>
>> -Krzysztof
>>
>>
>> On 7/19/2017 3:51 AM, hameeza ahmed wrote:
>>
>> Hello,
>> Mr. krzysztof I have seen similar question asked by you
>> on llvm group. Could you please help me here to address
>> this issue.
>>
>> 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_8192bit_hi_
>> then_sub_4096bit_hi_then_sub_2048bit_hi_then_sub_32bit_hi_then
>>
>> now how to increase lanemask bits? what changes are
>> required??
>>
>>
>> Kindly help.
>>
>>
>>
>>
>>
>> -- Qualcomm Innovation Center, Inc. is a member
>> of Code Aurora
>> Forum, hosted by The Linux Foundation
>>
>>
>>
>>
>>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by The Linux Foundation
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170720/69456b93/attachment.html>
More information about the llvm-dev
mailing list