If a profile won’t support a rendering intent, LittleCMS will fall back to a supported rendering intent when the transform is attempted. The programmer has to check the profile beforehand to determine if a rendering intent is supported.
I have such checks in rawproc; my experience is that matrix profiles only support relative_ and absolute_colorimetric; you need a LUT profile to support perceptual.