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

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 19 05:57:34 PDT 2017

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.


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

More information about the llvm-dev mailing list