hameeza ahmed via llvm-dev
2017-Jul-19 08:51 UTC
[llvm-dev] error:Ran out of lanemask bits to represent subregisterr
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.> >>>>>>>>>>>>-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170719/52e3ca69/attachment-0001.html>
Krzysztof Parzyszek via llvm-dev
2017-Jul-19 12:57 UTC
[llvm-dev] error:Ran out of lanemask bits to represent subregisterr
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
hameeza ahmed via llvm-dev
2017-Jul-19 18:38 UTC
[llvm-dev] error:Ran out of lanemask bits to represent subregisterr
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> 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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170719/8fd9f1d2/attachment.html>