This is an archive of the discontinued LLVM Phabricator instance.

Prefer vpxor over vpxorps for AVX2 PR36127
AbandonedPublic

Authored by dtemirbulatov on Sep 8 2020, 10:04 AM.

Details

Summary

As discussed in PR36127: AFAIK the throughput of the integer operations is always better or equal to the throughput of the floating-point operations in all x86/x86_64 CPU architectures to date. That is, if the default were to be changed from vxorps to vpxor things would always work out optimally (at least for now).

Diff Detail

Event Timeline

dtemirbulatov created this revision.Sep 8 2020, 10:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 8 2020, 10:04 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
dtemirbulatov requested review of this revision.Sep 8 2020, 10:04 AM
craig.topper added inline comments.Sep 8 2020, 10:18 AM
llvm/lib/Target/X86/X86InstrInfo.cpp
7456

I don't understand how this code works. The first thing SetBlendDomain does is check if the last operand is an immediate which should be false for XOR. And what does the 14 mean?

TBH I think we're better off working on PR44125 to handle this kind of thing

TBH I think we're better off working on PR44125 to handle this kind of thing

I had a partial patch I toyed with a while back. I'll see if i can dig it up.

TBH I think we're better off working on PR44125 to handle this kind of thing

I had a partial patch I toyed with a while back. I'll see if i can dig it up.

@craig.topper Did you manage to find that patch?

yubing added a subscriber: yubing.Dec 9 2020, 4:39 AM

TBH I think we're better off working on PR44125 to handle this kind of thing

I had a partial patch I toyed with a while back. I'll see if i can dig it up.

@craig.topper Did you manage to find that patch?

Posted here https://reviews.llvm.org/D92993

dtemirbulatov abandoned this revision.Dec 9 2020, 10:15 PM

Abandoning over D92993