This is an archive of the discontinued LLVM Phabricator instance.

[x86][icelake]BITALG
ClosedPublic

Authored by coby on Nov 19 2017, 1:05 AM.

Details

Summary

2/3
vpshufbitqmb encoding
3/3
vpshufbitqmb intrinsics

Diff Detail

Repository
rL LLVM

Event Timeline

coby created this revision.Nov 19 2017, 1:05 AM
coby added a parent revision: D40213: [x86][icelake]BITALG.
RKSimon added a subscriber: RKSimon.

Disassembler tests?

lib/Target/X86/X86ISelLowering.h
524

Do you have a specific DAG usage in mind for VPSHUFBITQMB? If not maybe wait off on the opcode and just use an intrinsic?

craig.topper edited edge metadata.Nov 19 2017, 10:47 AM

If it supports masking we can't use the intrinsic in the tablegen as it would go against our normal lowering of intrinsics.

coby updated this revision to Diff 123757.Nov 21 2017, 3:39 AM
coby edited the summary of this revision. (Show Details)

intrinsics support (3/3)

craig.topper added inline comments.Nov 21 2017, 2:13 PM
lib/Target/X86/X86InstrFragmentsSIMD.td
582

Should this have SDTCisSameNumEltsAs<0,1> as well?

coby updated this revision to Diff 124001.Nov 22 2017, 12:31 PM

adopted a stricter type constraints on bits shuffle node, as suggested by Craig

This revision is now accepted and ready to land.Nov 22 2017, 12:54 PM
This revision was automatically updated to reflect the committed changes.