This patch adds patterns to match SSE (shufpd) and AVX (vpermilpd) shuffle codegen when storing the high element of a v2f64. The existing patterns were only checking for an unpckh type of shuffle. ( http://llvm.org/bugs/show_bug.cgi?id=21791 )
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Hi Sanjay,
I suggest to leave the store pattern for unpck inside.
All other LGTM
- Elena
llvm/trunk/lib/Target/X86/X86InstrSSE.td | ||
---|---|---|
1381–1385 | 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. |
llvm/trunk/lib/Target/X86/X86InstrSSE.td | ||
---|---|---|
1381–1385 | If I remove the types on that output line, I get an error: Something in the definition also needs to change for that to work? |
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.