[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/28078] New: arm: fails to build when using armv8 neon with dot
From: |
happyalu at gmail dot com |
Subject: |
[Bug gas/28078] New: arm: fails to build when using armv8 neon with dotprod extension |
Date: |
Mon, 12 Jul 2021 04:50:04 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=28078
Bug ID: 28078
Summary: arm: fails to build when using armv8 neon with
dotprod extension
Product: binutils
Version: 2.36.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: happyalu at gmail dot com
Target Milestone: ---
I was trying to build tensorflow-lite v2.5 with a custom toolchain that was
using binutils 2.36.1. The build failed when building the xnnpack project with
an error:
/tmp/ccMSJOfk.s:380: Error: selected processor does not support `vsdot.s8
q12,q9,d11[0]' in ARM mode
Some of my notes about this issue are here:
https://github.com/google/XNNPACK/issues/1465#issuecomment-877910701
Following is a minimal example to reproduce this:
// file: test.c
#include <arm_neon.h>
int32x2_t test(int32x2_t a, int8x8_t b, int8x8_t c) {
return vdot_lane_s32(a, b, c, 1);
}
// EOF
$ arm-unknown-linux-gnueabihf-gcc -march=armv8.2-a+dotprod -mfpu=neon-fp-armv8
test.c -S -o test.s
$ arm-unknown-linux-gnueabihf-as -march=armv8.2-a+dotprod -mfpu=neon-fp-armv8
test.s
/tmp/cc7vCQog.s: Assembler messages:
/tmp/cc7vCQog.s:42: Error: selected processor does not support `vsdot.s8
d17,d16,d7[1]' in ARM mode
This happens with gcc 8, 9 and 10. Binutils 2.32, 2.33.1 works. Binutils 2.34
and later does not build.
This seems to be related to commit
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f439988037a589de3798f44e7268301adaec21a9
that changed the behavior of fpu directives.
The generated assembly has the following snippet:
.arch armv8.2-a
.arch_extension dotprod
.syntax unified
.arm
.fpu neon-fp-armv8
The fpu directive basically cancels the dotprod extension setup just above.
I also see later commits that have changed MVE and CRC to CORE_HIGH section;
not sure if something like that is relevant for dotprod.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gas/28078] New: arm: fails to build when using armv8 neon with dotprod extension,
happyalu at gmail dot com <=
- [Bug gas/28078] arm: fails to build when using armv8 neon with dotprod extension, happyalu at gmail dot com, 2021/07/12
- [Bug gas/28078] arm: fails to build when using armv8 neon with dotprod extension, tnfchris at sourceware dot org, 2021/07/13
- [Bug gas/28078] arm: fails to build when using armv8 neon with dotprod extension, happyalu at gmail dot com, 2021/07/13
- [Bug gas/28078] arm: fails to build when using armv8 neon with dotprod extension, tnfchris at sourceware dot org, 2021/07/13
- [Bug gas/28078] arm: fails to build when using armv8 neon with dotprod extension, rearnsha at gcc dot gnu.org, 2021/07/13