Lines Matching refs:Y
16 ; CHECK-NEXT: [[L:%.*]] = and i32 [[X:%.*]], [[Y:%.*]]
19 ; (X & Y) & X -> X & Y
27 ; CHECK-NEXT: [[R:%.*]] = and i32 [[X:%.*]], [[Y:%.*]]
30 ; X & (X & Y) -> X & Y
38 ; CHECK-NEXT: [[L:%.*]] = or i32 [[X:%.*]], [[Y:%.*]]
41 ; (X | Y) | X -> X | Y
49 ; CHECK-NEXT: [[R:%.*]] = or i32 [[X:%.*]], [[Y:%.*]]
52 ; X | (X | Y) -> X | Y
60 ; CHECK-NEXT: ret i32 [[Y:%.*]]
62 ; (X ^ Y) ^ X = Y
70 ; CHECK-NEXT: ret i32 [[Y:%.*]]
72 ; X ^ (X ^ Y) = Y
80 ; CHECK-NEXT: ret i32 [[Y:%.*]]
101 ; ((X + 1) + Y) - (Y + 1) -> X
109 ; (no overflow X * Y) / Y -> X
129 ; (no overflow X * Y) / Y -> X
149 ; (((X / Y) * Y) / Y) -> X / Y
153 ; CHECK-NEXT: [[DIV:%.*]] = sdiv i32 [[X:%.*]], [[Y:%.*]]
164 ; CHECK-NEXT: [[DIV:%.*]] = sdiv i32 [[X:%.*]], [[Y:%.*]]
173 ; (((X / Y) * Y) / Y) -> X / Y
177 ; CHECK-NEXT: [[DIV:%.*]] = udiv i32 [[X:%.*]], [[Y:%.*]]
188 ; CHECK-NEXT: [[DIV:%.*]] = udiv i32 [[X:%.*]], [[Y:%.*]]
201 ; (X rem Y) / Y -> 0
211 ; (X / Y) * Y -> X if the division is exact
221 ; Y * (X / Y) -> X if the division is exact
231 ; (X rem Y) / Y -> 0
241 ; (X / Y) * Y -> X if the division is exact
251 ; Y * (X / Y) -> X if the division is exact