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