This is an archive of the discontinued LLVM Phabricator instance.

AVX-512: Changed lowering of BITCAST between i1 vectors and i8/i16/i32 integer values
ClosedPublic

Authored by delena on Aug 7 2016, 2:59 AM.

Details

Summary

Optimized lowering of BITCAST node. The BITCAST node can be replaced with COPY_TO_REG instead of KMOV.
It allows to suppress two opposite BITCAST operations and avoid redundant "movs".

Diff Detail

Repository
rL LLVM

Event Timeline

delena updated this revision to Diff 67096.Aug 7 2016, 2:59 AM
delena retitled this revision from to AVX-512: Changed lowering of BITCAST between i1 vectors and i8/i16/i32 integer values.
delena updated this object.
delena added a reviewer: igorb.
delena set the repository for this revision to rL LLVM.
delena added a subscriber: llvm-commits.
delena updated this revision to Diff 67098.Aug 7 2016, 4:26 AM

removed irrelevant BITCAST patterns

igorb accepted this revision.Aug 7 2016, 4:30 AM
igorb edited edge metadata.

minor comment

LGTM

../lib/Target/X86/X86InstrAVX512.td
2058 ↗(On Diff #67096)

do we need target predicate here ( the same above) ? I think that after the change it can be removed.

This revision is now accepted and ready to land.Aug 7 2016, 4:30 AM
This revision was automatically updated to reflect the committed changes.