[clang] [docs] Document the usage of operators on RVV sized types (PR #194979)

Philip Reames via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 29 20:38:39 PDT 2026


================
@@ -702,36 +702,45 @@ The table below shows the support for each operation by vector extension.  A
 dash indicates that an operation is not accepted according to a corresponding
 specification.
 
-============================== ======= ======= ============= ======= =====
-         Operator              OpenCL  AltiVec     GCC        NEON    SVE
-============================== ======= ======= ============= ======= =====
-[]                               yes     yes       yes         yes    yes
-unary operators +, --            yes     yes       yes         yes    yes
-++, -- --                        yes     yes       yes         no     no
-+,--,*,/,%                       yes     yes       yes         yes    yes
-bitwise operators &,|,^,~        yes     yes       yes         yes    yes
->>,<<                            yes     yes       yes         yes    yes
-!, &&, ||                        yes     --        yes         yes    yes
-==, !=, >, <, >=, <=             yes     yes       yes         yes    yes
-=                                yes     yes       yes         yes    yes
-?: [#]_                          yes     --        yes         yes    yes
-sizeof                           yes     yes       yes         yes    yes [#]_
-C-style cast                     yes     yes       yes         no     no
-reinterpret_cast                 yes     no        yes         no     no
-static_cast                      yes     no        yes         no     no
-const_cast                       no      no        no          no     no
-address &v[i]                    no      no        no [#]_     no     no
-============================== ======= ======= ============= ======= =====
+============================== ======= ======= ============= ======= ========== =====
+         Operator              OpenCL  AltiVec     GCC        NEON    SVE        RVV
+============================== ======= ======= ============= ======= ========== =====
+[]                               yes     yes       yes         yes    yes        yes
+unary operators +, --            yes     yes       yes         yes    yes        yes
+++, -- --                        yes     yes       yes         no     no         no
++,--,*,/,%                       yes     yes       yes         yes    yes        yes
+bitwise operators &,|,^,~        yes     yes       yes         yes    yes        yes
+>>,<<                            yes     yes       yes         yes    yes        yes
+!, &&, ||                        yes     --        yes         yes    yes        yes
+==, !=, >, <, >=, <=             yes     yes       yes         yes    yes        yes
+=                                yes     yes       yes         yes    yes        yes
+?: [#]_                          yes     --        yes         yes    yes        yes
+sizeof                           yes     yes       yes         yes    yes [#]_   yes
+C-style cast                     yes     yes       yes         no     no         yes
+reinterpret_cast                 yes     no        yes         no     no         yes
----------------
preames wrote:

Ah!  Only partially wrong, the sizeless variants are rejected for SVE on clang.  See: https://godbolt.org/z/515aPfPxr

So basically, we need to fix the SVE docs, or possibly this is a bug in the SVE handling.  

https://github.com/llvm/llvm-project/pull/194979


More information about the cfe-commits mailing list