Comments (4)
ELEN
is the maximum width of a single element in a vector; C920 with RVV1.0 and 128-bit vectors (VLEN=128
) would still have ELEN=64
, and a vint64m1_t
would hold two 64-bit integers (and the same code, if ran on some other processor with 256-bit vector registers, would hold 4 64-bit ints).
Thus, vint64m1_t
never wastes any space (m1
types, by definition, are exactly one full vector register; mf2
would be explicitly having a vector register whose upper half goes unutilized). The mf2
/mf4
/mf8
types exist only to provide for the possibility of widening, but a 64-bit integer cannot be widened to anything (you'd need 128-bit elements for that, which don't exist in RVV1.0).
from rvv-intrinsic-doc.
I can't answer on what'd be the best format for more questions/issue format (I'm just a "passer-by" here); generally, though, ELEN is gonna be 64 on nearly all standard RVV1.0 implementations no matter the register width for the foreseeable future ("v" extension requires VLENβ₯128 and supported EEW of 8,16,32,64 and thus only needs ELEN=64 (it does technically allow for ELEN>64 too, but there's no standard configuration that would implement such)).
from rvv-intrinsic-doc.
You may find descriptions of data type availabilities under Type System.
You may find descriptions of control number of elements to be processed under Control of number of elements to be processed.
from rvv-intrinsic-doc.
ELEN
is the maximum width of an element; C920 with RVV1.0 and 128-bit vectors (VLEN=128
) would still haveELEN=64
, and avint64m1_t
would hold two 64-bit integers (and the same code, if ran on some other processor with 256-bit vector registers, would hold 4 64-bit ints).Thus,
vint64m1_t
never wastes any space (m1
types, by definition, are exactly one full vector register;mf2
would be explicitly having a vector register whose upper half goes unutilized). Themf2
/mf4
/mf8
types exist only to provide for the possibility of widening, but a 64-bit integer cannot be widened to anything (you'd need 128-bit elements for that, which don't exist in RVV1.0).
Thanks! Seems that I misunderstand the definition of ELEN, I'll check it out right away. But I may have further questions of how this works, shall I close the issue now and open a new issue or left this issue open?
from rvv-intrinsic-doc.
Related Issues (20)
- Question about Reinterpret Cast Conversion Functions HOT 2
- Question about segment load/store of rvv-v0p10-compatible-headers HOT 2
- Question about the rounding mode of the bit right shift functions HOT 1
- [Error] Conversion from vuint to vbool HOT 3
- [Error] GCC Crashes while passing some intrinsics as parameter of another intrinsics HOT 3
- [Question] Combining two vector registers with different LMUL HOT 2
- Question about using `__riscv_vlm_v` HOT 2
- vcreate intrinsics for LMUL > 1 HOT 8
- [Question] How to zip 2 vectors using RVV Intrinsics? HOT 11
- Tuple types that goes across the hardware restriction HOT 1
- [Proposal] Support for C operators on RVV types HOT 12
- vget for fractional register doesn't exist HOT 10
- Constraint of vector types in Zve32* HOT 2
- [Requirement]: The RISC-V RVV vector intrinsic must include support for vector groups in the __riscv_vfredosum function HOT 4
- Type-relative overloads for vreinterpret, vlmul_ext, vlmul_trunc, etc. HOT 1
- How to use a class to wrap or derive from a sizeless vector type HOT 1
- Encode all the effects of vsetvl in the return type, for use in subsequent type deductions HOT 1
- Does `__riscv_v_intrinsic >= 1000000` imply overloaded intrinsics are supported?
- Create bibliography from reference section HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rvv-intrinsic-doc.