mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
@ 2018-09-12 16:58 Guenter Roeck
  2018-09-12 17:06 ` Vineet Gupta
  2018-10-11 21:22 ` Alexey Brodkin
  0 siblings, 2 replies; 6+ messages in thread
From: Guenter Roeck @ 2018-09-12 16:58 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: linux-snps-arc, linux-kernel

Hi,

On Fri, Sep 07, 2018 at 03:13:10PM -0700, Vineet Gupta wrote:
> helps gcc with better instruction selections such as 64-bit multiply MPYD
> 
> before
> ------
> 82c34b58 <sched_clock>:
> 82c34b58:	ld	r2,[0x83068d00]
> 82c34b60:	add_s	r2,r2,0x7530
> 82c34b66:	mov_s	r0,0x989680
> 82c34b6c:	mpymu	r5,r2,r0
> 82c34b70:	mpy	r4,r2,r0
> 82c34b74:	mov_s	r0,r4
> 82c34b76:	j_s.d	[blink]
> 82c34b78:	mov_s	r1,r5
> 82c34b7a:	nop_s
> 
> after
> ------
> 82c34b7c <sched_clock>:
> 82c34b7c:	ld	r0,[0x83064d00]
> 82c34b84:	add_s	r0,r0,0x7530
> 82c34b8a:	mpydu	r0,r0,0x989680
> 82c34b92:	j_s	[blink]
> 
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

This patch causes my arc2 test builds to fail

Building arc:axs103_defconfig ... failed
--------------
Error log:

standard input}: Assembler messages:
{standard input}:154: Error: inappropriate arguments for opcode 'st'
{standard input}:157: Error: Insn j_s has a jump/branch instruction j_s in its delay slot.
{standard input}:186: Error: inappropriate arguments for opcode 'st'
make[3]: *** [net/core/dev.o] Error 1
make[2]: *** [net/core] Error 2

Building arc:nsim_hs_smp_defconfig ... failed
--------------
Error log:
{standard input}: Assembler messages:
{standard input}:218: Error: inappropriate arguments for opcode 'st'
{standard input}:9329: Error: inappropriate arguments for opcode 'st'

Building arc:vdk_hs38_smp_defconfig ... failed
--------------
Error log:

{standard input}: Assembler messages:
{standard input}:9629: Error: inappropriate arguments for opcode 'st'
{standard input}:9883: Error: inappropriate arguments for opcode 'st'

I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
of gcc and binutils do I need for the builds to complete ?

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
  2018-09-12 16:58 [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs Guenter Roeck
@ 2018-09-12 17:06 ` Vineet Gupta
  2018-09-12 17:30   ` Guenter Roeck
  2018-09-12 21:41   ` Guenter Roeck
  2018-10-11 21:22 ` Alexey Brodkin
  1 sibling, 2 replies; 6+ messages in thread
From: Vineet Gupta @ 2018-09-12 17:06 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Claudiu Zissulescu, linux-snps-arc, linux-kernel

On 09/12/2018 09:58 AM, Guenter Roeck wrote:
> Hi,
>
> On Fri, Sep 07, 2018 at 03:13:10PM -0700, Vineet Gupta wrote:
>> helps gcc with better instruction selections such as 64-bit multiply MPYD
>>
>> before
>> ------
>> 82c34b58 <sched_clock>:
>> 82c34b58:	ld	r2,[0x83068d00]
>> 82c34b60:	add_s	r2,r2,0x7530
>> 82c34b66:	mov_s	r0,0x989680
>> 82c34b6c:	mpymu	r5,r2,r0
>> 82c34b70:	mpy	r4,r2,r0
>> 82c34b74:	mov_s	r0,r4
>> 82c34b76:	j_s.d	[blink]
>> 82c34b78:	mov_s	r1,r5
>> 82c34b7a:	nop_s
>>
>> after
>> ------
>> 82c34b7c <sched_clock>:
>> 82c34b7c:	ld	r0,[0x83064d00]
>> 82c34b84:	add_s	r0,r0,0x7530
>> 82c34b8a:	mpydu	r0,r0,0x989680
>> 82c34b92:	j_s	[blink]
>>
>> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> This patch causes my arc2 test builds to fail
>
> Building arc:axs103_defconfig ... failed
> --------------
> Error log:
>
> standard input}: Assembler messages:
> {standard input}:154: Error: inappropriate arguments for opcode 'st'
> {standard input}:157: Error: Insn j_s has a jump/branch instruction j_s in its delay slot.
> {standard input}:186: Error: inappropriate arguments for opcode 'st'
> make[3]: *** [net/core/dev.o] Error 1
> make[2]: *** [net/core] Error 2
>
> Building arc:nsim_hs_smp_defconfig ... failed
> --------------
> Error log:
> {standard input}: Assembler messages:
> {standard input}:218: Error: inappropriate arguments for opcode 'st'
> {standard input}:9329: Error: inappropriate arguments for opcode 'st'
>
> Building arc:vdk_hs38_smp_defconfig ... failed
> --------------
> Error log:
>
> {standard input}: Assembler messages:
> {standard input}:9629: Error: inappropriate arguments for opcode 'st'
> {standard input}:9883: Error: inappropriate arguments for opcode 'st'
>
> I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> of gcc and binutils do I need for the builds to complete ?

Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
the issue above when building net/core/dev.o
I presume your toolchain was built off of upstream gcc sources.
Can you please post the output of your arc-linux*gcc -v

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
  2018-09-12 17:06 ` Vineet Gupta
@ 2018-09-12 17:30   ` Guenter Roeck
  2018-09-12 21:41   ` Guenter Roeck
  1 sibling, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2018-09-12 17:30 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: Claudiu Zissulescu, linux-snps-arc, linux-kernel

On Wed, Sep 12, 2018 at 05:06:25PM +0000, Vineet Gupta wrote:
> 
> Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
> the issue above when building net/core/dev.o
> I presume your toolchain was built off of upstream gcc sources.

Yes, using buildroot.

> Can you please post the output of your arc-linux*gcc -v
> 

Here you are:

Using built-in specs.
COLLECT_GCC=/opt/kernel/arcv2/gcc-7.3.0/bin/arc-linux-gcc.br_real
COLLECT_LTO_WRAPPER=/opt/kernel/arcv2/gcc-7.3.0/bin/../libexec/gcc/arc-buildroot-linux-uclibc/7.3.0/lto-wrapper
Target: arc-buildroot-linux-uclibc
Configured with: ./configure --prefix=/opt/buildbot/buildroot/output/host
--sysconfdir=/opt/buildbot/buildroot/output/host/etc --enable-static
--target=arc-buildroot-linux-uclibc
--with-sysroot=/opt/buildbot/buildroot/output/host/arc-buildroot-linux-uclibc/sysroot
--disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib
--with-gmp=/opt/buildbot/buildroot/output/host
--with-mpc=/opt/buildbot/buildroot/output/host
--with-mpfr=/opt/buildbot/buildroot/output/host --with-pkgversion='Buildroot
2018.02.2-00017-gea0e6fa-dirty' --with-bugurl=http://bugs.buildroot.net/
--disable-libquadmath --disable-libsanitizer --enable-tls --disable-libmudflap
--enable-threads --without-isl --without-cloog --disable-decimal-float
--with-cpu=archs --enable-languages=c
--with-build-time-tools=/opt/buildbot/buildroot/output/host/arc-buildroot-linux-uclibc/bin
--enable-shared --disable-libgomp
Thread model: posix
gcc version 7.3.0 (Buildroot 2018.02.2-00017-gea0e6fa-dirty) 

Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
  2018-09-12 17:06 ` Vineet Gupta
  2018-09-12 17:30   ` Guenter Roeck
@ 2018-09-12 21:41   ` Guenter Roeck
  1 sibling, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2018-09-12 21:41 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: Claudiu Zissulescu, linux-snps-arc, linux-kernel

On Wed, Sep 12, 2018 at 05:06:25PM +0000, Vineet Gupta wrote:
> >
> > I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> > of gcc and binutils do I need for the builds to complete ?
> 
> Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
> the issue above when building net/core/dev.o
> I presume your toolchain was built off of upstream gcc sources.
> Can you please post the output of your arc-linux*gcc -v
> 

I decided to build a new toolchain with gcc 8.2.0 and binutils 2.31.1.
Problem solved ... building with this toolchain works.

Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
  2018-09-12 16:58 [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs Guenter Roeck
  2018-09-12 17:06 ` Vineet Gupta
@ 2018-10-11 21:22 ` Alexey Brodkin
  2018-10-11 21:47   ` Guenter Roeck
  1 sibling, 1 reply; 6+ messages in thread
From: Alexey Brodkin @ 2018-10-11 21:22 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-snps-arc, linux-kernel, Vineet Gupta

Hu Guenter,

> -----Original Message-----
> From: linux-snps-arc [mailto:linux-snps-arc-bounces@lists.infradead.org] On Behalf Of Guenter Roeck
> Sent: Wednesday, September 12, 2018 7:58 PM
> To: Vineet Gupta <vineet.gupta1@synopsys.com>
> Cc: linux-snps-arc@lists.infradead.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
> 
> Hi,
> 
> On Fri, Sep 07, 2018 at 03:13:10PM -0700, Vineet Gupta wrote:
> > helps gcc with better instruction selections such as 64-bit multiply MPYD
> >
> > before
> > ------
> > 82c34b58 <sched_clock>:
> > 82c34b58:	ld	r2,[0x83068d00]
> > 82c34b60:	add_s	r2,r2,0x7530
> > 82c34b66:	mov_s	r0,0x989680
> > 82c34b6c:	mpymu	r5,r2,r0
> > 82c34b70:	mpy	r4,r2,r0
> > 82c34b74:	mov_s	r0,r4
> > 82c34b76:	j_s.d	[blink]
> > 82c34b78:	mov_s	r1,r5
> > 82c34b7a:	nop_s
> >
> > after
> > ------
> > 82c34b7c <sched_clock>:
> > 82c34b7c:	ld	r0,[0x83064d00]
> > 82c34b84:	add_s	r0,r0,0x7530
> > 82c34b8a:	mpydu	r0,r0,0x989680
> > 82c34b92:	j_s	[blink]
> >
> > Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> 
> This patch causes my arc2 test builds to fail
> 
> Building arc:axs103_defconfig ... failed
> --------------
> Error log:
> 
> standard input}: Assembler messages:
> {standard input}:154: Error: inappropriate arguments for opcode 'st'
> {standard input}:157: Error: Insn j_s has a jump/branch instruction j_s in its delay slot.
> {standard input}:186: Error: inappropriate arguments for opcode 'st'
> make[3]: *** [net/core/dev.o] Error 1
> make[2]: *** [net/core] Error 2
> 
> Building arc:nsim_hs_smp_defconfig ... failed
> --------------
> Error log:
> {standard input}: Assembler messages:
> {standard input}:218: Error: inappropriate arguments for opcode 'st'
> {standard input}:9329: Error: inappropriate arguments for opcode 'st'
> 
> Building arc:vdk_hs38_smp_defconfig ... failed
> --------------
> Error log:
> 
> {standard input}: Assembler messages:
> {standard input}:9629: Error: inappropriate arguments for opcode 'st'
> {standard input}:9883: Error: inappropriate arguments for opcode 'st'
> 
> I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> of gcc and binutils do I need for the builds to complete ?

I would strongly recommend to use GCC 8.2+ for ARC as there were
quite some improvements and fixes done for ARC.

You may use master branch of Crosstool-NG for building uClibc multilib toolchain
for ARC based on Binutils 2.31.1 and GCC 8.2.0.

Just say "./ct-ng arc-multilib-linux-uclibc" for that.
For me freshly-built tools were able to build Vineet's today's "for-curr" tree
with mentioned patch perfectly fine.

-Alexey

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
  2018-10-11 21:22 ` Alexey Brodkin
@ 2018-10-11 21:47   ` Guenter Roeck
  0 siblings, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2018-10-11 21:47 UTC (permalink / raw)
  To: Alexey Brodkin; +Cc: linux-snps-arc, linux-kernel, Vineet Gupta

Hi Alexey,

On Thu, Oct 11, 2018 at 09:22:50PM +0000, Alexey Brodkin wrote:
> Hu Guenter,
> 
> > -----Original Message-----
> > From: linux-snps-arc [mailto:linux-snps-arc-bounces@lists.infradead.org] On Behalf Of Guenter Roeck
> > Sent: Wednesday, September 12, 2018 7:58 PM
> > To: Vineet Gupta <vineet.gupta1@synopsys.com>
> > Cc: linux-snps-arc@lists.infradead.org; linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
> > 
> > Hi,
> > 
> > On Fri, Sep 07, 2018 at 03:13:10PM -0700, Vineet Gupta wrote:
> > > helps gcc with better instruction selections such as 64-bit multiply MPYD
> > >
> > > before
> > > ------
> > > 82c34b58 <sched_clock>:
> > > 82c34b58:	ld	r2,[0x83068d00]
> > > 82c34b60:	add_s	r2,r2,0x7530
> > > 82c34b66:	mov_s	r0,0x989680
> > > 82c34b6c:	mpymu	r5,r2,r0
> > > 82c34b70:	mpy	r4,r2,r0
> > > 82c34b74:	mov_s	r0,r4
> > > 82c34b76:	j_s.d	[blink]
> > > 82c34b78:	mov_s	r1,r5
> > > 82c34b7a:	nop_s
> > >
> > > after
> > > ------
> > > 82c34b7c <sched_clock>:
> > > 82c34b7c:	ld	r0,[0x83064d00]
> > > 82c34b84:	add_s	r0,r0,0x7530
> > > 82c34b8a:	mpydu	r0,r0,0x989680
> > > 82c34b92:	j_s	[blink]
> > >
> > > Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> > 
> > This patch causes my arc2 test builds to fail
> > 
> > Building arc:axs103_defconfig ... failed
> > --------------
> > Error log:
> > 
> > standard input}: Assembler messages:
> > {standard input}:154: Error: inappropriate arguments for opcode 'st'
> > {standard input}:157: Error: Insn j_s has a jump/branch instruction j_s in its delay slot.
> > {standard input}:186: Error: inappropriate arguments for opcode 'st'
> > make[3]: *** [net/core/dev.o] Error 1
> > make[2]: *** [net/core] Error 2
> > 
> > Building arc:nsim_hs_smp_defconfig ... failed
> > --------------
> > Error log:
> > {standard input}: Assembler messages:
> > {standard input}:218: Error: inappropriate arguments for opcode 'st'
> > {standard input}:9329: Error: inappropriate arguments for opcode 'st'
> > 
> > Building arc:vdk_hs38_smp_defconfig ... failed
> > --------------
> > Error log:
> > 
> > {standard input}: Assembler messages:
> > {standard input}:9629: Error: inappropriate arguments for opcode 'st'
> > {standard input}:9883: Error: inappropriate arguments for opcode 'st'
> > 
> > I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> > of gcc and binutils do I need for the builds to complete ?
> 
> I would strongly recommend to use GCC 8.2+ for ARC as there were
> quite some improvements and fixes done for ARC.
> 
> You may use master branch of Crosstool-NG for building uClibc multilib toolchain
> for ARC based on Binutils 2.31.1 and GCC 8.2.0.
> 

Yes, I had figured that out a couple of weeks ago and already switched
to those revisions.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-11 21:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-12 16:58 [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs Guenter Roeck
2018-09-12 17:06 ` Vineet Gupta
2018-09-12 17:30   ` Guenter Roeck
2018-09-12 21:41   ` Guenter Roeck
2018-10-11 21:22 ` Alexey Brodkin
2018-10-11 21:47   ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome