with Program(lst) as program:
sim = self.run_tst_program(program, initial_regs)
- @unittest.skip("broken")
def test_rlwinm(self):
for i in range(10):
mb = random.randint(0,31)
@unittest.skip("broken")
def test_rlwimi(self):
- lst = ["rlwinm 3, 1, 5, 20, 6",
- "rlwimi 3, 1, 5, 20, 6"]
+ lst = ["rlwimi 3, 1, 5, 20, 6"]
initial_regs = [0] * 32
- initial_regs[1] = random.randint(0, (1<<64)-1)
- initial_regs[3] = random.randint(0, (1<<64)-1)
+ initial_regs[1] = 0xdeadbeef
+ initial_regs[3] = 0x12345678
with Program(lst) as program:
sim = self.run_tst_program(program, initial_regs)
- @unittest.skip("broken")
def test_rlwnm(self):
lst = ["rlwnm 3, 1, 2, 20, 6"]
initial_regs = [0] * 32
initial_regs[2] = 5
with Program(lst) as program:
sim = self.run_tst_program(program, initial_regs)
- self.assertEqual(sim.gpr(1), SelectableInt(0x5fd757c0, 32))
+ self.assertEqual(sim.gpr(1), SelectableInt(0x5fd757c0, 64))
def test_srw(self):
lst = ["srw 1, 3, 2"]
initial_regs[2] = 5
with Program(lst) as program:
sim = self.run_tst_program(program, initial_regs)
- self.assertEqual(sim.gpr(1), SelectableInt(0x657f5d5, 32))
+ self.assertEqual(sim.gpr(1), SelectableInt(0x657f5d5, 64))
def test_rlwinm(self):
lst = ["rlwinm 3, 1, 5, 20, 6"]
sim = self.run_tst_program(program, initial_regs)
self.assertEqual(sim.gpr(3), SelectableInt(0xfe000fff, 64))
+ def test_rlwimi(self):
+ lst = ["rlwimi 3, 1, 5, 20, 6"]
+ initial_regs = [0] * 32
+ initial_regs[1] = 0xdeadbeef
+ initial_regs[3] = 0x12345678
+ with Program(lst) as program:
+ sim = self.run_tst_program(program, initial_regs)
+ self.assertEqual(sim.gpr(3), SelectableInt(0xd4345dfb, 64))
+
def test_mtcrf(self):
for i in range(4):
# 0x76540000 gives expected (3+4) (2+4) (1+4) (0+4) for