diff options
author | Craig Topper <craig.topper@gmail.com> | 2020-02-03 23:35:16 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2020-02-04 22:40:36 -0800 |
commit | a3d489e87e8243bdb0eff947a38006b039dff8c0 (patch) | |
tree | c3432d86957bb135e4a431c16033f25f5a24198e /llvm/lib/CodeGen/TargetInstrInfo.cpp | |
parent | 491a4a7ac9e39fd4cc20a21e7da1961dfc7fc275 (diff) | |
download | llvm-a3d489e87e8243bdb0eff947a38006b039dff8c0.zip llvm-a3d489e87e8243bdb0eff947a38006b039dff8c0.tar.gz llvm-a3d489e87e8243bdb0eff947a38006b039dff8c0.tar.bz2 |
[X86] Add a DAG combine for (i32 (sext (i8 (x86isd::setcc_carry)))) -> (i32 (x86isd::setcc_carry)) and remove isel patterns.
Same for any_extend though we don't have coverage for that.
The test changes are because isel didn't check one use of the
setcc_carry. So in isel we would end up with two different
sized setcc_carry instructions. And since it clobbers
the flags we would need to recreate the flags for the second
instruction.
This code handles additional uses by truncating the new wide
setcc_carry back to the original size for those uses.
Diffstat (limited to 'llvm/lib/CodeGen/TargetInstrInfo.cpp')
0 files changed, 0 insertions, 0 deletions