[PATCH] [X86][SSE] Vectorize v2i32 to v2f64 conversions
Andrea Di Biagio
Andrea_DiBiagio at sn.scee.net
Mon Jun 15 15:22:45 PDT 2015
In http://reviews.llvm.org/D10433#188307, @RKSimon wrote:
> Thanks guys for the reviews.
> Andrea - I did investigate TableGen / ISel pattern approaches but couldn't manage to make anything work - it doesn't like the fact that v2i32 isn't valid. I believe its why the X86ISD VFPEXT and VFPROUND node types were added in a similar manner. I considered giving the node a more general name 'SINT_TO_FPEXT' but given that cvtdq2pd appears to be the only user of this pattern it didn't seem necessary.
Thanks for pointing it out.
I see how FP_EXTEND and FP_ROUND are marked as 'Custom' on v2f32.
The patch looks good to me too.
> Quentin - yes the MMX instructions (CVTPI2PD and CVTPI2PS) could work in a similar fashion. Are we actively adding MMX/3DNow! lowering? I always thought they were just hidden behind their builtin intrinsics.
> I'll add the vectorization costs (+ a test) as part of the submission (or possibly as a followup).
More information about the llvm-commits