Home | History | Annotate | Download | only in InstCombine

Lines Matching full:xor

17 ; CHECK-NEXT:    [[ZEXT:%.*]] = xor <2 x i64> [[TMP1]], <i64 1, i64 1>
20 %xor = xor <2 x i1> %A, <i1 true, i1 true>
21 %zext = zext <2 x i1> %xor to <2 x i64>
38 ; CHECK-NEXT: [[TMP1:%.*]] = xor <2 x i64> %A, <i64 4294967295, i64 4294967295>
39 ; CHECK-NEXT: [[XOR:%.*]] = and <2 x i64> [[TMP1]], <i64 23, i64 42>
40 ; CHECK-NEXT: ret <2 x i64> [[XOR]]
44 %xor = xor <2 x i32> %and, <i32 23, i32 42>
45 %zext = zext <2 x i32> %xor to <2 x i64>
49 ; FIXME: If the xor was done in the smaller type, the back-to-back zexts would get combined.
54 ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[ZEXT1]], 1
55 ; CHECK-NEXT: [[ZEXT2:%.*]] = zext i32 [[XOR]] to i64
59 %xor = xor i32 %zext1, 1
60 %zext2 = zext i32 %xor to i64
67 ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i64> [[ZEXT1]], <i64 1, i64 1>
68 ; CHECK-NEXT: ret <2 x i64> [[XOR]]
71 %xor = xor <2 x i32> %zext1, <i32 1, i32 1>
72 %zext2 = zext <2 x i32> %xor to <2 x i64>