This is an archive of the discontinued LLVM Phabricator instance.

[X86] Remove masking from vpternlog intrinsics. Use a select in IR instead.
ClosedPublic

Authored by craig.topper on May 20 2018, 10:35 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.May 20 2018, 10:35 PM

Is it worth adding fast-isel tests?

I don't know that the fast-isel tests would show anything more than the intrinsics tests do since I ran those test cases through the autoupgrade code to get IR with selects. Should I move the intrinsic+select to fast-isel and leave just intrinsic by itself in the *intrinsic.ll test?

I don't know that the fast-isel tests would show anything more than the intrinsics tests do since I ran those test cases through the autoupgrade code to get IR with selects. Should I move the intrinsic+select to fast-isel and leave just intrinsic by itself in the *intrinsic.ll test?

If you want to be completely thorough then test -fast-isel with the code from D47125 - the intrinsics tests are more about coverage and checking all intrinsic variants (masks, load folding etc,.).

IMO it's not a critical issue - although teams are oddly sensitive about debug code not using the intrinsics they expect......

Add fast-isel tests

RKSimon accepted this revision.May 21 2018, 12:55 PM

LGTM - with a couple of (very) minors. Thanks.

lib/IR/AutoUpgrade.cpp
2538 ↗(On Diff #147821)

Is it worth pulling out the CI->getType() repetitions?

2556 ↗(On Diff #147821)

remove the space before the comma

This revision is now accepted and ready to land.May 21 2018, 12:55 PM
This revision was automatically updated to reflect the committed changes.