29 #include <gtest/gtest.h>
37 TEST(CondCodes, FindCarryWithNoCarryIn8Bit)
39 EXPECT_TRUE(
findCarry(8, 0x100, 0x80, 0x80));
46 TEST(CondCodes, FindNoCarryWithNoCarryIn8Bit)
48 EXPECT_FALSE(
findCarry(8, 0xff, 0xf0, 0x0f));
55 TEST(CondCodes, FindCarryWithCarryIn8Bit)
57 EXPECT_TRUE(
findCarry(8, 0x100, 0x80, 0x7f));
64 TEST(CondCodes, FindNoCarryWithCarryIn8Bit)
66 EXPECT_FALSE(
findCarry(8, 0xff, 0x80, 0x7e));
73 TEST(CondCodes, FindCarryWithNoCarryIn32Bit)
75 EXPECT_TRUE(
findCarry(32, 0x100000000, 0x80000000, 0x80000000));
82 TEST(CondCodes, FindNoCarryWithNoCarryIn32Bit)
84 EXPECT_FALSE(
findCarry(32, 0xffffffff, 0xffff0000, 0x0000ffff));
87 TEST(CondCodes, FindCarryWithCarryIn32Bit)
93 EXPECT_TRUE(
findCarry(32, 0x100000000, 0x80000000, 0x7fffffff));
96 EXPECT_FALSE(
findCarry(32, 0xffffffff, 0x80000000, 0x7ffffffe));
99 EXPECT_TRUE(
findCarry(32, 0x100000000, 0xffffffff, 0x00000000));
102 TEST(CondCodes, FindCarryWithNoCarryIn64Bit)
106 EXPECT_TRUE(
findCarry(64, 0x0000000000000000,
108 0x8000000000000000));
115 EXPECT_FALSE(
findCarry(64, 0x0000000000000000,
117 0x0000000000000000));
122 EXPECT_FALSE(
findCarry(64, 0xffffffffffffffff,
124 0x7fffffffffffffff));
129 EXPECT_FALSE(
findCarry(64, 0xffffffffffffffff,
131 0x00000000ffffffff));
134 TEST(CondCodes, FindCarryWithCarryIn64Bit)
140 EXPECT_TRUE(
findCarry(64, 0x0000000000000000,
142 0x7fffffffffffffff));
149 EXPECT_FALSE(
findCarry(64, 0x0000000000000001,
151 0x0000000000000000));
157 EXPECT_TRUE(
findCarry(64, 0x0000000000000000,
159 0x7fffffffffffffff));
165 EXPECT_TRUE(
findCarry(64, 0x0000000000000000,
167 0x0000000000000001));
170 TEST(CondCodes, FindOverflow8Bit)
184 TEST(CondCodes, FindOverflow32Bit)
190 EXPECT_TRUE(
findOverflow(32, 0x80000000, 0x7fffffff, 0x00000001));
195 EXPECT_FALSE(
findOverflow(32, 0x7fffffff, 0x40000000, 0x3fffffff));
198 TEST(CondCodes, FindOverflow64Bit)
207 0x0000000000000001));
214 0x3fffffffffffffff));
227 TEST(CondCodes, OddParityOverflow)
232 TEST(CondCodes, EvenParityOverflow)
257 TEST(CondCodes, IsZeroOverflow)