[llvm-dev] X86 new registers not being allocated

Barbora Murinov√° via llvm-dev llvm-dev at lists.llvm.org
Sun Jan 21 16:29:45 PST 2018

Hi all,

I have a bunch of new registers set up in X86RegisterInfo.td, the important
part being

def PR128 : RegisterClass<"X86", [i128],
                           128, (sequence "POI%u", 0, 7)>;

def VR128 : RegisterClass<"X86", [v4f32, v2f64, v16i8, v8i16, v4i32, v2i64],
                          128, (add PR128, FR32)>;

I have an entry in X86ISelLowering.cpp:

addRegisterClass(MVT::i128, &X86::PR128RegClass);

and in findRepresentativeClass():

case MVT::i128:
    RRC =  &X86::PR128RegClass;

But even though my nodes have MVT::i128 value type, they get allocated to
XMM registers. I have, of course, removed i128 from FR128. What am I


Barbora Murinov√°
The University of Edinburgh
SK: +421905718390
UK: +447477833795
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180122/b39a7108/attachment.html>

More information about the llvm-dev mailing list