Hi All, This patchset adds support to emulate divde, divde., divdeu and divdeu. instructions and testcases for it.
Changes in v2: ------------- * Fix review comments from Paul to make divde_dot and divdeu_dot simple by using divde and divdeu, then goto `arith_done` instead of `compute_done`. * Include `Reviewed-by` tag from Sandipan Das. * Rebase with recent mpe's merge tree. I would request for your review and suggestions for making it better. Boot Log: -------- :: :: :: :: [ 2.777518] emulate_step_test: divde : RA = LONG_MIN, RB = LONG_MIN PASS [ 2.777882] emulate_step_test: divde : RA = 1L, RB = 0 PASS [ 2.778432] emulate_step_test: divde : RA = LONG_MIN, RB = LONG_MAX PASS [ 2.778880] emulate_step_test: divde. : RA = LONG_MIN, RB = LONG_MIN PASS [ 2.780172] emulate_step_test: divde. : RA = 1L, RB = 0 PASS [ 2.780582] emulate_step_test: divde. : RA = LONG_MIN, RB = LONG_MAX PASS [ 2.780983] emulate_step_test: divdeu : RA = LONG_MIN, RB = LONG_MIN PASS [ 2.781276] emulate_step_test: divdeu : RA = 1L, RB = 0 PASS [ 2.781579] emulate_step_test: divdeu : RA = LONG_MIN, RB = LONG_MAX PASS [ 2.781820] emulate_step_test: divdeu : RA = LONG_MAX - 1, RB = LONG_MAX PASS [ 2.782056] emulate_step_test: divdeu : RA = LONG_MIN + 1, RB = LONG_MIN PASS [ 2.782296] emulate_step_test: divdeu. : RA = LONG_MIN, RB = LONG_MIN PASS [ 2.782556] emulate_step_test: divdeu. : RA = 1L, RB = 0 PASS [ 2.783502] emulate_step_test: divdeu. : RA = LONG_MIN, RB = LONG_MAX PASS [ 2.783748] emulate_step_test: divdeu. : RA = LONG_MAX - 1, RB = LONG_MAX PASS [ 2.783973] emulate_step_test: divdeu. : RA = LONG_MIN + 1, RB = LONG_MIN PASS [ 2.789617] registered taskstats version 1 [ 2.794779] printk: console [netcon0] enabled [ 2.794931] netconsole: network logging started [ 2.795327] hctosys: unable to open rtc device (rtc0) [ 2.953449] Freeing unused kernel memory: 5120K [ 2.953639] This architecture does not have kernel memory protection. [ 2.953918] Run /init as init process [ 3.173573] mount (54) used greatest stack depth: 12576 bytes left [ 3.252465] mount (55) used greatest stack depth: 12544 bytes left Welcome to Buildroot buildroot login: Balamuruhan S (3): powerpc ppc-opcode: add divde, divde_dot, divdeu and divdeu_dot opcodes powerpc sstep: add support for divde[.] and divdeu[.] instructions powerpc test_emulate_step: add testcases for divde[.] and divdeu[.] instructions arch/powerpc/include/asm/ppc-opcode.h | 10 +++ arch/powerpc/lib/sstep.c | 13 ++- arch/powerpc/lib/test_emulate_step.c | 164 ++++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+), 1 deletion(-) base-commit: 20862247a368dbb75d6e97d82345999adaacf3cc -- 2.14.5