Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: =?iso-8859-1?Q?Patrik_H=E4gglund_H?= <patrik.h.hagglund <at> ericsson.com>
Subject: Re: non-standard machine value types
Newsgroups: gmane.comp.compilers.llvm.devel
Date: Wednesday 10th June 2015 07:32:54 UTC (over 2 years ago)
We maintain a set of patches for enabling 24/40-bit MVTs, and also a set of
patches to support 16-bit bytes. I can provide them upon request. (Only
llvm, no clang patches yet.)

/Patrik Hägglund

From: [email protected] [mailto:[email protected]] On
Behalf Of Matt Arsenault
Sent: den 4 juni 2015 09:07
To: Volodymyr Arbatov
Cc: [email protected]
Subject: Re: [LLVMdev] non-standard machine value types


On Jun 3, 2015, at 11:48 PM, Volodymyr Arbatov
> wrote:

Hi all.

I'm looking for a ways of defining register files with non-standard machine
value type in tablegen. The value types not covered by SimpleValueType
enum. For example (from the top of my head) 25 bit integers, or 8 way 18
bit integers. These types going to be used with intrinsics so I also need
appropriate C custom types defined.

I wonder if I can describe those in tablegen files or do I need to extend
llvm. What is the right way of supporting such types?

I'm not familiar will llvm internals so far, so any help and pointers
appreciated.

Thanks,
Volodymyr.
___________________

You would need an MVT type defined for every legal type you have, so you
would need to add those. However, LLVM has a pretty widely spread
assumption of 8-bit bytes, so that will be far more problematic for your
target. Fixing that would be a large project.

-Matt
 
CD: 3ms