HomePhabricator

[X86] Add a DAG combine for (i32 (sext (i8 (x86isd::setcc_carry)))) -> (i32…

Authored by craig.topper on Feb 3 2020, 11:35 PM.

Description

[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.

Details

Committed
craig.topperFeb 4 2020, 10:40 PM
Parents
rG491a4a7ac9e3: [CMake] Passthrough CMAKE_SYSTEM_NAME to default builtin and runtimes target
Branches
Unknown
Tags
Unknown