[all-commits] [llvm/llvm-project] 56183c: [RISCV] Disable lax vector conversions between RVV...
Craig Topper via All-commits
all-commits at lists.llvm.org
Thu Oct 26 12:21:18 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 56183cf608f308ff441b69dcc3ef626acbb014d4
https://github.com/llvm/llvm-project/commit/56183cf608f308ff441b69dcc3ef626acbb014d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-10-26 (Thu, 26 Oct 2023)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/Sema/riscv-rvv-lax-vector-conversions.c
M clang/test/SemaCXX/riscv-rvv-lax-vector-conversions.cpp
Log Message:
-----------
[RISCV] Disable lax vector conversions between RVVBuiltin types and RVVFixedLengthDataVector.
This seems to be causing issues with using overloaded RVV intrinsics
that take scalar operands. If the scalar type passed in doesn't exactly
match the element type.
I blindly copied this feature from SVE. Since no one has asked for it
I'd prefer to remove it to make overloaded intrinsics work as expected.
By removing the lax conversions, types declared with __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)))
can only ever be used like their underlying RVV builtin type. No lax conversions
to other element sizes with the same LMUL.
Fixes #64404.
More information about the All-commits
mailing list