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

Vineet Gupta Vineet.Gupta1 at synopsys.com
Wed Sep 30 17:39:25 EDT 2020


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.

> 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