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

Build failure on armv7l-linux and riscv64-linux (11.2.0, 12.0.0) (error: 'batch_bool_cast' was not declared in this scope) #986

Closed
misuzu opened this issue Dec 4, 2023 · 2 comments

Comments

@misuzu
Copy link

misuzu commented Dec 4, 2023

xsimd fails to build on armv7l-linux and riscv64-linux since 11.2.0, x86_64-linux and aarch64-linux have no issues

<.................>
[  5%] Building CXX object test/CMakeFiles/test_xsimd.dir/test_api.cpp.o
In file included from /build/source/include/xsimd/types/../arch/./xsimd_generic.hpp:18,
                 from /build/source/include/xsimd/types/../arch/xsimd_isa.hpp:92,
                 from /build/source/include/xsimd/types/xsimd_batch.hpp:492,
                 from /build/source/include/xsimd/xsimd.hpp:61,
                 from /build/source/test/test_api.cpp:12:
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp: In function 'xsimd::batch<float, A> xsimd::kernel::cbrt(const xsimd::batch<float, A>&, requires_arch<xsimd::generic>)':
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp:152:45: error: 'batch_bool_cast' was not declared in this scope; did you mean 'batch_cast'?
  152 |             const batch_type cbrt2 = select(batch_bool_cast<float>(flag), CBRT2, CBRT2I);
      |                                             ^~~~~~~~~~~~~~~
      |                                             batch_cast
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp:152:61: error: expected primary-expression before 'float'
  152 |             const batch_type cbrt2 = select(batch_bool_cast<float>(flag), CBRT2, CBRT2I);
      |                                                             ^~~~~
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp:153:61: error: expected primary-expression before 'float'
  153 |             const batch_type cbrt4 = select(batch_bool_cast<float>(flag), CBRT4, CBRT4I);
      |                                                             ^~~~~
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp:154:54: error: expected primary-expression before 'float'
  154 |             batch_type fact = select(batch_bool_cast<float>(rem == i_type(1)), cbrt2, batch_type(1.));
      |                                                      ^~~~~
/build/source/include/xsimd/types/../arch/././generic/xsimd_generic_math.hpp:155:43: error: expected primary-expression before 'float'
  155 |             fact = select(batch_bool_cast<float>(rem == i_type(2)), cbrt4, fact);
<.................>

Build logs:
xsimd-12.0.0-armv7l-linux.log
xsimd-12.0.0-riscv64-linux.log

Maybe related? #716

@misuzu misuzu changed the title Build failure on armv7l-linux and riscv64-linux (11.2.0, 12.0.0) Build failure on armv7l-linux and riscv64-linux (11.2.0, 12.0.0) (error: 'batch_bool_cast' was not declared in this scope) Dec 4, 2023
@serge-sans-paille
Copy link
Contributor

Can you confirm this got fixed by #991 ?

@misuzu
Copy link
Author

misuzu commented Dec 11, 2023

Can you confirm this got fixed by #991 ?

It did, thank you!

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