Lines Matching refs:APInt

29 ConstantRange ConstantRangeTest::One(APInt(16, 0xa));
30 ConstantRange ConstantRangeTest::Some(APInt(16, 0xa), APInt(16, 0xaaa));
31 ConstantRange ConstantRangeTest::Wrap(APInt(16, 0xaaa), APInt(16, 0xa));
38 EXPECT_TRUE(Full.contains(APInt(16, 0x0)));
39 EXPECT_TRUE(Full.contains(APInt(16, 0x9)));
40 EXPECT_TRUE(Full.contains(APInt(16, 0xa)));
41 EXPECT_TRUE(Full.contains(APInt(16, 0xaa9)));
42 EXPECT_TRUE(Full.contains(APInt(16, 0xaaa)));
48 EXPECT_FALSE(Empty.contains(APInt(16, 0x0)));
49 EXPECT_FALSE(Empty.contains(APInt(16, 0x9)));
50 EXPECT_FALSE(Empty.contains(APInt(16, 0xa)));
51 EXPECT_FALSE(Empty.contains(APInt(16, 0xaa9)));
52 EXPECT_FALSE(Empty.contains(APInt(16, 0xaaa)));
57 EXPECT_FALSE(One.contains(APInt(16, 0x0)));
58 EXPECT_FALSE(One.contains(APInt(16, 0x9)));
59 EXPECT_TRUE(One.contains(APInt(16, 0xa)));
60 EXPECT_FALSE(One.contains(APInt(16, 0xaa9)));
61 EXPECT_FALSE(One.contains(APInt(16, 0xaaa)));
62 EXPECT_FALSE(One.inverse().contains(APInt(16, 0xa)));
67 EXPECT_FALSE(Some.contains(APInt(16, 0x0)));
68 EXPECT_FALSE(Some.contains(APInt(16, 0x9)));
69 EXPECT_TRUE(Some.contains(APInt(16, 0xa)));
70 EXPECT_TRUE(Some.contains(APInt(16, 0xaa9)));
71 EXPECT_FALSE(Some.contains(APInt(16, 0xaaa)));
76 EXPECT_TRUE(Wrap.contains(APInt(16, 0x0)));
77 EXPECT_TRUE(Wrap.contains(APInt(16, 0x9)));
78 EXPECT_FALSE(Wrap.contains(APInt(16, 0xa)));
79 EXPECT_FALSE(Wrap.contains(APInt(16, 0xaa9)));
80 EXPECT_TRUE(Wrap.contains(APInt(16, 0xaaa)));
102 EXPECT_EQ(Full.getSingleElement(), static_cast<APInt *>(nullptr));
103 EXPECT_EQ(Empty.getSingleElement(), static_cast<APInt *>(nullptr));
104 EXPECT_EQ(*One.getSingleElement(), APInt(16, 0xa));
105 EXPECT_EQ(Some.getSingleElement(), static_cast<APInt *>(nullptr));
106 EXPECT_EQ(Wrap.getSingleElement(), static_cast<APInt *>(nullptr));
116 EXPECT_EQ(Full.getSetSize(), APInt(17, 65536));
117 EXPECT_EQ(Empty.getSetSize(), APInt(17, 0));
118 EXPECT_EQ(One.getSetSize(), APInt(17, 1));
119 EXPECT_EQ(Some.getSetSize(), APInt(17, 0xaa0));
121 ConstantRange Wrap(APInt(4, 7), APInt(4, 3));
122 ConstantRange Wrap2(APInt(4, 8), APInt(4, 7));
123 EXPECT_EQ(Wrap.getSetSize(), APInt(5, 12));
124 EXPECT_EQ(Wrap2.getSetSize(), APInt(5, 15));
128 EXPECT_EQ(Full.getUnsignedMax(), APInt(16, UINT16_MAX));
129 EXPECT_EQ(One.getUnsignedMax(), APInt(16, 0xa));
130 EXPECT_EQ(Some.getUnsignedMax(), APInt(16, 0xaa9));
131 EXPECT_EQ(Wrap.getUnsignedMax(), APInt(16, UINT16_MAX));
133 EXPECT_EQ(Full.getUnsignedMin(), APInt(16, 0));
134 EXPECT_EQ(One.getUnsignedMin(), APInt(16, 0xa));
135 EXPECT_EQ(Some.getUnsignedMin(), APInt(16, 0xa));
136 EXPECT_EQ(Wrap.getUnsignedMin(), APInt(16, 0));
138 EXPECT_EQ(Full.getSignedMax(), APInt(16, INT16_MAX));
139 EXPECT_EQ(One.getSignedMax(), APInt(16, 0xa));
140 EXPECT_EQ(Some.getSignedMax(), APInt(16, 0xaa9));
141 EXPECT_EQ(Wrap.getSignedMax(), APInt(16, INT16_MAX));
143 EXPECT_EQ(Full.getSignedMin(), APInt(16, (uint64_t)INT16_MIN));
144 EXPECT_EQ(One.getSignedMin(), APInt(16, 0xa));
145 EXPECT_EQ(Some.getSignedMin(), APInt(16, 0xa));
146 EXPECT_EQ(Wrap.getSignedMin(), APInt(16, (uint64_t)INT16_MIN));
149 EXPECT_EQ(ConstantRange(APInt(4, 7), APInt(4, 0)).getSignedMax(),
150 APInt(4, 7));
160 EXPECT_FALSE(ConstantRange(APInt(8, 127), APInt(8, 128)).isSignWrappedSet());
161 EXPECT_TRUE(ConstantRange(APInt(8, 127), APInt(8, 129)).isSignWrappedSet());
162 EXPECT_FALSE(ConstantRange(APInt(8, 128), APInt(8, 129)).isSignWrappedSet());
163 EXPECT_TRUE(ConstantRange(APInt(8, 10), APInt(8, 9)).isSignWrappedSet());
164 EXPECT_TRUE(ConstantRange(APInt(8, 10), APInt(8, 250)).isSignWrappedSet());
165 EXPECT_FALSE(ConstantRange(APInt(8, 250), APInt(8, 10)).isSignWrappedSet());
166 EXPECT_FALSE(ConstantRange(APInt(8, 250), APInt(8, 251)).isSignWrappedSet());
188 EXPECT_EQ(ZFull, ConstantRange(APInt(20, 0), APInt(20, 0x10000)));
194 EXPECT_EQ(ZWrap, ConstantRange(APInt(20, 0), APInt(20, 0x10000)));
197 ConstantRange FiveZero(APInt(3, 5), APInt(3, 0));
198 EXPECT_EQ(FiveZero.zeroExtend(7), ConstantRange(APInt(7, 5), APInt(7, 8)));
207 EXPECT_EQ(SFull, ConstantRange(APInt(20, (uint64_t)INT16_MIN, true),
208 APInt(20, INT16_MAX + 1, true)));
214 EXPECT_EQ(SWrap, ConstantRange(APInt(20, (uint64_t)INT16_MIN, true),
215 APInt(20, INT16_MAX + 1, true)));
217 EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, 140)).signExtend(16),
218 ConstantRange(APInt(16, -128), APInt(16, 128)));
220 EXPECT_EQ(ConstantRange(APInt(16, 0x0200), APInt(16, 0x8000)).signExtend(19),
221 ConstantRange(APInt(19, 0x0200), APInt(19, 0x8000)));
242 ConstantRange LHS(APInt(16, 4), APInt(16, 2));
243 ConstantRange RHS(APInt(16, 6), APInt(16, 5));
247 LHS = ConstantRange(APInt(32, -2147483646), APInt(32, 3));
248 RHS = ConstantRange(APInt(32, 2), APInt(32, 2147483646));
249 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2)));
252 LHS = ConstantRange(APInt(32, 2), APInt(32, 0));
253 RHS = ConstantRange(APInt(32, 4), APInt(32, 3));
254 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2), APInt(32, 0)));
257 LHS = ConstantRange(APInt(32, 2), APInt(32, 0));
258 RHS = ConstantRange(APInt(32, 4), APInt(32, 2));
259 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 0)));
262 LHS = ConstantRange(APInt(32, 4), APInt(32, 2));
263 RHS = ConstantRange(APInt(32, 5), APInt(32, 1));
264 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 5), APInt(32, 1)));
267 LHS = ConstantRange(APInt(32, 2), APInt(32, 0));
268 RHS = ConstantRange(APInt(32, 7), APInt(32, 4));
269 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 7), APInt(32, 4)));
272 LHS = ConstantRange(APInt(32, 4), APInt(32, 2));
273 RHS = ConstantRange(APInt(32, 1), APInt(32, 0));
274 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 2)));
277 LHS = ConstantRange(APInt(32, 15), APInt(32, 0));
278 RHS = ConstantRange(APInt(32, 7), APInt(32, 6));
279 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 15), APInt(32, 0)));
284 ConstantRange(APInt(16, 0xaaa), APInt(16, 0xb)));
291 EXPECT_EQ(ConstantRange(APInt(16, 14), APInt(16, 1)).unionWith(
292 ConstantRange(APInt(16, 0), APInt(16, 8))),
293 ConstantRange(APInt(16, 14), APInt(16, 8)));
294 EXPECT_EQ(ConstantRange(APInt(16, 6), APInt(16, 4)).unionWith(
295 ConstantRange(APInt(16, 4), APInt(16, 0))),
297 EXPECT_EQ(ConstantRange(APInt(16, 1), APInt(16, 0)).unionWith(
298 ConstantRange(APInt(16, 2), APInt(16, 1))),
308 ConstantRange A(APInt(16, 3), APInt(16, 7));
309 ConstantRange B(APInt(16, 5), APInt(16, 9));
310 ConstantRange C(APInt(16, 3), APInt(16, 5));
311 ConstantRange D(APInt(16, 7), APInt(16, 9));
312 ConstantRange E(APInt(16, 5), APInt(16, 4));
313 ConstantRange F(APInt(16, 7), APInt(16, 3));
320 EXPECT_EQ(Full.subtract(APInt(16, 4)), Full);
321 EXPECT_EQ(Empty.subtract(APInt(16, 4)), Empty);
322 EXPECT_EQ(Some.subtract(APInt(16, 4)),
323 ConstantRange(APInt(16, 0x6), APInt(16, 0xaa6)));
324 EXPECT_EQ(Wrap.subtract(APInt(16, 4)),
325 ConstantRange(APInt(16, 0xaa6), APInt(16, 0x6)));
326 EXPECT_EQ(One.subtract(APInt(16, 4)),
327 ConstantRange(APInt(16, 0x6)));
331 EXPECT_EQ(Full.add(APInt(16, 4)), Full);
341 EXPECT_EQ(Empty.add(APInt(16, 4)), Empty);
342 EXPECT_EQ(Some.add(APInt(16, 4)),
343 ConstantRange(APInt(16, 0xe), APInt(16, 0xaae)));
344 EXPECT_EQ(Wrap.add(APInt(16, 4)),
345 ConstantRange(APInt(16, 0xaae), APInt(16, 0xe)));
346 EXPECT_EQ(One.add(APInt(16, 4)),
347 ConstantRange(APInt(16, 0xe)));
351 EXPECT_EQ(Full.sub(APInt(16, 4)), Full);
361 EXPECT_EQ(Empty.sub(APInt(16, 4)), Empty);
362 EXPECT_EQ(Some.sub(APInt(16, 4)),
363 ConstantRange(APInt(16, 0x6), APInt(16, 0xaa6)));
365 ConstantRange(APInt(16, 0xf561), APInt(16, 0xaa0)));
366 EXPECT_EQ(Wrap.sub(APInt(16, 4)),
367 ConstantRange(APInt(16, 0xaa6), APInt(16, 0x6)));
368 EXPECT_EQ(One.sub(APInt(16, 4)),
369 ConstantRange(APInt(16, 0x6)));
382 EXPECT_EQ(One.multiply(One), ConstantRange(APInt(16, 0xa*0xa),
383 APInt(16, 0xa*0xa + 1)));
384 EXPECT_EQ(One.multiply(Some), ConstantRange(APInt(16, 0xa*0xa),
385 APInt(16, 0xa*0xaa9 + 1)));
391 ConstantRange Zero(APInt(16, 0));
400 EXPECT_EQ(ConstantRange(APInt(4, 1), APInt(4, 6)).multiply(
401 ConstantRange(APInt(4, 6), APInt(4, 2))),
408 EXPECT_EQ(Full.umax(Some), ConstantRange(APInt(16, 0xa), APInt(16, 0)));
410 EXPECT_EQ(Full.umax(Some), ConstantRange(APInt(16, 0xa), APInt(16, 0)));
416 EXPECT_EQ(Some.umax(Wrap), ConstantRange(APInt(16, 0xa), APInt(16, 0)));
420 EXPECT_EQ(Wrap.umax(One), ConstantRange(APInt(16, 0xa), APInt(16, 0)));
427 EXPECT_EQ(Full.smax(Some), ConstantRange(APInt(16, 0xa),
428 APInt::getSignedMinValue(16)));
430 EXPECT_EQ(Full.smax(One), ConstantRange(APInt(16, 0xa),
431 APInt::getSignedMinValue(16)));
437 EXPECT_EQ(Some.smax(Wrap), ConstantRange(APInt(16, 0xa),
438 APInt(16, (uint64_t)INT16_MIN)));
440 EXPECT_EQ(Wrap.smax(One), ConstantRange(APInt(16, 0xa),
441 APInt(16, (uint64_t)INT16_MIN)));
448 EXPECT_EQ(Full.udiv(One), ConstantRange(APInt(16, 0),
449 APInt(16, 0xffff / 0xa + 1)));
450 EXPECT_EQ(Full.udiv(Some), ConstantRange(APInt(16, 0),
451 APInt(16, 0xffff / 0xa + 1)));
457 EXPECT_EQ(One.udiv(One), ConstantRange(APInt(16, 1)));
458 EXPECT_EQ(One.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 2)));
459 EXPECT_EQ(One.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb)));
460 EXPECT_EQ(Some.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 0x111)));
461 EXPECT_EQ(Some.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa)));
475 EXPECT_EQ(One.shl(One), ConstantRange(APInt(16, 0xa << 0xa),
476 APInt(16, (0xa << 0xa) + 1)));
487 EXPECT_EQ(Full.lshr(One), ConstantRange(APInt(16, 0),
488 APInt(16, (0xffff >> 0xa) + 1)));
489 EXPECT_EQ(Full.lshr(Some), ConstantRange(APInt(16, 0),
490 APInt(16, (0xffff >> 0xa) + 1)));
496 EXPECT_EQ(One.lshr(One), ConstantRange(APInt(16, 0)));
497 EXPECT_EQ(One.lshr(Some), ConstantRange(APInt(16, 0)));
498 EXPECT_EQ(One.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb)));
499 EXPECT_EQ(Some.lshr(Some), ConstantRange(APInt(16, 0),
500 APInt(16, (0xaaa >> 0xa) + 1)));
501 EXPECT_EQ(Some.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa)));
507 ConstantRange SMax = ConstantRange(APInt::getSignedMaxValue(32));