This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX] Add VMOVDDUP-VPBROADCASTQ execution domain mapping
ClosedPublic

Authored by RKSimon on Jan 31 2019, 9:12 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Jan 31 2019, 9:12 AM
craig.topper added inline comments.Jan 31 2019, 9:15 AM
test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
242 ↗(On Diff #184522)

Should we do this for VMOVDDUPZ128?

RKSimon marked an inline comment as done.Jan 31 2019, 1:10 PM
RKSimon added inline comments.
test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
242 ↗(On Diff #184522)

That was my question about AVX512 - it doesn't seem to have any broadcast domain entries so far. I'm happy to do the work but that might be worth a separate patch?

We have these entries for AVX512

{ X86::VBROADCASTSSZ128r, X86::VBROADCASTSSZ128r, X86::VPBROADCASTDZ128r },
{ X86::VBROADCASTSSZ128m, X86::VBROADCASTSSZ128m, X86::VPBROADCASTDZ128m },
{ X86::VBROADCASTSSZ256r, X86::VBROADCASTSSZ256r, X86::VPBROADCASTDZ256r },
{ X86::VBROADCASTSSZ256m, X86::VBROADCASTSSZ256m, X86::VPBROADCASTDZ256m },
{ X86::VBROADCASTSSZr,    X86::VBROADCASTSSZr,    X86::VPBROADCASTDZr },
{ X86::VBROADCASTSSZm,    X86::VBROADCASTSSZm,    X86::VPBROADCASTDZm },
{ X86::VBROADCASTSDZ256r, X86::VBROADCASTSDZ256r, X86::VPBROADCASTQZ256r },
{ X86::VBROADCASTSDZ256m, X86::VBROADCASTSDZ256m, X86::VPBROADCASTQZ256m },
{ X86::VBROADCASTSDZr,    X86::VBROADCASTSDZr,    X86::VPBROADCASTQZr },
{ X86::VBROADCASTSDZm,    X86::VBROADCASTSDZm,    X86::VPBROADCASTQZm },

We have these entries for AVX512

{ X86::VBROADCASTSSZ128r, X86::VBROADCASTSSZ128r, X86::VPBROADCASTDZ128r },
{ X86::VBROADCASTSSZ128m, X86::VBROADCASTSSZ128m, X86::VPBROADCASTDZ128m },
{ X86::VBROADCASTSSZ256r, X86::VBROADCASTSSZ256r, X86::VPBROADCASTDZ256r },
{ X86::VBROADCASTSSZ256m, X86::VBROADCASTSSZ256m, X86::VPBROADCASTDZ256m },
{ X86::VBROADCASTSSZr,    X86::VBROADCASTSSZr,    X86::VPBROADCASTDZr },
{ X86::VBROADCASTSSZm,    X86::VBROADCASTSSZm,    X86::VPBROADCASTDZm },
{ X86::VBROADCASTSDZ256r, X86::VBROADCASTSDZ256r, X86::VPBROADCASTQZ256r },
{ X86::VBROADCASTSDZ256m, X86::VBROADCASTSDZ256m, X86::VPBROADCASTQZ256m },
{ X86::VBROADCASTSDZr,    X86::VBROADCASTSDZr,    X86::VPBROADCASTQZr },
{ X86::VBROADCASTSDZm,    X86::VBROADCASTSDZm,    X86::VPBROADCASTQZm },

Cheers - I was looking in the wrong place!

RKSimon updated this revision to Diff 184711.Feb 1 2019, 3:06 AM
RKSimon edited the summary of this revision. (Show Details)

Added AVX512F mappings

Herald added a project: Restricted Project. · View Herald TranscriptFeb 1 2019, 3:06 AM
This revision is now accepted and ready to land.Feb 1 2019, 10:31 AM
This revision was automatically updated to reflect the committed changes.