[llvm-dev] Using new types v32f32, v32f64 in llvm backend not possible

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 11 06:20:18 PDT 2017

On 07/11/2017 03:22 AM, hameeza ahmed wrote:
> Hello,
> i want to work with these types v32f32, v32f64.... in llvm which are 
> undefined in the backend?
> But v32i32, v32i64 are already defined so i am able to use these.
> but for other types such as v32f32, v32f64 although i have defined 
> them appropriately in all the files like machinevaluetype.h, 
>  valuetypes.cpp etc. i have checked it many times but still getting 
> the following error when build in debug mode.
> llvm-tblgen: /utils/TableGen/CodeGenDAGPatterns.cpp:57: 
> llvm::EEVT::TypeSet::TypeSet(MVT::SimpleValueType, llvm::TreePattern 
> &): Assertion `(VT < MVT::LAST_VALUETYPE || VT == MVT::iPTR || VT == 
> MVT::iPTRAny || VT == MVT::Any) && "Not a concrete type!"' failed.

Are you sure that you updated all of the enum values correctly, 
including updating MVT::LAST_VALUETYPE, etc., and also updated 


> What could be the reason?? please guide how to define new types in 
> llvm backend.
> Thank You

Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

More information about the llvm-dev mailing list