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))); in TEST_F()
39 EXPECT_TRUE(Full.contains(APInt(16, 0x9))); in TEST_F()
40 EXPECT_TRUE(Full.contains(APInt(16, 0xa))); in TEST_F()
41 EXPECT_TRUE(Full.contains(APInt(16, 0xaa9))); in TEST_F()
42 EXPECT_TRUE(Full.contains(APInt(16, 0xaaa))); in TEST_F()
48 EXPECT_FALSE(Empty.contains(APInt(16, 0x0))); in TEST_F()
49 EXPECT_FALSE(Empty.contains(APInt(16, 0x9))); in TEST_F()
50 EXPECT_FALSE(Empty.contains(APInt(16, 0xa))); in TEST_F()
51 EXPECT_FALSE(Empty.contains(APInt(16, 0xaa9))); in TEST_F()
52 EXPECT_FALSE(Empty.contains(APInt(16, 0xaaa))); in TEST_F()
57 EXPECT_FALSE(One.contains(APInt(16, 0x0))); in TEST_F()
58 EXPECT_FALSE(One.contains(APInt(16, 0x9))); in TEST_F()
59 EXPECT_TRUE(One.contains(APInt(16, 0xa))); in TEST_F()
60 EXPECT_FALSE(One.contains(APInt(16, 0xaa9))); in TEST_F()
61 EXPECT_FALSE(One.contains(APInt(16, 0xaaa))); in TEST_F()
62 EXPECT_FALSE(One.inverse().contains(APInt(16, 0xa))); in TEST_F()
67 EXPECT_FALSE(Some.contains(APInt(16, 0x0))); in TEST_F()
68 EXPECT_FALSE(Some.contains(APInt(16, 0x9))); in TEST_F()
69 EXPECT_TRUE(Some.contains(APInt(16, 0xa))); in TEST_F()
70 EXPECT_TRUE(Some.contains(APInt(16, 0xaa9))); in TEST_F()
71 EXPECT_FALSE(Some.contains(APInt(16, 0xaaa))); in TEST_F()
76 EXPECT_TRUE(Wrap.contains(APInt(16, 0x0))); in TEST_F()
77 EXPECT_TRUE(Wrap.contains(APInt(16, 0x9))); in TEST_F()
78 EXPECT_FALSE(Wrap.contains(APInt(16, 0xa))); in TEST_F()
79 EXPECT_FALSE(Wrap.contains(APInt(16, 0xaa9))); in TEST_F()
80 EXPECT_TRUE(Wrap.contains(APInt(16, 0xaaa))); in TEST_F()
102 EXPECT_EQ(Full.getSingleElement(), static_cast<APInt *>(nullptr)); in TEST_F()
103 EXPECT_EQ(Empty.getSingleElement(), static_cast<APInt *>(nullptr)); in TEST_F()
104 EXPECT_EQ(*One.getSingleElement(), APInt(16, 0xa)); in TEST_F()
105 EXPECT_EQ(Some.getSingleElement(), static_cast<APInt *>(nullptr)); in TEST_F()
106 EXPECT_EQ(Wrap.getSingleElement(), static_cast<APInt *>(nullptr)); in TEST_F()
116 EXPECT_EQ(Full.getSetSize(), APInt(17, 65536)); in TEST_F()
117 EXPECT_EQ(Empty.getSetSize(), APInt(17, 0)); in TEST_F()
118 EXPECT_EQ(One.getSetSize(), APInt(17, 1)); in TEST_F()
119 EXPECT_EQ(Some.getSetSize(), APInt(17, 0xaa0)); in TEST_F()
121 ConstantRange Wrap(APInt(4, 7), APInt(4, 3)); in TEST_F()
122 ConstantRange Wrap2(APInt(4, 8), APInt(4, 7)); in TEST_F()
123 EXPECT_EQ(Wrap.getSetSize(), APInt(5, 12)); in TEST_F()
124 EXPECT_EQ(Wrap2.getSetSize(), APInt(5, 15)); in TEST_F()
128 EXPECT_EQ(Full.getUnsignedMax(), APInt(16, UINT16_MAX)); in TEST_F()
129 EXPECT_EQ(One.getUnsignedMax(), APInt(16, 0xa)); in TEST_F()
130 EXPECT_EQ(Some.getUnsignedMax(), APInt(16, 0xaa9)); in TEST_F()
131 EXPECT_EQ(Wrap.getUnsignedMax(), APInt(16, UINT16_MAX)); in TEST_F()
133 EXPECT_EQ(Full.getUnsignedMin(), APInt(16, 0)); in TEST_F()
134 EXPECT_EQ(One.getUnsignedMin(), APInt(16, 0xa)); in TEST_F()
135 EXPECT_EQ(Some.getUnsignedMin(), APInt(16, 0xa)); in TEST_F()
136 EXPECT_EQ(Wrap.getUnsignedMin(), APInt(16, 0)); in TEST_F()
138 EXPECT_EQ(Full.getSignedMax(), APInt(16, INT16_MAX)); in TEST_F()
139 EXPECT_EQ(One.getSignedMax(), APInt(16, 0xa)); in TEST_F()
140 EXPECT_EQ(Some.getSignedMax(), APInt(16, 0xaa9)); in TEST_F()
141 EXPECT_EQ(Wrap.getSignedMax(), APInt(16, INT16_MAX)); in TEST_F()
143 EXPECT_EQ(Full.getSignedMin(), APInt(16, (uint64_t)INT16_MIN)); in TEST_F()
144 EXPECT_EQ(One.getSignedMin(), APInt(16, 0xa)); in TEST_F()
145 EXPECT_EQ(Some.getSignedMin(), APInt(16, 0xa)); in TEST_F()
146 EXPECT_EQ(Wrap.getSignedMin(), APInt(16, (uint64_t)INT16_MIN)); in TEST_F()
149 EXPECT_EQ(ConstantRange(APInt(4, 7), APInt(4, 0)).getSignedMax(), in TEST_F()
150 APInt(4, 7)); in TEST_F()
160 EXPECT_FALSE(ConstantRange(APInt(8, 127), APInt(8, 128)).isSignWrappedSet()); in TEST_F()
161 EXPECT_TRUE(ConstantRange(APInt(8, 127), APInt(8, 129)).isSignWrappedSet()); in TEST_F()
162 EXPECT_FALSE(ConstantRange(APInt(8, 128), APInt(8, 129)).isSignWrappedSet()); in TEST_F()
163 EXPECT_TRUE(ConstantRange(APInt(8, 10), APInt(8, 9)).isSignWrappedSet()); in TEST_F()
164 EXPECT_TRUE(ConstantRange(APInt(8, 10), APInt(8, 250)).isSignWrappedSet()); in TEST_F()
165 EXPECT_FALSE(ConstantRange(APInt(8, 250), APInt(8, 10)).isSignWrappedSet()); in TEST_F()
166 EXPECT_FALSE(ConstantRange(APInt(8, 250), APInt(8, 251)).isSignWrappedSet()); in TEST_F()
188 EXPECT_EQ(ZFull, ConstantRange(APInt(20, 0), APInt(20, 0x10000))); in TEST_F()
194 EXPECT_EQ(ZWrap, ConstantRange(APInt(20, 0), APInt(20, 0x10000))); in TEST_F()
197 ConstantRange FiveZero(APInt(3, 5), APInt(3, 0)); in TEST_F()
198 EXPECT_EQ(FiveZero.zeroExtend(7), ConstantRange(APInt(7, 5), APInt(7, 8))); in TEST_F()
207 EXPECT_EQ(SFull, ConstantRange(APInt(20, (uint64_t)INT16_MIN, true), in TEST_F()
208 APInt(20, INT16_MAX + 1, true))); in TEST_F()
214 EXPECT_EQ(SWrap, ConstantRange(APInt(20, (uint64_t)INT16_MIN, true), in TEST_F()
215 APInt(20, INT16_MAX + 1, true))); in TEST_F()
217 EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, 140)).signExtend(16), in TEST_F()
218 ConstantRange(APInt(16, -128), APInt(16, 128))); in TEST_F()
220 EXPECT_EQ(ConstantRange(APInt(16, 0x0200), APInt(16, 0x8000)).signExtend(19), in TEST_F()
221 ConstantRange(APInt(19, 0x0200), APInt(19, 0x8000))); in TEST_F()
242 ConstantRange LHS(APInt(16, 4), APInt(16, 2)); in TEST_F()
243 ConstantRange RHS(APInt(16, 6), APInt(16, 5)); in TEST_F()
247 LHS = ConstantRange(APInt(32, -2147483646), APInt(32, 3)); in TEST_F()
248 RHS = ConstantRange(APInt(32, 2), APInt(32, 2147483646)); in TEST_F()
249 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2))); in TEST_F()
252 LHS = ConstantRange(APInt(32, 2), APInt(32, 0)); in TEST_F()
253 RHS = ConstantRange(APInt(32, 4), APInt(32, 3)); in TEST_F()
254 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2), APInt(32, 0))); in TEST_F()
257 LHS = ConstantRange(APInt(32, 2), APInt(32, 0)); in TEST_F()
258 RHS = ConstantRange(APInt(32, 4), APInt(32, 2)); in TEST_F()
259 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 0))); in TEST_F()
262 LHS = ConstantRange(APInt(32, 4), APInt(32, 2)); in TEST_F()
263 RHS = ConstantRange(APInt(32, 5), APInt(32, 1)); in TEST_F()
264 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 5), APInt(32, 1))); in TEST_F()
267 LHS = ConstantRange(APInt(32, 2), APInt(32, 0)); in TEST_F()
268 RHS = ConstantRange(APInt(32, 7), APInt(32, 4)); in TEST_F()
269 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 7), APInt(32, 4))); in TEST_F()
272 LHS = ConstantRange(APInt(32, 4), APInt(32, 2)); in TEST_F()
273 RHS = ConstantRange(APInt(32, 1), APInt(32, 0)); in TEST_F()
274 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 2))); in TEST_F()
277 LHS = ConstantRange(APInt(32, 15), APInt(32, 0)); in TEST_F()
278 RHS = ConstantRange(APInt(32, 7), APInt(32, 6)); in TEST_F()
279 EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 15), APInt(32, 0))); in TEST_F()
284 ConstantRange(APInt(16, 0xaaa), APInt(16, 0xb))); in TEST_F()
291 EXPECT_EQ(ConstantRange(APInt(16, 14), APInt(16, 1)).unionWith( in TEST_F()
292 ConstantRange(APInt(16, 0), APInt(16, 8))), in TEST_F()
293 ConstantRange(APInt(16, 14), APInt(16, 8))); in TEST_F()
294 EXPECT_EQ(ConstantRange(APInt(16, 6), APInt(16, 4)).unionWith( in TEST_F()
295 ConstantRange(APInt(16, 4), APInt(16, 0))), in TEST_F()
297 EXPECT_EQ(ConstantRange(APInt(16, 1), APInt(16, 0)).unionWith( in TEST_F()
298 ConstantRange(APInt(16, 2), APInt(16, 1))), in TEST_F()
308 ConstantRange A(APInt(16, 3), APInt(16, 7)); in TEST_F()
309 ConstantRange B(APInt(16, 5), APInt(16, 9)); in TEST_F()
310 ConstantRange C(APInt(16, 3), APInt(16, 5)); in TEST_F()
311 ConstantRange D(APInt(16, 7), APInt(16, 9)); in TEST_F()
312 ConstantRange E(APInt(16, 5), APInt(16, 4)); in TEST_F()
313 ConstantRange F(APInt(16, 7), APInt(16, 3)); in TEST_F()
320 EXPECT_EQ(Full.subtract(APInt(16, 4)), Full); in TEST_F()
321 EXPECT_EQ(Empty.subtract(APInt(16, 4)), Empty); in TEST_F()
322 EXPECT_EQ(Some.subtract(APInt(16, 4)), in TEST_F()
323 ConstantRange(APInt(16, 0x6), APInt(16, 0xaa6))); in TEST_F()
324 EXPECT_EQ(Wrap.subtract(APInt(16, 4)), in TEST_F()
325 ConstantRange(APInt(16, 0xaa6), APInt(16, 0x6))); in TEST_F()
326 EXPECT_EQ(One.subtract(APInt(16, 4)), in TEST_F()
327 ConstantRange(APInt(16, 0x6))); in TEST_F()
331 EXPECT_EQ(Full.add(APInt(16, 4)), Full); in TEST_F()
341 EXPECT_EQ(Empty.add(APInt(16, 4)), Empty); in TEST_F()
342 EXPECT_EQ(Some.add(APInt(16, 4)), in TEST_F()
343 ConstantRange(APInt(16, 0xe), APInt(16, 0xaae))); in TEST_F()
344 EXPECT_EQ(Wrap.add(APInt(16, 4)), in TEST_F()
345 ConstantRange(APInt(16, 0xaae), APInt(16, 0xe))); in TEST_F()
346 EXPECT_EQ(One.add(APInt(16, 4)), in TEST_F()
347 ConstantRange(APInt(16, 0xe))); in TEST_F()
351 EXPECT_EQ(Full.sub(APInt(16, 4)), Full); in TEST_F()
361 EXPECT_EQ(Empty.sub(APInt(16, 4)), Empty); in TEST_F()
362 EXPECT_EQ(Some.sub(APInt(16, 4)), in TEST_F()
363 ConstantRange(APInt(16, 0x6), APInt(16, 0xaa6))); in TEST_F()
365 ConstantRange(APInt(16, 0xf561), APInt(16, 0xaa0))); in TEST_F()
366 EXPECT_EQ(Wrap.sub(APInt(16, 4)), in TEST_F()
367 ConstantRange(APInt(16, 0xaa6), APInt(16, 0x6))); in TEST_F()
368 EXPECT_EQ(One.sub(APInt(16, 4)), in TEST_F()
369 ConstantRange(APInt(16, 0x6))); in TEST_F()
382 EXPECT_EQ(One.multiply(One), ConstantRange(APInt(16, 0xa*0xa), in TEST_F()
383 APInt(16, 0xa*0xa + 1))); in TEST_F()
384 EXPECT_EQ(One.multiply(Some), ConstantRange(APInt(16, 0xa*0xa), in TEST_F()
385 APInt(16, 0xa*0xaa9 + 1))); in TEST_F()
391 ConstantRange Zero(APInt(16, 0)); in TEST_F()
400 EXPECT_EQ(ConstantRange(APInt(4, 1), APInt(4, 6)).multiply( in TEST_F()
401 ConstantRange(APInt(4, 6), APInt(4, 2))), in TEST_F()
404 EXPECT_EQ(ConstantRange(APInt(8, 254), APInt(8, 0)).multiply( in TEST_F()
405 ConstantRange(APInt(8, 252), APInt(8, 4))), in TEST_F()
406 ConstantRange(APInt(8, 250), APInt(8, 9))); in TEST_F()
407 EXPECT_EQ(ConstantRange(APInt(8, 254), APInt(8, 255)).multiply( in TEST_F()
408 ConstantRange(APInt(8, 2), APInt(8, 4))), in TEST_F()
409 ConstantRange(APInt(8, 250), APInt(8, 253))); in TEST_F()
415 EXPECT_EQ(Full.umax(Some), ConstantRange(APInt(16, 0xa), APInt(16, 0))); in TEST_F()
417 EXPECT_EQ(Full.umax(Some), ConstantRange(APInt(16, 0xa), APInt(16, 0))); in TEST_F()
423 EXPECT_EQ(Some.umax(Wrap), ConstantRange(APInt(16, 0xa), APInt(16, 0))); in TEST_F()
427 EXPECT_EQ(Wrap.umax(One), ConstantRange(APInt(16, 0xa), APInt(16, 0))); in TEST_F()
434 EXPECT_EQ(Full.smax(Some), ConstantRange(APInt(16, 0xa), in TEST_F()
435 APInt::getSignedMinValue(16))); in TEST_F()
437 EXPECT_EQ(Full.smax(One), ConstantRange(APInt(16, 0xa), in TEST_F()
438 APInt::getSignedMinValue(16))); in TEST_F()
444 EXPECT_EQ(Some.smax(Wrap), ConstantRange(APInt(16, 0xa), in TEST_F()
445 APInt(16, (uint64_t)INT16_MIN))); in TEST_F()
447 EXPECT_EQ(Wrap.smax(One), ConstantRange(APInt(16, 0xa), in TEST_F()
448 APInt(16, (uint64_t)INT16_MIN))); in TEST_F()
455 EXPECT_EQ(Full.udiv(One), ConstantRange(APInt(16, 0), in TEST_F()
456 APInt(16, 0xffff / 0xa + 1))); in TEST_F()
457 EXPECT_EQ(Full.udiv(Some), ConstantRange(APInt(16, 0), in TEST_F()
458 APInt(16, 0xffff / 0xa + 1))); in TEST_F()
464 EXPECT_EQ(One.udiv(One), ConstantRange(APInt(16, 1))); in TEST_F()
465 EXPECT_EQ(One.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 2))); in TEST_F()
466 EXPECT_EQ(One.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); in TEST_F()
467 EXPECT_EQ(Some.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 0x111))); in TEST_F()
468 EXPECT_EQ(Some.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); in TEST_F()
482 EXPECT_EQ(One.shl(One), ConstantRange(APInt(16, 0xa << 0xa), in TEST_F()
483 APInt(16, (0xa << 0xa) + 1))); in TEST_F()
494 EXPECT_EQ(Full.lshr(One), ConstantRange(APInt(16, 0), in TEST_F()
495 APInt(16, (0xffff >> 0xa) + 1))); in TEST_F()
496 EXPECT_EQ(Full.lshr(Some), ConstantRange(APInt(16, 0), in TEST_F()
497 APInt(16, (0xffff >> 0xa) + 1))); in TEST_F()
503 EXPECT_EQ(One.lshr(One), ConstantRange(APInt(16, 0))); in TEST_F()
504 EXPECT_EQ(One.lshr(Some), ConstantRange(APInt(16, 0))); in TEST_F()
505 EXPECT_EQ(One.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); in TEST_F()
506 EXPECT_EQ(Some.lshr(Some), ConstantRange(APInt(16, 0), in TEST_F()
507 APInt(16, (0xaaa >> 0xa) + 1))); in TEST_F()
508 EXPECT_EQ(Some.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); in TEST_F()
514 ConstantRange SMax = ConstantRange(APInt::getSignedMaxValue(32)); in TEST()
520 ConstantRange LowHalf(APInt(8, 0), APInt(8, 128)); in TEST()
521 ConstantRange HighHalf(APInt(8, 128), APInt(8, 0)); in TEST()
534 ConstantRange UnsignedSample(APInt(8, 5), APInt(8, 200)); in TEST()
538 ConstantRange(APInt(8, 0), APInt(8, 5))); in TEST()
542 ConstantRange(APInt(8, 0), APInt(8, 6))); in TEST()
546 ConstantRange(APInt(8, 200), APInt(8, 0))); in TEST()
550 ConstantRange(APInt(8, 199), APInt(8, 0))); in TEST()
552 ConstantRange SignedSample(APInt(8, -5), APInt(8, 5)); in TEST()
556 ConstantRange(APInt(8, -128), APInt(8, -5))); in TEST()
560 ConstantRange(APInt(8, -128), APInt(8, -4))); in TEST()
564 ConstantRange(APInt(8, 5), APInt(8, -128))); in TEST()
568 ConstantRange(APInt(8, 4), APInt(8, -128))); in TEST()