Simon Pilgrim 438ac282db [X86] combineAddOrSubToADCOrSBB - Fold ADD/SUB + (AND(SRL(X,Y),1) -> ADC/SBB+BT(X,Y) (REAPPLIED)
As suggested on PR35908, if we are adding/subtracting an extracted bit, attempt to use BT instead to fold the op and use a ADC/SBB op.

Reapply with extra type legality checks - LowerAndToBT was originally only used during lowering, now that it can occur earlier we might encounter illegal types that we can either promote to i32 or just bail.

Differential Revision: https://reviews.llvm.org/D122084
2022-03-21 21:37:42 +00:00
..
2021-04-13 09:48:13 +08:00
2021-02-15 14:27:12 +08:00
2021-12-20 12:55:32 -08:00
2022-03-10 09:29:06 +08:00
2021-09-17 15:48:55 +02:00
2021-07-27 12:09:25 +01:00
2021-08-16 13:13:56 +01:00
2022-01-17 19:02:44 +00:00
2022-01-26 12:32:49 +00:00
2021-05-24 12:09:02 -07:00
2021-02-21 21:25:26 +00:00