[llvm-dev] Adding 'v16f16' to tablegen

Martin J. O'Riordan via llvm-dev llvm-dev at lists.llvm.org
Sat Mar 5 14:26:27 PST 2016


I have been able to adapt the main LLVM sources to work with vectors of 16 x
FP16 values and I have introduced the 'v16f16' data type to CLang and LLVM,
but I am stumped on how to get TableGen to recognise this type.  At the
moment I am trying to optimise the calling convention code, and whenever I
refer to 'v16f16' I get a crash in TableGen (unrecognised type).
Unfortunately I haven't got my head around the innards of TableGen yet, so I
am asking if anyone has any advice on how to add a new vector data type to
TableGen?

 

The main reason I need this is that OpenCL supports vectors with 16 elements
for all supported scalar types, and the SHAVE processor does support FP16
(aka 'half') data types.  Although we don't natively support 16 x FP16, I
would like to optimise how values of this type are passed and returned; so
any advice is appreciated.

 

I have the same problem with 'v16f64', although this type does not occur in
any real code that I have found outside the OpenCL test-suite.

 

Thanks,

 

            MartinO

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160305/9b56a0da/attachment.html>


More information about the llvm-dev mailing list