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

Fails to build on riscv without RVV 1.0 despite #2159 #2227

Closed
eclipseo opened this issue Jun 2, 2024 · 1 comment · Fixed by #2230
Closed

Fails to build on riscv without RVV 1.0 despite #2159 #2227

eclipseo opened this issue Jun 2, 2024 · 1 comment · Fixed by #2230

Comments

@eclipseo
Copy link
Contributor

eclipseo commented Jun 2, 2024

Hello,

The latest Highway 1.2.0, on Fedora Rawhide, riscv arch, Clang 18.1.6:

In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:19:
/usr/bin/../lib/clang/18/include/riscv_vector.h:18:2: �[0;1;31merror: "Vector intrinsics require the vector extension."
   18 | #error "Vector intrinsics require the vector extension."
      | �[0;1;32m ^
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: use of undeclared identifier '__riscv_vsetvlmax_e8mf8'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m                ^
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: use of undeclared identifier '__riscv_vsetvl_e8mf8'
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: use of undeclared identifier '__riscv_vsetvl_e8mf8'
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: use of undeclared identifier '__riscv_vsetvl_e8mf8'
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: use of undeclared identifier '__riscv_vsetvl_e8mf8'
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:496:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  496 |     return N == kFull ? __riscv_vsetvlmax_e##SEW##LMUL()                       \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:2:1: �[0;1;36mnote: expanded from here
    2 | __riscv_vsetvlmax_e8mf4
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:67:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvlmax_e8mf4'
   67 | #define __riscv_vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:497:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  497 |                       : __riscv_vsetvl_e##SEW##LMUL(kCap);                     \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:4:1: �[0;1;36mnote: expanded from here
    4 | __riscv_vsetvl_e8mf4
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:38:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf4'
   38 | #define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:482:18: �[0;1;36mnote: expanded from macro 'HWY_RVV_CAPPED_LANES_SPECIAL_CASES'
  482 |                ? __riscv_vsetvl_e##SEW##LMUL(cap)                              \
      | �[0;1;32m                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:9:1: �[0;1;36mnote: expanded from here
    9 | __riscv_vsetvl_e8mf4
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:38:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf4'
   38 | #define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:483:18: �[0;1;36mnote: expanded from macro 'HWY_RVV_CAPPED_LANES_SPECIAL_CASES'
  483 |                : __riscv_vsetvl_e##SEW##LMUL(HWY_MIN(cap, kMaxLanes));         \
      | �[0;1;32m                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:11:1: �[0;1;36mnote: expanded from here
   11 | __riscv_vsetvl_e8mf4
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:38:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf4'
   38 | #define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:559:14: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  559 |       return __riscv_vsetvl_e##SEW##LMUL(HWY_MIN(cap, kMaxLanes));             \
      | �[0;1;32m             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:13:1: �[0;1;36mnote: expanded from here
   13 | __riscv_vsetvl_e8mf4
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:38:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf4'
   38 | #define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:496:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  496 |     return N == kFull ? __riscv_vsetvlmax_e##SEW##LMUL()                       \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:19:1: �[0;1;36mnote: expanded from here
   19 | __riscv_vsetvlmax_e8mf2
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:68:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvlmax_e8mf2'
   68 | #define __riscv_vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:497:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  497 |                       : __riscv_vsetvl_e##SEW##LMUL(kCap);                     \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:21:1: �[0;1;36mnote: expanded from here
   21 | __riscv_vsetvl_e8mf2
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:39:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf2'
   39 | #define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:482:18: �[0;1;36mnote: expanded from macro 'HWY_RVV_CAPPED_LANES_SPECIAL_CASES'
  482 |                ? __riscv_vsetvl_e##SEW##LMUL(cap)                              \
      | �[0;1;32m                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:26:1: �[0;1;36mnote: expanded from here
   26 | __riscv_vsetvl_e8mf2
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:39:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf2'
   39 | #define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:483:18: �[0;1;36mnote: expanded from macro 'HWY_RVV_CAPPED_LANES_SPECIAL_CASES'
  483 |                : __riscv_vsetvl_e##SEW##LMUL(HWY_MIN(cap, kMaxLanes));         \
      | �[0;1;32m                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:28:1: �[0;1;36mnote: expanded from here
   28 | __riscv_vsetvl_e8mf2
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:39:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf2'
   39 | #define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:559:14: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  559 |       return __riscv_vsetvl_e##SEW##LMUL(HWY_MIN(cap, kMaxLanes));             \
      | �[0;1;32m             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:30:1: �[0;1;36mnote: expanded from here
   30 | __riscv_vsetvl_e8mf2
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:39:35: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8mf2'
   39 | #define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
      | �[0;1;32m                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:496:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  496 |     return N == kFull ? __riscv_vsetvlmax_e##SEW##LMUL()                       \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:36:1: �[0;1;36mnote: expanded from here
   36 | __riscv_vsetvlmax_e8m1
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:69:34: �[0;1;36mnote: expanded from macro '__riscv_vsetvlmax_e8m1'
   69 | #define __riscv_vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
      | �[0;1;32m                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:497:25: �[0;1;36mnote: expanded from macro 'HWY_RVV_LANES'
  497 |                       : __riscv_vsetvl_e##SEW##LMUL(kCap);                     \
      | �[0;1;32m                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:38:1: �[0;1;36mnote: expanded from here
   38 | __riscv_vsetvl_e8m1
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:40:34: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8m1'
   40 | #define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
      | �[0;1;32m                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:27:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/foreach_target.h:314:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/per_target.cc:28:
In file included from /builddir/build/BUILD/highway-1.2.0/hwy/highway.h:596:
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:591:17: �[0;1;31merror: builtin requires at least one of the following extensions: 'Zve32x'
  591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL)
      | �[0;1;32m~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:411:22: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH'
  411 |   HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS)    \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:407:21: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_UI'
  407 |   HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS)        \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:394:23: �[0;1;36mnote: expanded from macro 'HWY_RVV_FOREACH_U'
  394 |   HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS)     \
      | �[0;1;32m  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;36mnote: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/builddir/build/BUILD/highway-1.2.0/hwy/ops/rvv-inl.h:482:18: �[0;1;36mnote: expanded from macro 'HWY_RVV_CAPPED_LANES_SPECIAL_CASES'
  482 |                ? __riscv_vsetvl_e##SEW##LMUL(cap)                              \
      | �[0;1;32m                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:43:1: �[0;1;36mnote: expanded from here
   43 | __riscv_vsetvl_e8m1
      | �[0;1;32m^
/usr/bin/../lib/clang/18/include/riscv_vector.h:40:34: �[0;1;36mnote: expanded from macro '__riscv_vsetvl_e8m1'
   40 | #define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
      | �[0;1;32m                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
�[0;1;31mfatal error: too many errors emitted, stopping now [-ferror-limit=]

Apparently this ba6a13d / #2159 was supposed to fix the issue of RISCV without RVV, but it doesn't seem to be working.

@jan-wassenberg
Copy link
Member

Hi @eclipseo , thanks for reporting. It appears our internal RISC-V header lacks this error/requirement, that's surprising. I've pinged the LLVM issue. In the meantime, let's default runtime dispatch to disabled on RISC-V and allow override.

copybara-service bot pushed a commit that referenced this issue Jun 3, 2024
Public Clang <= 18 still appears to require compiler flags for RVV.
Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639667053
copybara-service bot pushed a commit that referenced this issue Jun 3, 2024
Public Clang <= 18 still appears to require compiler flags for RVV.
Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639667053
copybara-service bot pushed a commit that referenced this issue Jun 3, 2024
Public Clang <= 18 still appears to require compiler flags for RVV.
Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639667053
copybara-service bot pushed a commit that referenced this issue Jun 3, 2024
Public Clang <= 18 still appears to require compiler flags for RVV.
GCC 13 also has an #error and 14 is missing mulh/mulhu.

Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639667053
copybara-service bot pushed a commit that referenced this issue Jun 3, 2024
Public Clang <= 18 still appears to require compiler flags for RVV.
GCC 13 also has an #error and 14 is missing mulh/mulhu.

Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639667053
sezero pushed a commit to libsdl-org/highway that referenced this issue Jan 6, 2025
Public Clang <= 18 still appears to require compiler flags for RVV.
GCC 13 also has an #error and 14 is missing mulh/mulhu.

Also split HWY_HAVE_RUNTIME_DISPATCH into multiple macros to enable
overriding parts of the logic.

PiperOrigin-RevId: 639709709
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 a pull request may close this issue.

2 participants