mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
mffscdrni, mffsce, mffscrn, mffscrni, mffsl. vmsumudm. Additionally, the OV32 and CA32 bits were introduced in ISA 3.0 but Valgrind add support for setting these bits for ISA 3.0. The OV32 and CA32 bits must now be set on a number of pre ISA 3.0 instructions. So now the instructions produce different results in the XER register. Thus we need pre and post ISA 3.0 expect files. Command line options were added to thee pre ISA test cases so instructions that didn't change could be run with one set of command line args. The instructions that have different XER results are run using a different set of command line args. The tests were split into two, one for instructions that didn't change on for instructions that do change under ISA 3.0. We then create ISA3.0 expect files only for the tests that run differently. By doing this we minimized the size of the expect files needed. Vex commit 3359 Has the source code changes for the instruction and OV32, CS32 support This commit is all the test case changes, adding the new test case files. Valgrind bugzilla 378931 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16329
637 lines
35 KiB
Plaintext
637 lines
35 KiB
Plaintext
PPC integer arith insns with two args:
|
|
add 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
add 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
add 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
add 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
add 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
add 000f423f, ffffffff => 000f423e (00000000 00000000)
|
|
add ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
add ffffffff, 000f423f => 000f423e (00000000 00000000)
|
|
add ffffffff, ffffffff => fffffffe (00000000 00000000)
|
|
|
|
addo 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addo 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
addo 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
addo 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addo 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
addo 000f423f, ffffffff => 000f423e (00000000 00000000)
|
|
addo ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addo ffffffff, 000f423f => 000f423e (00000000 00000000)
|
|
addo ffffffff, ffffffff => fffffffe (00000000 00000000)
|
|
|
|
addc 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addc 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
addc 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
addc 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addc 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
addc 000f423f, ffffffff => 000f423e (00000000 20000000)
|
|
addc ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addc ffffffff, 000f423f => 000f423e (00000000 20000000)
|
|
addc ffffffff, ffffffff => fffffffe (00000000 20000000)
|
|
|
|
addco 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addco 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
addco 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
addco 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addco 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
addco 000f423f, ffffffff => 000f423e (00000000 20000000)
|
|
addco ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addco ffffffff, 000f423f => 000f423e (00000000 20000000)
|
|
addco ffffffff, ffffffff => fffffffe (00000000 20000000)
|
|
|
|
divw 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
divw 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
divw 000f423f, 000f423f => 00000001 (00000000 00000000)
|
|
divw 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
|
|
divw ffffffff, 000f423f => 00000000 (00000000 00000000)
|
|
divw ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
divwo 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
divwo 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
divwo 000f423f, 000f423f => 00000001 (00000000 00000000)
|
|
divwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
|
|
divwo ffffffff, 000f423f => 00000000 (00000000 00000000)
|
|
divwo ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
divwu 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
divwu 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
divwu 000f423f, 000f423f => 00000001 (00000000 00000000)
|
|
divwu 000f423f, ffffffff => 00000000 (00000000 00000000)
|
|
divwu ffffffff, 000f423f => 000010c6 (00000000 00000000)
|
|
divwu ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
divwuo 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
divwuo 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
divwuo 000f423f, 000f423f => 00000001 (00000000 00000000)
|
|
divwuo 000f423f, ffffffff => 00000000 (00000000 00000000)
|
|
divwuo ffffffff, 000f423f => 000010c6 (00000000 00000000)
|
|
divwuo ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
mulhw 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
mulhw 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
mulhw 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
mulhw 000f423f, 00000000 => 00000000 (00000000 00000000)
|
|
mulhw 000f423f, 000f423f => 000000e8 (00000000 00000000)
|
|
mulhw 000f423f, ffffffff => ffffffff (00000000 00000000)
|
|
mulhw ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
mulhw ffffffff, 000f423f => ffffffff (00000000 00000000)
|
|
mulhw ffffffff, ffffffff => 00000000 (00000000 00000000)
|
|
|
|
mulhwu 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
mulhwu 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
mulhwu 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
mulhwu 000f423f, 00000000 => 00000000 (00000000 00000000)
|
|
mulhwu 000f423f, 000f423f => 000000e8 (00000000 00000000)
|
|
mulhwu 000f423f, ffffffff => 000f423e (00000000 00000000)
|
|
mulhwu ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
mulhwu ffffffff, 000f423f => 000f423e (00000000 00000000)
|
|
mulhwu ffffffff, ffffffff => fffffffe (00000000 00000000)
|
|
|
|
mullw 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
mullw 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
mullw 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
mullw 000f423f, 00000000 => 00000000 (00000000 00000000)
|
|
mullw 000f423f, 000f423f => d4868b81 (00000000 00000000)
|
|
mullw 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
|
|
mullw ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
mullw ffffffff, 000f423f => fff0bdc1 (00000000 00000000)
|
|
mullw ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
mullwo 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
mullwo 00000000, 000f423f => 00000000 (00000000 00000000)
|
|
mullwo 00000000, ffffffff => 00000000 (00000000 00000000)
|
|
mullwo 000f423f, 00000000 => 00000000 (00000000 00000000)
|
|
mullwo 000f423f, 000f423f => d4868b81 (00000000 c0000000)
|
|
mullwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
|
|
mullwo ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
mullwo ffffffff, 000f423f => fff0bdc1 (00000000 00000000)
|
|
mullwo ffffffff, ffffffff => 00000001 (00000000 00000000)
|
|
|
|
subf 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
subf 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
subf 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
subf 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subf 000f423f, 000f423f => 00000000 (00000000 00000000)
|
|
subf 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
|
|
subf ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subf ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subf ffffffff, ffffffff => 00000000 (00000000 00000000)
|
|
|
|
subfo 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
subfo 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
subfo 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
subfo 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfo 000f423f, 000f423f => 00000000 (00000000 00000000)
|
|
subfo 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
|
|
subfo ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfo ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subfo ffffffff, ffffffff => 00000000 (00000000 00000000)
|
|
|
|
subfc 00000000, 00000000 => 00000000 (00000000 20000000)
|
|
subfc 00000000, 000f423f => 000f423f (00000000 20000000)
|
|
subfc 00000000, ffffffff => ffffffff (00000000 20000000)
|
|
subfc 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfc 000f423f, 000f423f => 00000000 (00000000 20000000)
|
|
subfc 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
|
|
subfc ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfc ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subfc ffffffff, ffffffff => 00000000 (00000000 20000000)
|
|
|
|
subfco 00000000, 00000000 => 00000000 (00000000 20000000)
|
|
subfco 00000000, 000f423f => 000f423f (00000000 20000000)
|
|
subfco 00000000, ffffffff => ffffffff (00000000 20000000)
|
|
subfco 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfco 000f423f, 000f423f => 00000000 (00000000 20000000)
|
|
subfco 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
|
|
subfco ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfco ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subfco ffffffff, ffffffff => 00000000 (00000000 20000000)
|
|
|
|
PPC integer arith insns with two args with flags update:
|
|
add. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
add. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
add. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
add. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
add. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
add. 000f423f, ffffffff => 000f423e (40000000 00000000)
|
|
add. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
add. ffffffff, 000f423f => 000f423e (40000000 00000000)
|
|
add. ffffffff, ffffffff => fffffffe (80000000 00000000)
|
|
|
|
addo. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
addo. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
addo. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
addo. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
addo. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
addo. 000f423f, ffffffff => 000f423e (40000000 00000000)
|
|
addo. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
addo. ffffffff, 000f423f => 000f423e (40000000 00000000)
|
|
addo. ffffffff, ffffffff => fffffffe (80000000 00000000)
|
|
|
|
addc. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
addc. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
addc. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
addc. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
addc. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
addc. 000f423f, ffffffff => 000f423e (40000000 20000000)
|
|
addc. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
addc. ffffffff, 000f423f => 000f423e (40000000 20000000)
|
|
addc. ffffffff, ffffffff => fffffffe (80000000 20000000)
|
|
|
|
addco. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
addco. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
addco. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
addco. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
addco. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
addco. 000f423f, ffffffff => 000f423e (40000000 20000000)
|
|
addco. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
addco. ffffffff, 000f423f => 000f423e (40000000 20000000)
|
|
addco. ffffffff, ffffffff => fffffffe (80000000 20000000)
|
|
|
|
divw. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
divw. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
divw. 000f423f, 000f423f => 00000001 (40000000 00000000)
|
|
divw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
|
|
divw. ffffffff, 000f423f => 00000000 (20000000 00000000)
|
|
divw. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
divwo. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
divwo. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
divwo. 000f423f, 000f423f => 00000001 (40000000 00000000)
|
|
divwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
|
|
divwo. ffffffff, 000f423f => 00000000 (20000000 00000000)
|
|
divwo. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
divwu. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
divwu. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
divwu. 000f423f, 000f423f => 00000001 (40000000 00000000)
|
|
divwu. 000f423f, ffffffff => 00000000 (20000000 00000000)
|
|
divwu. ffffffff, 000f423f => 000010c6 (40000000 00000000)
|
|
divwu. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
divwuo. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
divwuo. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
divwuo. 000f423f, 000f423f => 00000001 (40000000 00000000)
|
|
divwuo. 000f423f, ffffffff => 00000000 (20000000 00000000)
|
|
divwuo. ffffffff, 000f423f => 000010c6 (40000000 00000000)
|
|
divwuo. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
mulhw. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
mulhw. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
mulhw. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
mulhw. 000f423f, 00000000 => 00000000 (20000000 00000000)
|
|
mulhw. 000f423f, 000f423f => 000000e8 (40000000 00000000)
|
|
mulhw. 000f423f, ffffffff => ffffffff (80000000 00000000)
|
|
mulhw. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
mulhw. ffffffff, 000f423f => ffffffff (80000000 00000000)
|
|
mulhw. ffffffff, ffffffff => 00000000 (20000000 00000000)
|
|
|
|
mulhwu. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
mulhwu. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
mulhwu. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
mulhwu. 000f423f, 00000000 => 00000000 (20000000 00000000)
|
|
mulhwu. 000f423f, 000f423f => 000000e8 (40000000 00000000)
|
|
mulhwu. 000f423f, ffffffff => 000f423e (40000000 00000000)
|
|
mulhwu. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
mulhwu. ffffffff, 000f423f => 000f423e (40000000 00000000)
|
|
mulhwu. ffffffff, ffffffff => fffffffe (80000000 00000000)
|
|
|
|
mullw. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
mullw. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
mullw. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
mullw. 000f423f, 00000000 => 00000000 (20000000 00000000)
|
|
mullw. 000f423f, 000f423f => d4868b81 (80000000 00000000)
|
|
mullw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
|
|
mullw. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
mullw. ffffffff, 000f423f => fff0bdc1 (80000000 00000000)
|
|
mullw. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
mullwo. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
mullwo. 00000000, 000f423f => 00000000 (20000000 00000000)
|
|
mullwo. 00000000, ffffffff => 00000000 (20000000 00000000)
|
|
mullwo. 000f423f, 00000000 => 00000000 (20000000 00000000)
|
|
mullwo. 000f423f, 000f423f => d4868b81 (90000000 c0000000)
|
|
mullwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
|
|
mullwo. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
mullwo. ffffffff, 000f423f => fff0bdc1 (80000000 00000000)
|
|
mullwo. ffffffff, ffffffff => 00000001 (40000000 00000000)
|
|
|
|
subf. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
subf. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
subf. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
subf. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subf. 000f423f, 000f423f => 00000000 (20000000 00000000)
|
|
subf. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
|
|
subf. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subf. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subf. ffffffff, ffffffff => 00000000 (20000000 00000000)
|
|
|
|
subfo. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
subfo. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
subfo. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
subfo. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subfo. 000f423f, 000f423f => 00000000 (20000000 00000000)
|
|
subfo. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
|
|
subfo. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subfo. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subfo. ffffffff, ffffffff => 00000000 (20000000 00000000)
|
|
|
|
subfc. 00000000, 00000000 => 00000000 (20000000 20000000)
|
|
subfc. 00000000, 000f423f => 000f423f (40000000 20000000)
|
|
subfc. 00000000, ffffffff => ffffffff (80000000 20000000)
|
|
subfc. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subfc. 000f423f, 000f423f => 00000000 (20000000 20000000)
|
|
subfc. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
|
|
subfc. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subfc. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subfc. ffffffff, ffffffff => 00000000 (20000000 20000000)
|
|
|
|
subfco. 00000000, 00000000 => 00000000 (20000000 20000000)
|
|
subfco. 00000000, 000f423f => 000f423f (40000000 20000000)
|
|
subfco. 00000000, ffffffff => ffffffff (80000000 20000000)
|
|
subfco. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subfco. 000f423f, 000f423f => 00000000 (20000000 20000000)
|
|
subfco. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
|
|
subfco. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subfco. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subfco. ffffffff, ffffffff => 00000000 (20000000 20000000)
|
|
|
|
PPC integer arith insns with two args and carry:
|
|
adde 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
adde 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
adde 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
adde 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
adde 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
adde 000f423f, ffffffff => 000f423e (00000000 20000000)
|
|
adde ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
adde ffffffff, 000f423f => 000f423e (00000000 20000000)
|
|
adde ffffffff, ffffffff => fffffffe (00000000 20000000)
|
|
adde 00000000, 00000000 => 00000001 (00000000 00000000)
|
|
adde 00000000, 000f423f => 000f4240 (00000000 00000000)
|
|
adde 00000000, ffffffff => 00000000 (00000000 20000000)
|
|
adde 000f423f, 00000000 => 000f4240 (00000000 00000000)
|
|
adde 000f423f, 000f423f => 001e847f (00000000 00000000)
|
|
adde 000f423f, ffffffff => 000f423f (00000000 20000000)
|
|
adde ffffffff, 00000000 => 00000000 (00000000 20000000)
|
|
adde ffffffff, 000f423f => 000f423f (00000000 20000000)
|
|
adde ffffffff, ffffffff => ffffffff (00000000 20000000)
|
|
|
|
addeo 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addeo 00000000, 000f423f => 000f423f (00000000 00000000)
|
|
addeo 00000000, ffffffff => ffffffff (00000000 00000000)
|
|
addeo 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addeo 000f423f, 000f423f => 001e847e (00000000 00000000)
|
|
addeo 000f423f, ffffffff => 000f423e (00000000 20000000)
|
|
addeo ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addeo ffffffff, 000f423f => 000f423e (00000000 20000000)
|
|
addeo ffffffff, ffffffff => fffffffe (00000000 20000000)
|
|
addeo 00000000, 00000000 => 00000001 (00000000 00000000)
|
|
addeo 00000000, 000f423f => 000f4240 (00000000 00000000)
|
|
addeo 00000000, ffffffff => 00000000 (00000000 20000000)
|
|
addeo 000f423f, 00000000 => 000f4240 (00000000 00000000)
|
|
addeo 000f423f, 000f423f => 001e847f (00000000 00000000)
|
|
addeo 000f423f, ffffffff => 000f423f (00000000 20000000)
|
|
addeo ffffffff, 00000000 => 00000000 (00000000 20000000)
|
|
addeo ffffffff, 000f423f => 000f423f (00000000 20000000)
|
|
addeo ffffffff, ffffffff => ffffffff (00000000 20000000)
|
|
|
|
subfe 00000000, 00000000 => ffffffff (00000000 00000000)
|
|
subfe 00000000, 000f423f => 000f423e (00000000 20000000)
|
|
subfe 00000000, ffffffff => fffffffe (00000000 20000000)
|
|
subfe 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
|
|
subfe 000f423f, 000f423f => ffffffff (00000000 00000000)
|
|
subfe 000f423f, ffffffff => fff0bdbf (00000000 20000000)
|
|
subfe ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
subfe ffffffff, 000f423f => 000f423f (00000000 00000000)
|
|
subfe ffffffff, ffffffff => ffffffff (00000000 00000000)
|
|
subfe 00000000, 00000000 => 00000000 (00000000 20000000)
|
|
subfe 00000000, 000f423f => 000f423f (00000000 20000000)
|
|
subfe 00000000, ffffffff => ffffffff (00000000 20000000)
|
|
subfe 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfe 000f423f, 000f423f => 00000000 (00000000 20000000)
|
|
subfe 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
|
|
subfe ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfe ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subfe ffffffff, ffffffff => 00000000 (00000000 20000000)
|
|
|
|
subfeo 00000000, 00000000 => ffffffff (00000000 00000000)
|
|
subfeo 00000000, 000f423f => 000f423e (00000000 20000000)
|
|
subfeo 00000000, ffffffff => fffffffe (00000000 20000000)
|
|
subfeo 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
|
|
subfeo 000f423f, 000f423f => ffffffff (00000000 00000000)
|
|
subfeo 000f423f, ffffffff => fff0bdbf (00000000 20000000)
|
|
subfeo ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
subfeo ffffffff, 000f423f => 000f423f (00000000 00000000)
|
|
subfeo ffffffff, ffffffff => ffffffff (00000000 00000000)
|
|
subfeo 00000000, 00000000 => 00000000 (00000000 20000000)
|
|
subfeo 00000000, 000f423f => 000f423f (00000000 20000000)
|
|
subfeo 00000000, ffffffff => ffffffff (00000000 20000000)
|
|
subfeo 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfeo 000f423f, 000f423f => 00000000 (00000000 20000000)
|
|
subfeo 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
|
|
subfeo ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfeo ffffffff, 000f423f => 000f4240 (00000000 00000000)
|
|
subfeo ffffffff, ffffffff => 00000000 (00000000 20000000)
|
|
|
|
PPC integer arith insns with two args and carry with flags update:
|
|
adde. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
adde. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
adde. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
adde. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
adde. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
adde. 000f423f, ffffffff => 000f423e (40000000 20000000)
|
|
adde. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
adde. ffffffff, 000f423f => 000f423e (40000000 20000000)
|
|
adde. ffffffff, ffffffff => fffffffe (80000000 20000000)
|
|
adde. 00000000, 00000000 => 00000001 (40000000 00000000)
|
|
adde. 00000000, 000f423f => 000f4240 (40000000 00000000)
|
|
adde. 00000000, ffffffff => 00000000 (20000000 20000000)
|
|
adde. 000f423f, 00000000 => 000f4240 (40000000 00000000)
|
|
adde. 000f423f, 000f423f => 001e847f (40000000 00000000)
|
|
adde. 000f423f, ffffffff => 000f423f (40000000 20000000)
|
|
adde. ffffffff, 00000000 => 00000000 (20000000 20000000)
|
|
adde. ffffffff, 000f423f => 000f423f (40000000 20000000)
|
|
adde. ffffffff, ffffffff => ffffffff (80000000 20000000)
|
|
|
|
addeo. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
addeo. 00000000, 000f423f => 000f423f (40000000 00000000)
|
|
addeo. 00000000, ffffffff => ffffffff (80000000 00000000)
|
|
addeo. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
addeo. 000f423f, 000f423f => 001e847e (40000000 00000000)
|
|
addeo. 000f423f, ffffffff => 000f423e (40000000 20000000)
|
|
addeo. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
addeo. ffffffff, 000f423f => 000f423e (40000000 20000000)
|
|
addeo. ffffffff, ffffffff => fffffffe (80000000 20000000)
|
|
addeo. 00000000, 00000000 => 00000001 (40000000 00000000)
|
|
addeo. 00000000, 000f423f => 000f4240 (40000000 00000000)
|
|
addeo. 00000000, ffffffff => 00000000 (20000000 20000000)
|
|
addeo. 000f423f, 00000000 => 000f4240 (40000000 00000000)
|
|
addeo. 000f423f, 000f423f => 001e847f (40000000 00000000)
|
|
addeo. 000f423f, ffffffff => 000f423f (40000000 20000000)
|
|
addeo. ffffffff, 00000000 => 00000000 (20000000 20000000)
|
|
addeo. ffffffff, 000f423f => 000f423f (40000000 20000000)
|
|
addeo. ffffffff, ffffffff => ffffffff (80000000 20000000)
|
|
|
|
subfe. 00000000, 00000000 => ffffffff (80000000 00000000)
|
|
subfe. 00000000, 000f423f => 000f423e (40000000 20000000)
|
|
subfe. 00000000, ffffffff => fffffffe (80000000 20000000)
|
|
subfe. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
|
|
subfe. 000f423f, 000f423f => ffffffff (80000000 00000000)
|
|
subfe. 000f423f, ffffffff => fff0bdbf (80000000 20000000)
|
|
subfe. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
subfe. ffffffff, 000f423f => 000f423f (40000000 00000000)
|
|
subfe. ffffffff, ffffffff => ffffffff (80000000 00000000)
|
|
subfe. 00000000, 00000000 => 00000000 (20000000 20000000)
|
|
subfe. 00000000, 000f423f => 000f423f (40000000 20000000)
|
|
subfe. 00000000, ffffffff => ffffffff (80000000 20000000)
|
|
subfe. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subfe. 000f423f, 000f423f => 00000000 (20000000 20000000)
|
|
subfe. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
|
|
subfe. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subfe. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subfe. ffffffff, ffffffff => 00000000 (20000000 20000000)
|
|
|
|
subfeo. 00000000, 00000000 => ffffffff (80000000 00000000)
|
|
subfeo. 00000000, 000f423f => 000f423e (40000000 20000000)
|
|
subfeo. 00000000, ffffffff => fffffffe (80000000 20000000)
|
|
subfeo. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
|
|
subfeo. 000f423f, 000f423f => ffffffff (80000000 00000000)
|
|
subfeo. 000f423f, ffffffff => fff0bdbf (80000000 20000000)
|
|
subfeo. ffffffff, 00000000 => 00000000 (20000000 00000000)
|
|
subfeo. ffffffff, 000f423f => 000f423f (40000000 00000000)
|
|
subfeo. ffffffff, ffffffff => ffffffff (80000000 00000000)
|
|
subfeo. 00000000, 00000000 => 00000000 (20000000 20000000)
|
|
subfeo. 00000000, 000f423f => 000f423f (40000000 20000000)
|
|
subfeo. 00000000, ffffffff => ffffffff (80000000 20000000)
|
|
subfeo. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
|
|
subfeo. 000f423f, 000f423f => 00000000 (20000000 20000000)
|
|
subfeo. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
|
|
subfeo. ffffffff, 00000000 => 00000001 (40000000 00000000)
|
|
subfeo. ffffffff, 000f423f => 000f4240 (40000000 00000000)
|
|
subfeo. ffffffff, ffffffff => 00000000 (20000000 20000000)
|
|
|
|
PPC integer arith insns
|
|
with one register + one 16 bits immediate args:
|
|
addi 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addi 00000000, 000003e7 => 000003e7 (00000000 00000000)
|
|
addi 00000000, 0000ffff => ffffffff (00000000 00000000)
|
|
addi 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addi 000f423f, 000003e7 => 000f4626 (00000000 00000000)
|
|
addi 000f423f, 0000ffff => 000f423e (00000000 00000000)
|
|
addi ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addi ffffffff, 000003e7 => 000003e6 (00000000 00000000)
|
|
addi ffffffff, 0000ffff => fffffffe (00000000 00000000)
|
|
|
|
addic 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addic 00000000, 000003e7 => 000003e7 (00000000 00000000)
|
|
addic 00000000, 0000ffff => ffffffff (00000000 00000000)
|
|
addic 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addic 000f423f, 000003e7 => 000f4626 (00000000 00000000)
|
|
addic 000f423f, 0000ffff => 000f423e (00000000 20000000)
|
|
addic ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addic ffffffff, 000003e7 => 000003e6 (00000000 20000000)
|
|
addic ffffffff, 0000ffff => fffffffe (00000000 20000000)
|
|
|
|
addis 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
addis 00000000, 000003e7 => 03e70000 (00000000 00000000)
|
|
addis 00000000, 0000ffff => ffff0000 (00000000 00000000)
|
|
addis 000f423f, 00000000 => 000f423f (00000000 00000000)
|
|
addis 000f423f, 000003e7 => 03f6423f (00000000 00000000)
|
|
addis 000f423f, 0000ffff => 000e423f (00000000 00000000)
|
|
addis ffffffff, 00000000 => ffffffff (00000000 00000000)
|
|
addis ffffffff, 000003e7 => 03e6ffff (00000000 00000000)
|
|
addis ffffffff, 0000ffff => fffeffff (00000000 00000000)
|
|
|
|
mulli 00000000, 00000000 => 00000000 (00000000 00000000)
|
|
mulli 00000000, 000003e7 => 00000000 (00000000 00000000)
|
|
mulli 00000000, 0000ffff => 00000000 (00000000 00000000)
|
|
mulli 000f423f, 00000000 => 00000000 (00000000 00000000)
|
|
mulli 000f423f, 000003e7 => 3b8b83d9 (00000000 00000000)
|
|
mulli 000f423f, 0000ffff => fff0bdc1 (00000000 00000000)
|
|
mulli ffffffff, 00000000 => 00000000 (00000000 00000000)
|
|
mulli ffffffff, 000003e7 => fffffc19 (00000000 00000000)
|
|
mulli ffffffff, 0000ffff => 00000001 (00000000 00000000)
|
|
|
|
subfic 00000000, 00000000 => 00000000 (00000000 20000000)
|
|
subfic 00000000, 000003e7 => 000003e7 (00000000 20000000)
|
|
subfic 00000000, 0000ffff => ffffffff (00000000 20000000)
|
|
subfic 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
|
|
subfic 000f423f, 000003e7 => fff0c1a8 (00000000 00000000)
|
|
subfic 000f423f, 0000ffff => fff0bdc0 (00000000 20000000)
|
|
subfic ffffffff, 00000000 => 00000001 (00000000 00000000)
|
|
subfic ffffffff, 000003e7 => 000003e8 (00000000 00000000)
|
|
subfic ffffffff, 0000ffff => 00000000 (00000000 20000000)
|
|
|
|
PPC integer arith insns
|
|
with one register + one 16 bits immediate args with flags update:
|
|
addic. 00000000, 00000000 => 00000000 (20000000 00000000)
|
|
addic. 00000000, 000003e7 => 000003e7 (40000000 00000000)
|
|
addic. 00000000, 0000ffff => ffffffff (80000000 00000000)
|
|
addic. 000f423f, 00000000 => 000f423f (40000000 00000000)
|
|
addic. 000f423f, 000003e7 => 000f4626 (40000000 00000000)
|
|
addic. 000f423f, 0000ffff => 000f423e (40000000 20000000)
|
|
addic. ffffffff, 00000000 => ffffffff (80000000 00000000)
|
|
addic. ffffffff, 000003e7 => 000003e6 (40000000 20000000)
|
|
addic. ffffffff, 0000ffff => fffffffe (80000000 20000000)
|
|
|
|
PPC integer arith insns with one arg and carry:
|
|
addme 00000000 => ffffffff (00000000 00000000)
|
|
addme 000f423f => 000f423e (00000000 20000000)
|
|
addme ffffffff => fffffffe (00000000 20000000)
|
|
addme 00000000 => 00000000 (00000000 20000000)
|
|
addme 000f423f => 000f423f (00000000 20000000)
|
|
addme ffffffff => ffffffff (00000000 20000000)
|
|
|
|
addmeo 00000000 => ffffffff (00000000 00000000)
|
|
addmeo 000f423f => 000f423e (00000000 20000000)
|
|
addmeo ffffffff => fffffffe (00000000 20000000)
|
|
addmeo 00000000 => 00000000 (00000000 20000000)
|
|
addmeo 000f423f => 000f423f (00000000 20000000)
|
|
addmeo ffffffff => ffffffff (00000000 20000000)
|
|
|
|
addze 00000000 => 00000000 (00000000 00000000)
|
|
addze 000f423f => 000f423f (00000000 00000000)
|
|
addze ffffffff => ffffffff (00000000 00000000)
|
|
addze 00000000 => 00000001 (00000000 00000000)
|
|
addze 000f423f => 000f4240 (00000000 00000000)
|
|
addze ffffffff => 00000000 (00000000 20000000)
|
|
|
|
addzeo 00000000 => 00000000 (00000000 00000000)
|
|
addzeo 000f423f => 000f423f (00000000 00000000)
|
|
addzeo ffffffff => ffffffff (00000000 00000000)
|
|
addzeo 00000000 => 00000001 (00000000 00000000)
|
|
addzeo 000f423f => 000f4240 (00000000 00000000)
|
|
addzeo ffffffff => 00000000 (00000000 20000000)
|
|
|
|
subfme 00000000 => fffffffe (00000000 20000000)
|
|
subfme 000f423f => fff0bdbf (00000000 20000000)
|
|
subfme ffffffff => ffffffff (00000000 00000000)
|
|
subfme 00000000 => ffffffff (00000000 20000000)
|
|
subfme 000f423f => fff0bdc0 (00000000 20000000)
|
|
subfme ffffffff => 00000000 (00000000 20000000)
|
|
|
|
subfmeo 00000000 => fffffffe (00000000 20000000)
|
|
subfmeo 000f423f => fff0bdbf (00000000 20000000)
|
|
subfmeo ffffffff => ffffffff (00000000 00000000)
|
|
subfmeo 00000000 => ffffffff (00000000 20000000)
|
|
subfmeo 000f423f => fff0bdc0 (00000000 20000000)
|
|
subfmeo ffffffff => 00000000 (00000000 20000000)
|
|
|
|
subfze 00000000 => ffffffff (00000000 00000000)
|
|
subfze 000f423f => fff0bdc0 (00000000 00000000)
|
|
subfze ffffffff => 00000000 (00000000 00000000)
|
|
subfze 00000000 => 00000000 (00000000 20000000)
|
|
subfze 000f423f => fff0bdc1 (00000000 00000000)
|
|
subfze ffffffff => 00000001 (00000000 00000000)
|
|
|
|
subfzeo 00000000 => ffffffff (00000000 00000000)
|
|
subfzeo 000f423f => fff0bdc0 (00000000 00000000)
|
|
subfzeo ffffffff => 00000000 (00000000 00000000)
|
|
subfzeo 00000000 => 00000000 (00000000 20000000)
|
|
subfzeo 000f423f => fff0bdc1 (00000000 00000000)
|
|
subfzeo ffffffff => 00000001 (00000000 00000000)
|
|
|
|
PPC integer arith insns with one arg and carry with flags update:
|
|
addme. 00000000 => ffffffff (80000000 00000000)
|
|
addme. 000f423f => 000f423e (40000000 20000000)
|
|
addme. ffffffff => fffffffe (80000000 20000000)
|
|
addme. 00000000 => 00000000 (20000000 20000000)
|
|
addme. 000f423f => 000f423f (40000000 20000000)
|
|
addme. ffffffff => ffffffff (80000000 20000000)
|
|
|
|
addmeo. 00000000 => ffffffff (80000000 00000000)
|
|
addmeo. 000f423f => 000f423e (40000000 20000000)
|
|
addmeo. ffffffff => fffffffe (80000000 20000000)
|
|
addmeo. 00000000 => 00000000 (20000000 20000000)
|
|
addmeo. 000f423f => 000f423f (40000000 20000000)
|
|
addmeo. ffffffff => ffffffff (80000000 20000000)
|
|
|
|
addze. 00000000 => 00000000 (20000000 00000000)
|
|
addze. 000f423f => 000f423f (40000000 00000000)
|
|
addze. ffffffff => ffffffff (80000000 00000000)
|
|
addze. 00000000 => 00000001 (40000000 00000000)
|
|
addze. 000f423f => 000f4240 (40000000 00000000)
|
|
addze. ffffffff => 00000000 (20000000 20000000)
|
|
|
|
addzeo. 00000000 => 00000000 (20000000 00000000)
|
|
addzeo. 000f423f => 000f423f (40000000 00000000)
|
|
addzeo. ffffffff => ffffffff (80000000 00000000)
|
|
addzeo. 00000000 => 00000001 (40000000 00000000)
|
|
addzeo. 000f423f => 000f4240 (40000000 00000000)
|
|
addzeo. ffffffff => 00000000 (20000000 20000000)
|
|
|
|
subfme. 00000000 => fffffffe (80000000 20000000)
|
|
subfme. 000f423f => fff0bdbf (80000000 20000000)
|
|
subfme. ffffffff => ffffffff (80000000 00000000)
|
|
subfme. 00000000 => ffffffff (80000000 20000000)
|
|
subfme. 000f423f => fff0bdc0 (80000000 20000000)
|
|
subfme. ffffffff => 00000000 (20000000 20000000)
|
|
|
|
subfmeo. 00000000 => fffffffe (80000000 20000000)
|
|
subfmeo. 000f423f => fff0bdbf (80000000 20000000)
|
|
subfmeo. ffffffff => ffffffff (80000000 00000000)
|
|
subfmeo. 00000000 => ffffffff (80000000 20000000)
|
|
subfmeo. 000f423f => fff0bdc0 (80000000 20000000)
|
|
subfmeo. ffffffff => 00000000 (20000000 20000000)
|
|
|
|
subfze. 00000000 => ffffffff (80000000 00000000)
|
|
subfze. 000f423f => fff0bdc0 (80000000 00000000)
|
|
subfze. ffffffff => 00000000 (20000000 00000000)
|
|
subfze. 00000000 => 00000000 (20000000 20000000)
|
|
subfze. 000f423f => fff0bdc1 (80000000 00000000)
|
|
subfze. ffffffff => 00000001 (40000000 00000000)
|
|
|
|
subfzeo. 00000000 => ffffffff (80000000 00000000)
|
|
subfzeo. 000f423f => fff0bdc0 (80000000 00000000)
|
|
subfzeo. ffffffff => 00000000 (20000000 00000000)
|
|
subfzeo. 00000000 => 00000000 (20000000 20000000)
|
|
subfzeo. 000f423f => fff0bdc1 (80000000 00000000)
|
|
subfzeo. ffffffff => 00000001 (40000000 00000000)
|
|
|
|
PPC integer population count with one register args, no flags:
|
|
popcntb 00000000 => 00000000 (00000000 00000000)
|
|
popcntb 000f423f => 00040206 (00000000 00000000)
|
|
popcntb ffffffff => 08080808 (00000000 00000000)
|
|
|
|
All done. Tested 63 different instructions
|