search for: foldselecticmpandor

Displaying 2 results from an estimated 2 matches for "foldselecticmpandor".

2019 Nov 14
2
[AVR] [MSP430] Code gen improvements for 8 bit and 16 bit targets
...t > } > > > int testShiftAnd_1( int x ) // 132 (InstCombineSelect foldSelectICmpAnd) > { > return x<0 ? 2 : 0; > } > > define i16 @testShiftAnd_1(i16 %x) { > entry: > %0 = lshr i16 %x, 14 > %1 = and i16 %0, 2 > ret i16 %1 > } > > > int foldSelectICmpAndOr( int x, int y ) // 600 (InstCombineSelect > foldSelectICmpAndOr) > { > return (x & 2048) ? (y | 2) : y; > } > > define i16 @foldSelectICmpAndOr(i16 %x, i16 %y) { > entry: > %and = lshr i16 %x, 10 > %0 = and i16 %and, 2 > %1 = or i16 %0, %y > ret i16...
2019 Nov 13
2
[AVR] [MSP430] Code gen improvements for 8 bit and 16 bit targets
As before, I'm not convinced that we want to allow target-based enable/disable in instcombine for performance. That undermines having a target-independent canonical form in the 1st place. It's not clear to me what the remaining motivating cases look like. If you could post those here or as bugs, I think you'd have a better chance of finding an answer. Let's take a minimal example