Closed
Description
Code:
#include <riscv_vector.h>
typedef vint64m1_t __attribute__((riscv_rvv_vector_bits(128))) vint64m1_128_t;
int main() {
vint64m1_t a;
vint64m1_128_t b;
vint64m1_t c = __riscv_vand(a, 0, 0);
vint64m1_t d = __riscv_vand(b, 0, 0);
}
Compiler message (clang -march=rv64gcv -mrvv-vector-bits=128 -S test.c
):
test.c:9:18: error: call to '__riscv_vand' is ambiguous
9 | vint64m1_t d = __riscv_vand(b, 0, 0);
| ^~~~~~~~~~~~
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
1 error generated.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
llvmbot commentedon Aug 4, 2023
@llvm/issue-subscribers-backend-risc-v
topperc commentedon Aug 4, 2023
It does work with
-fno-lax-vector-conversions
. I need to investigate more.[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
[RISCV] Check type size for lax conversions between RVV builtin types…
llvmbot commentedon Oct 26, 2023
@llvm/issue-subscribers-clang-frontend
Author: Garth Lei (garthlei)
typedef vint64m1_t attribute((riscv_rvv_vector_bits(128))) vint64m1_128_t;
int main() {
vint64m1_t a;
vint64m1_128_t b;
vint64m1_t c = __riscv_vand(a, 0, 0);
vint64m1_t d = __riscv_vand(b, 0, 0);
}
test.c:9:18: error: call to '__riscv_vand' is ambiguous
9 | vint64m1_t d = __riscv_vand(b, 0, 0);
| ^~~~~~~~~~~~
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
test.c:9:18: note: candidate function
1 error generated.