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

Add GCC Armv8-A 32-bit test in CI & fix issues #1116

Merged
merged 2 commits into from
Mar 22, 2024

Conversation

Cuda-Chen
Copy link
Contributor

@Cuda-Chen Cuda-Chen commented Dec 14, 2023

Close #1106.

@mr-c
Copy link
Collaborator

mr-c commented Dec 14, 2023

Congratulations, you have found a compiler bug in GCC 12.3.0!

FAILED: test/arm/neon/add-native-cpp.p/meson-generated_.._add.cpp.o 
arm-linux-gnueabihf-g++-12 -Itest/arm/neon/add-native-cpp.p -Itest/arm/neon -I../test/arm/neon -I. -I.. -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -g -mcpu=cortex-a32 -mfpu=crypto-neon-fp-armv8 -Wextra -Werror -fopenmp-simd -DSIMDE_CONSTRAINED_COMPILATION -DSIMDE_ENABLE_OPENMP -Wno-psabi -DSIMDE_TEST_BARE -MD -MQ test/arm/neon/add-native-cpp.p/meson-generated_.._add.cpp.o -MF test/arm/neon/add-native-cpp.p/meson-generated_.._add.cpp.o.d -o test/arm/neon/add-native-cpp.p/meson-generated_.._add.cpp.o -c test/arm/neon/add.cpp
during RTL pass: expand
test/arm/neon/add.cpp: In function ‘int test_simde_vaddq_p128()’:
test/arm/neon/add.cpp:2054:7: internal compiler error: in expand_shift_1, at expmed.cc:2680
 2054 |     a = a << 64;
      |     ~~^~~~~~~~~
0x180394b internal_error(char const*, ...)
	???:0
0x646a1c fancy_abort(char const*, int, char const*)
	???:0
0x9f64b7 expand_variable_shift(tree_code, machine_mode, rtx_def*, tree_node*, rtx_def*, int)
	???:0
0xa06ead expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier)
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.

https://github.com/simd-everywhere/simde/actions/runs/7211555742/job/19647295647#step:9:1177

@Cuda-Chen
Copy link
Contributor Author

Hi @mr-c,

Thanks for your assistance!
While submitting the bug report to GCC, I will try different GCC version so that we can first merge this PR without encountering any GCC bugs.

@Cuda-Chen
Copy link
Contributor Author

Hi @mr-c,

Thanks for your assistance! While submitting the bug report to GCC, I will try different GCC version so that we can first merge this PR without encountering any GCC bugs.

After my testing, the error still exists when compiling with GCC 11.4.0 or 10.5.0.
I will first file the bug report to GCC.

@mr-c
Copy link
Collaborator

mr-c commented Feb 6, 2024

@Cuda-Chen Any update?

@Cuda-Chen
Copy link
Contributor Author

Hi @mr-c ,

It seems that GCC part does not have any updates.
For convenience, I attach the bug tracking ticket here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113065

@mr-c
Copy link
Collaborator

mr-c commented Feb 9, 2024

@Cuda-Chen Thanks for filing the GCC bug! I've added a workaround, lets see if that is enough.

@Cuda-Chen
Copy link
Contributor Author

Hi @mr-c ,

Sorry for the late reply.
It seems that the simde_x_aes_inv_s_box fails as the compiler cannot find the declaration.
I think we can try to dig in from here.

@mr-c mr-c force-pushed the add-armv8-32bit-test branch 3 times, most recently from cfa9c12 to cc0521f Compare March 20, 2024 17:12
@mr-c mr-c marked this pull request as ready for review March 20, 2024 17:12
@mr-c mr-c changed the title Add GCC Armv8-A 32-bit test in CI Add GCC Armv8-A 32-bit test in CI & fix issues Mar 20, 2024
@mr-c mr-c merged commit 22900e6 into simd-everywhere:master Mar 22, 2024
87 of 88 checks passed
@mr-c
Copy link
Collaborator

mr-c commented Mar 22, 2024

Thank you @Cuda-Chen !

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

Successfully merging this pull request may close these issues.

CI: needs gcc arm 32bit armv8-a test
2 participants