[PATCH] Match new shuffle codegen for MOVHPD patterns (PR21791)
Sanjay Patel
spatel at rotateright.com
Fri Dec 12 11:18:24 PST 2014
REPOSITORY
rL LLVM
================
Comment at: llvm/trunk/lib/Target/X86/X86InstrSSE.td:1381-1385
@@ -1371,2 +1380,7 @@
(MOVHPDrm VR128:$src1, addr:$src2)>;
+
+ def : Pat<(store (f64 (vector_extract
+ (v2f64 (X86Shufp VR128:$src, VR128:$src, (i8 1))),
+ (iPTR 0))), addr:$dst),
+ (MOVHPDmr addr:$dst, VR128:$src)>;
}
----------------
tstellarAMD wrote:
> The types on the output pattern aren't needed any more, so you can do:
>
> (MOVHPDmr $dst, $src)
>
> Also, you can use types instead of register class on the input patterns.
>
>
If I remove the types on that output line, I get an error:
/path/to/X86InstrSSE.td:1382:3: error: In anonymous_2468: Instruction 'MOVHPDmr' expects more than the provided 2 operands!
Something in the definition also needs to change for that to work?
http://reviews.llvm.org/D6586
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list