{standard input}:1174: Error: inappropriate arguments for opcode 'mpydu' (fwd)

Nicolas Pitre nico at fluxnic.net
Wed Sep 30 17:56:39 EDT 2020


On Wed, 30 Sep 2020, Vineet Gupta wrote:

> Hi Nicolas,
> 
> On 9/30/20 2:23 PM, Nicolas Pitre wrote:
> > Hello,
> >
> > I just realized you might not be aware of the following issue.
> >
> > The kernel kbuild test robot project identified a build failure on ARC 
> > that bisects down to a patch of mine. 
> 
> Your patch to Linux kernel ? Indeed the report we got for build failure didn't
> provide that context and we will appreciate pointers to same just for curiosity.

Here is the original report:

https://www.spinics.net/lists/kernel/msg3596096.html

> > It turns out that my patch is 
> > highlighting a bug in gcc for ARC.
> 
> In any case, we did reach the same conclusion it is indeed an ARC gcc bug (for Big
> endian builds only) and have created a github ticket for our gcc maintainer to
> resolve. Please note that we've not seen it internally as Big Endian is an
> optional configuration option and not in wide spread use for us.
> 
> https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/300
> 
> 
> And we can also confirm this is seen in gcc 9 and gcc 10 both.
> 
> Thx,
> -Vineet
> 
> >
> > ---------- Forwarded message ----------
> > Date: Mon, 28 Sep 2020 17:43:20 -0400 (EDT)
> > From: Nicolas Pitre <nico at fluxnic.net>
> > To: Rong Chen <rong.a.chen at intel.com>
> > Cc: kernel test robot <lkp at intel.com>, kbuild-all at lists.01.org,
> >     linux-kernel at vger.kernel.org, Arnd Bergmann <arnd at arndb.de>, gcc at gcc.gnu.org
> > Message-ID: <nycvar.YSQ.7.78.906.2009281705410.1581 at knanqh.ubzr>
> > Subject: Re: {standard input}:1174: Error: inappropriate arguments for opcode
> >     'mpydu'
> >
> > On Sun, 27 Sep 2020, Rong Chen wrote:
> >
> >> Hi Nicolas,
> >>
> >> Thanks for the feedback, the error still remains with gcc 10.2.0:
> > I've created the simplest test case that can be. You won't believe it.
> >
> > Test case:
> >
> > $ cat test.c
> > unsigned int test(unsigned int x, unsigned long long y)
> > {
> > 	y /= 0x20000000;
> > 	if (x > 1)
> > 		y *= x;
> > 	return y;
> > }
> > $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/0day/gcc-9.3.0-nolibc/arc-elf/libexec/gcc/arc-elf/9.3.0
> > $ ~/0day/gcc-9.3.0-nolibc/arc-elf/bin/arc-elf-gcc -mcpu=hs38 -mbig-endian -O2 -c test.c
> > /tmp/cc0GAomh.s: Assembler messages:
> > /tmp/cc0GAomh.s:21: Error: inappropriate arguments for opcode 'mpydu'
> >
> > I know nothing about ARC. Please anyone take it over from here.
> >
> >
> > Nicolas
> 
> 



More information about the linux-snps-arc mailing list