linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Balamuruhan S <bala24@linux.ibm.com>
To: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>, mpe@ellerman.id.au
Cc: paulus@samba.org, linuxppc-dev@lists.ozlabs.org,
	sandipan@linux.ibm.com, ravi.bangoria@linux.ibm.com
Subject: Re: [PATCH v3 3/3] powerpc test_emulate_step: add testcases for divde[.] and divdeu[.] instructions
Date: Wed, 01 Apr 2020 16:51:45 +0530	[thread overview]
Message-ID: <7ffed5d5bb476fd8c88980039ffddce6e0c3e678.camel@linux.ibm.com> (raw)
In-Reply-To: <1585738460.fzpd1gjpyj.naveen@linux.ibm.com>

On Wed, 2020-04-01 at 16:26 +0530, Naveen N. Rao wrote:
> Balamuruhan S wrote:
> > add testcases for divde, divde., divdeu, divdeu. emulated
> > instructions to cover few scenarios,
> >         * with same dividend and divisor to have undefine RT
> >           for divdeu[.]
> >         * with divide by zero to have undefine RT for both
> >           divde[.] and divdeu[.]
> >         * with negative dividend to cover -|divisor| < r <= 0 if
> >           the dividend is negative for divde[.]
> >         * normal case with proper dividend and divisor for both
> >           divde[.] and divdeu[.]
> > 
> > Reviewed-by: Sandipan Das <sandipan@linux.ibm.com>
> > Signed-off-by: Balamuruhan S <bala24@linux.ibm.com>
> > ---
> >  arch/powerpc/lib/test_emulate_step.c | 164
> > +++++++++++++++++++++++++++++++++++
> >  1 file changed, 164 insertions(+)
> > 
> > diff --git a/arch/powerpc/lib/test_emulate_step.c
> > b/arch/powerpc/lib/test_emulate_step.c
> > index 42347067739c..ffeb9b68a31d 100644
> > --- a/arch/powerpc/lib/test_emulate_step.c
> > +++ b/arch/powerpc/lib/test_emulate_step.c
> > @@ -53,6 +53,14 @@
> >  					___PPC_RA(a) | ___PPC_RB(b))
> >  #define TEST_ADDC_DOT(t, a, b)	(PPC_INST_ADDC | ___PPC_RT(t) |		
> > \
> >  					___PPC_RA(a) | ___PPC_RB(b) | 0x1)
> > +#define TEST_DIVDE(t, a, b)	(PPC_INST_DIVDE | ___PPC_RT(t) |	\
> > +					___PPC_RA(a) | ___PPC_RB(b))
> > +#define TEST_DIVDE_DOT(t, a, b)	(PPC_INST_DIVDE | ___PPC_RT(t) |	\
> > +					___PPC_RA(a) | ___PPC_RB(b) | 0x1)
> > +#define TEST_DIVDEU(t, a, b)	(PPC_INST_DIVDEU | ___PPC_RT(t) |	\
> > +					___PPC_RA(a) | ___PPC_RB(b))
> > +#define TEST_DIVDEU_DOT(t, a, b)(PPC_INST_DIVDEU | ___PPC_RT(t) |	\
> > +					___PPC_RA(a) | ___PPC_RB(b) | 0x1)
> > 
> >  #define MAX_SUBTESTS	16
> > 
> > @@ -837,6 +845,162 @@ static struct compute_test compute_tests[] = {
> >  				}
> >  			}
> >  		}
> > +	},
> > +	{
> > +		.mnemonic = "divde",
> > +		.subtests = {
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MIN",
> > +				.instr = TEST_DIVDE(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MIN,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = 1L, RB = 0",
> > +				.instr = TEST_DIVDE(20, 21, 22),
> > +				.flags = IGNORE_GPR(20),
> > +				.regs = {
> > +					.gpr[21] = 1L,
> > +					.gpr[22] = 0,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MAX",
> > +				.instr = TEST_DIVDE(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MAX,
> > +				}
> > +			}
> > +		}
> > +	},
> > +	{
> > +		.mnemonic = "divde.",
> > +		.subtests = {
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MIN",
> > +				.instr = TEST_DIVDE_DOT(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MIN,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = 1L, RB = 0",
> > +				.instr = TEST_DIVDE_DOT(20, 21, 22),
> > +				.flags = IGNORE_GPR(20),
> > +				.regs = {
> > +					.gpr[21] = 1L,
> > +					.gpr[22] = 0,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MAX",
> > +				.instr = TEST_DIVDE_DOT(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MAX,
> > +				}
> > +			}
> > +		}
> > +	},
> > +	{
> > +		.mnemonic = "divdeu",
> > +		.subtests = {
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MIN",
> > +				.instr = TEST_DIVDEU(20, 21, 22),
> > +				.flags = IGNORE_GPR(20),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MIN,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = 1L, RB = 0",
> > +				.instr = TEST_DIVDEU(20, 21, 22),
> > +				.flags = IGNORE_GPR(20),
> > +				.regs = {
> > +					.gpr[21] = 1L,
> > +					.gpr[22] = 0,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = LONG_MIN, RB = LONG_MAX",
> > +				.instr = TEST_DIVDEU(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MIN,
> > +					.gpr[22] = LONG_MAX,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = LONG_MAX - 1, RB = LONG_MAX",
> > +				.instr = TEST_DIVDEU_DOT(20, 21, 22),
> > +				.regs = {
> > +					.gpr[21] = LONG_MAX - 1,
> > +					.gpr[22] = LONG_MAX,
> > +				}
> > +			},
> > +			{
> > +				.descr = "RA = LONG_MIN + 1, RB = LONG_MIN",
> > +				.instr = TEST_DIVDEU_DOT(20, 21, 22),
> 
> I think you meant to use TEST_DIVDEU here ^^^^^ and in the test before, 
> rather than TEST_DIVDEU_DOT.

yes indeed, I will fix it in my next version.

> 
> Apart from them, for this series:
> Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>

Thank you Naveen for reviewing.

-- Bala
> 
> 
> - Naveen
> 


      reply	other threads:[~2020-04-01 11:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-20  6:54 [PATCH v3 0/3] Add support for divde[.] and divdeu[.] instruction emulation Balamuruhan S
2020-01-20  6:54 ` [PATCH v3 1/3] powerpc ppc-opcode: add divde and divdeu opcodes Balamuruhan S
2020-01-20  6:54 ` [PATCH v3 2/3] powerpc sstep: add support for divde[.] and divdeu[.] instructions Balamuruhan S
2020-01-20  6:54 ` [PATCH v3 3/3] powerpc test_emulate_step: add testcases " Balamuruhan S
2020-04-01 10:56   ` Naveen N. Rao
2020-04-01 11:21     ` Balamuruhan S [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ffed5d5bb476fd8c88980039ffddce6e0c3e678.camel@linux.ibm.com \
    --to=bala24@linux.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    --cc=ravi.bangoria@linux.ibm.com \
    --cc=sandipan@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).