This is an archive of the discontinued LLVM Phabricator instance.

AVX512 : VMOVDDUP implementation.
ClosedPublic

Authored by igorb on Nov 16 2015, 6:50 AM.

Details

Summary

AVX512: Implemented encoding, intrinsics and DAG lowering for VMOVDDUP instructions.
Added tests.

Diff Detail

Repository
rL LLVM

Event Timeline

igorb updated this revision to Diff 40281.Nov 16 2015, 6:50 AM
igorb retitled this revision from to AVX512 : VMOVDDUP implementation..
igorb updated this object.
igorb added a reviewer: delena.
igorb set the repository for this revision to rL LLVM.
igorb added a subscriber: llvm-commits.

Most of the test/CodeGen/X86/vector-shuffle-256-v4.ll changes looks like they are independent of this patch - please can you regenerate the file against trunk, commit that and then rebase your changes?

RKSimon added inline comments.Nov 16 2015, 11:28 AM
test/CodeGen/X86/vector-shuffle-256-v4.ll
4 ↗(On Diff #40281)

If the avx512 tests include the "--check-prefix=ALL" argument then some of these tests (including the new movddup entries) won't require a separate AVX512VL entry.

igorb updated this revision to Diff 40375.Nov 17 2015, 12:53 AM
igorb marked an inline comment as done.

Most of the test/CodeGen/X86/vector-shuffle-256-v4.ll changes looks like they are independent of this patch - please can you regenerate the file against trunk, commit that and then rebase your changes?

Done.
Thanks for your comments and suggestions.

One minor query but LGTM - Elena to confirm regarding the encodings.

lib/Target/X86/X86InstrSSE.td
5209 ↗(On Diff #40375)

Please can you confirm that there is a test for this change?

igorb marked an inline comment as done.Nov 17 2015, 2:39 AM
igorb added inline comments.
lib/Target/X86/X86InstrSSE.td
5209 ↗(On Diff #40375)

Yes , I added shuffle_v4f64mem_0022 test case ( file vector-shuffle-256-v4.ll)
The previous lowering implementation was incorrect .The VMOVDDUP (VEX.256 ) instruction load 256bits and not 64bits.

delena added inline comments.Nov 17 2015, 3:47 AM
lib/Target/X86/X86ISelLowering.cpp
10844 ↗(On Diff #40375)

I'd like to drop this change. The same about the next one.

igorb updated this revision to Diff 40386.Nov 17 2015, 5:06 AM
igorb marked 2 inline comments as done.

Thanks for your comments and suggestions.

delena accepted this revision.Nov 18 2015, 11:10 PM
delena edited edge metadata.

LGTM

This revision is now accepted and ready to land.Nov 18 2015, 11:10 PM
This revision was automatically updated to reflect the committed changes.