[LLVMdev] Instruction MVT::ValueTypes

David Greene dag at cray.com
Wed Sep 17 14:51:16 PDT 2008


On Wednesday 03 September 2008 15:42, Dan Gohman wrote:

> For the case of MOVAPS vs. MOVAPD vs. MOVDQU (assuming you have a
> micro-architecture where there's actually a difference), this can be
> achieved by having instruction selection select the right instructions.
> For example, find code like this in X86InstrSSE.td:
>
> def : Pat<(alignedloadv2i64 addr:$src),
>            (MOVAPSrm addr:$src)>, Requires<[HasSSE2]>;
> def : Pat<(loadv2i64 addr:$src),
>            (MOVUPSrm addr:$src)>, Requires<[HasSSE2]>;
>
> and change it to not select MOVAPS for that microarchitecture, for
> example.

Unfortunately that doesn't help when, for example, you need to generate
spill code.  :)

                                                  -Dave



More information about the llvm-dev mailing list