[LLVMdev] Generating movq2dq using IRBuilder

Nicolas Capens nicolas at capens.net
Thu Jul 31 22:46:53 PDT 2008


Hi Dan,

Yes, they could be represented with insertelement and extractelement, but I
don't think they actually generate optimal code using movq2dq and such. Else
both bugs 2584 and 2585 would be fixed.

Anyway, I'm actually already encouraged to get involved myself. I'm quite
experienced with MMX and SSE but I'm still trying to learn more about how
LLVM does instruction selection and such.

By the way, I noticed that movq2dq and such are missing from the intrinsics
as well. Maybe I could make myself useful by starting to add them? Do you
know whether http://llvm.org/docs/ExtendingLLVM.html#intrinsic is still a
good description on how to get started?

Thank you,

Nicolas


-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Dan Gohman
Sent: Thursday, 31 July, 2008 23:39
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Generating movq2dq using IRBuilder



On Jul 31, 2008, at 7:22 AM, Nicolas Capens wrote:

> In the same breath I'd also like to kindly ask if someone could have  
> a look at the reverse operations, namely trunk from 128 to 64 bit  
> using movdq2q, and 128 to 32 and 64 to 32 using movd. This also  
> seems related to Bug 2585. Thanks again.

The operations you're describing can be represented as insertelement
and extractelement in LLVM IR.

I don't know of anyone actively working on MMX tuning for LLVM, so
if you'd like to see it improve, consider yourself encouraged to
get involved directly :-).

Dan


_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list