I’m running into issues when trying to implement an intrinsic function which takes a vec 3 parameter and does not return anything(e.g. v3i32):
void @intrinsic_3d(<3 x i32>)
I’ve tried the following:
- Adding setOperationAction() to custom handle it
There’s no built-in MVT enum for this type
Not sure if I want to do this for all other intrinsic functions, since I can only specify for ISD::INTRINSIC_VOID here?
In my target’s intrinsic.td file, I declare the intrinsic as taking a “llvm_anyvector_ty” parameter, but it still complains about “lookupName Error …” for some reason. Tried a few other candidates, none of those seemed to work.
Or just do the patching at the IR level?
I think this must have been discussed before, as I found an old thread on this - http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-March/047996.html. But I’m not sure what the resolution for this. Any other suggestions?