OSDN Git Service

[X86] X86ISelLowering::combineSextInRegCmov(): also handle i8 CMOV's
authorRoman Lebedev <lebedev.ri@gmail.com>
Fri, 15 Mar 2019 21:18:05 +0000 (21:18 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Fri, 15 Mar 2019 21:18:05 +0000 (21:18 +0000)
commit1f727efc28a5579cafc9645ca27e9d7b80e63cb9
tree7e75e422292c439e998a9b032437f3341916ec15
parent3cf232123d124d4b3869a4e2526093fcf17e18f8
[X86] X86ISelLowering::combineSextInRegCmov(): also handle i8 CMOV's

Summary:
As noted by @andreadb in https://reviews.llvm.org/D59035#inline-525780

If we have `sext (trunc (cmov C0, C1) to i8)`,
we can instead do `cmov (sext (trunc C0 to i8)), (sext (trunc C1 to i8))`

Reviewers: craig.topper, andreadb, RKSimon

Reviewed By: craig.topper

Subscribers: llvm-commits, andreadb

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59412

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356301 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/cmov-promotion.ll