Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu build failed #1211

Closed
Qingwu-Li opened this issue Aug 30, 2024 · 3 comments
Closed

Comments

@Qingwu-Li
Copy link
Contributor

The issue was introduced from commit d08d67c , which is gone after reverting this commit.
The issue was found with arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.
the same issue was found with my yocto-generated arm64 gcc version 11.4.
but there is no issue with arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu

Here is the detail
cross file

[binaries]
c = 'aarch64-none-linux-gnu-gcc'
cpp = 'aarch64-none-linux-gnu-g++'
ar = 'aarch64-none-linux-gnu-ar'
strip = 'aarch64-none-linux-gnu-strip'
objcopy = 'aarch64-none-linux-gnu-objcopy'
ld = 'aarch64-none-linux-gnu-ld'


[properties]
c_args = ['-march=armv8-a+simd', '-Wextra', '-Werror']
cpp_args = ['-march=armv8-a+simd', '-Wextra', '-Werror']

[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'

logs

aarch64-none-linux-gnu-gcc -Itest/arm/neon/cadd_rot270-emul-c.p -Itest/arm/neon -I../test/arm/neon -I. -I.. -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -g -march=armv8-a+simd -Wextra -Werror -fopenmp-simd -DSIMDE_CONSTRAINED_COMPILATION -DSIMDE_ENABLE_OPENMP -Wno-psabi -DSIMDE_TEST_BARE -DSIMDE_NO_NATIVE -MD -MQ test/arm/neon/cadd_rot270-emul-c.p/cadd_rot270.c.o -MF test/arm/neon/cadd_rot270-emul-c.p/cadd_rot270.c.o.d -o test/arm/neon/cadd_rot270-emul-c.p/cadd_rot270.c.o -c ../test/arm/neon/cadd_rot270.c
In file included from ../test/arm/neon/../../test.h:5,
                 from ../test/arm/neon/test-neon.h:4,
                 from ../test/arm/neon/cadd_rot270.c:3:
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h: In function ‘simde_vcadd_rot270_f16’:
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:57:77: error: excess elements in vector initializer [-Werror]
   57 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 4, -b_.values, b_.values, 5, 0, 7, 2);
      |                                                                             ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:57:77: note: (near initialization for ‘simde_shuffle_’)
   57 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 4, -b_.values, b_.values, 5, 0, 7, 2);
      |                                                                             ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:57:80: error: excess elements in vector initializer [-Werror]
   57 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 4, -b_.values, b_.values, 5, 0, 7, 2);
      |                                                                                ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:57:80: note: (near initialization for ‘simde_shuffle_’)
   57 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 4, -b_.values, b_.values, 5, 0, 7, 2);
      |                                                                                ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/simde-common.h:307:12: error: ‘__builtin_shuffle’ number of elements of the argument vector(s) and the mask vector should be the same
  307 |            __builtin_shuffle(a, b, simde_shuffle_); \
      |            ^~~~~~~~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:57:19: note: in expansion of macro ‘SIMDE_SHUFFLE_VECTOR_’
   57 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 4, -b_.values, b_.values, 5, 0, 7, 2);
      |                   ^~~~~~~~~~~~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h: In function ‘simde_vcaddq_rot270_f16’:
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:84: error: excess elements in vector initializer [-Werror]
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                    ^~
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:84: note: (near initialization for ‘simde_shuffle_’)
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                    ^~
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:88: error: excess elements in vector initializer [-Werror]
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                        ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:88: note: (near initialization for ‘simde_shuffle_’)
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                        ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:91: error: excess elements in vector initializer [-Werror]
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                           ^~
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:91: note: (near initialization for ‘simde_shuffle_’)
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                           ^~
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:95: error: excess elements in vector initializer [-Werror]
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                               ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:95: note: (near initialization for ‘simde_shuffle_’)
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                                                                                               ^
../test/arm/neon/../../../simde/simde-common.h:306:71: note: in definition of macro ‘SIMDE_SHUFFLE_VECTOR_’
  306 |          int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
      |                                                                       ^~~~~~~~~~~
../test/arm/neon/../../../simde/simde-common.h:307:12: error: ‘__builtin_shuffle’ number of elements of the argument vector(s) and the mask vector should be the same
  307 |            __builtin_shuffle(a, b, simde_shuffle_); \
      |            ^~~~~~~~~~~~~~~~~
../test/arm/neon/../../../simde/arm/neon/cadd_rot270.h:93:19: note: in expansion of macro ‘SIMDE_SHUFFLE_VECTOR_’
   93 |       b_.values = SIMDE_SHUFFLE_VECTOR_(16, 8, -b_.values, b_.values, 9, 0, 11, 2, 13, 4, 15, 6);
      |                   ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
@Qingwu-Li Qingwu-Li changed the title aarch64-none-linux-gnu-gcc 11.3 build failed arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu build failed Aug 30, 2024
@gmarcusm
Copy link

gmarcusm commented Sep 3, 2024

I can confirm this error happens with a fresh checkout in a aarch64 processor running Ubuntu 22.04 and gcc 11.4.0.

I had to go all the way back to v0.7.6 for it to compile successfully.

@Qingwu-Li
Copy link
Contributor Author

I can confirm this error happens with a fresh checkout in a aarch64 processor running Ubuntu 22.04 and gcc 11.4.0.

I had to go all the way back to v0.7.6 for it to compile successfully.

Exactly, v0.7.6 is the last version that can be compiled with arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.

Qingwu-Li added a commit to Qingwu-Li/WebKit that referenced this issue Sep 5, 2024
The following file build failed for aarch64 with gcc 11,
and no function call from webkit from them, do not build
then as a workaround. see issue [1].

simde/arm/neon/cadd_rot270.h
simde/arm/neon/cadd_rot90.h
simde/arm/neon/cmla_lane.h
simde/arm/neon/cmla_rot180_lane.h
simde/arm/neon/cmla_rot270_lane.h
simde/arm/neon/cmla_rot90_lane.h

Link: [1]: simd-everywhere/simde#1211

Signed-off-by: LI Qingwu <[email protected]>
Qingwu-Li added a commit to Qingwu-Li/WebKit that referenced this issue Sep 6, 2024
The following file build failed for aarch64 with gcc 11,
and no function call from webkit from them, do not build
then as a workaround. see issue [1].

simde/arm/neon/cadd_rot270.h
simde/arm/neon/cadd_rot90.h
simde/arm/neon/cmla_lane.h
simde/arm/neon/cmla_rot180_lane.h
simde/arm/neon/cmla_rot270_lane.h
simde/arm/neon/cmla_rot90_lane.h

Link: [1]: simd-everywhere/simde#1211

Signed-off-by: LI Qingwu <[email protected]>
Qingwu-Li added a commit to Qingwu-Li/WebKit that referenced this issue Sep 6, 2024
Compilation of Source/WTF/wtf/simde/arm/neon.h failed when using
ARM GCC 11. This header is generated from simd-everywhere,
simd-everywhere encountering the same issue when building
following files:
- simde/arm/neon/cadd_rot270.h
- simde/arm/neon/cadd_rot90.h
- simde/arm/neon/cmla_lane.h
- simde/arm/neon/cmla_rot180_lane.h
- simde/arm/neon/cmla_rot270_lane.h
- simde/arm/neon/cmla_rot90_lane.h

WebKit does not call any functions from those files,
so they are excluded from the build as a workaround.

Refer to issue [1] for more details.

Link: [1]: simd-everywhere/simde#1211

Signed-off-by: LI Qingwu <[email protected]>
Qingwu-Li added a commit to Qingwu-Li/simde that referenced this issue Sep 9, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
Qingwu-Li added a commit to Qingwu-Li/simde that referenced this issue Sep 10, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
mr-c pushed a commit to Qingwu-Li/simde that referenced this issue Sep 10, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
mr-c pushed a commit to Qingwu-Li/simde that referenced this issue Sep 11, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
mr-c pushed a commit to Qingwu-Li/simde that referenced this issue Sep 11, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
Qingwu-Li added a commit to Qingwu-Li/WebKit that referenced this issue Sep 12, 2024
Compilation of Source/WTF/wtf/simde/arm/neon.h failed when using
ARM GCC 11. This header is generated from simd-everywhere,
simd-everywhere encountering the same issue when building
following files:
- simde/arm/neon/cadd_rot270.h
- simde/arm/neon/cadd_rot90.h
- simde/arm/neon/cmla_lane.h
- simde/arm/neon/cmla_rot180_lane.h
- simde/arm/neon/cmla_rot270_lane.h
- simde/arm/neon/cmla_rot90_lane.h

WebKit does not call any functions from those files,
so they are excluded from the build as a workaround.

Refer to issue [1] for more details.

Link: [1]: simd-everywhere/simde#1211

Signed-off-by: LI Qingwu <[email protected]>
mr-c pushed a commit to Qingwu-Li/simde that referenced this issue Sep 12, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
mr-c pushed a commit that referenced this issue Sep 12, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue #1211.

Signed-off-by: LI Qingwu <[email protected]>
@Qingwu-Li
Copy link
Contributor Author

Fixed in #1216

AlexK-BD pushed a commit to AlexK-BD/simde that referenced this issue Nov 7, 2024
Resolved a build failure on ARM64 with GCC 11 caused by excess
elements in a vector initializer. The issue stemmed from the
`__builtin_shuffle` function, where the number of elements in
the argument vector(s) and the mask vector must match.

For more details, refer to issue simd-everywhere#1211.

Signed-off-by: LI Qingwu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants