16 bit to 32 bit conversion

It seems that LLVM is converting all the 16 bit ints into 32 bit ints.
Is there a way I can tell LLVM that 16 bit ints are valid and legal and
not to do any conversions on them?


Micah Villmow

Systems Engineer

Advanced Technology & Performance

Advanced Micro Devices Inc.

S1-609 One AMD Place

Sunnyvale, CA. 94085

P: 408-749-3966

Are you marking i16 a legal type? In XXISelLowering.cpp, you should assign it a register class. e.g. addRegisterClass(MVT::i16, XX::i16RegisterClass)


Thanks for making me double check my own mistake. I had
addRegisterClass(MVT::i16, XX::i32RegisterClass).