This is an archive of the discontinued LLVM Phabricator instance.

AVX512: shuff62x2 DAG lowering
ClosedPublic

Authored by igorb on Jun 7 2015, 6:32 AM.

Details

Summary

Implemented DAG lowering for shuff62x2/shufi62x2 instuctions ( Shuffle Packed Values at 128-bit Granularity )
Tests added , vector-shuffle-512-v8.ll test re-generated.

example

shufflevector <8 x double> %x, <8 x double> %x1, <8 x i32> <i32 0, i32 1, i32 4, i32 5, i32 0, i32 1,  i32 4, i32 5>

Before optimization the follow instruction was generated:

vmovdqa64	LCPI0_0(%rip), %zmm1
vpermpd	%zmm0, %zmm1, %zmm0

After optimization:

vshuff64x2 $136, %zmm0, %zmm0, %zmm0

Diff Detail

Repository
rL LLVM

Event Timeline

igorb updated this revision to Diff 27271.Jun 7 2015, 6:32 AM
igorb retitled this revision from to AVX512: shuff62x2 DAG lowering.
igorb updated this object.
igorb edited the test plan for this revision. (Show Details)
igorb added reviewers: delena, chandlerc.
igorb set the repository for this revision to rL LLVM.
igorb added a subscriber: Unknown Object (MLST).
igorb updated this object.Jun 7 2015, 6:35 AM
This revision was automatically updated to reflect the committed changes.