openxiangshan / gcc Goto Github PK
View Code? Open in Web Editor NEWThis project forked from gcc-mirror/gcc
License: GNU General Public License v2.0
This project forked from gcc-mirror/gcc
License: GNU General Public License v2.0
This directory contains the GNU Compiler Collection (GCC). The GNU Compiler Collection is free software. See the files whose names start with COPYING for copying permission. The manuals, and some of the runtime libraries, are under different terms; see the individual source files for details. The directory INSTALL contains copies of the installation information as HTML and plain text. The source of this information is gcc/doc/install.texi. The installation information includes details of what is included in the GCC sources and what files GCC installs. See the file gcc/doc/gcc.texi (together with other files that it includes) for usage and porting information. An online readable version of the manual is in the files gcc/doc/gcc.info*. See http://gcc.gnu.org/bugs/ for how to report bugs usefully. Copyright years on GCC source files may be listed using range notation, e.g., 1987-2012, indicating that every year in the range, inclusive, is a copyrightable year that could otherwise be listed individually.
使用RISC-V Vector的指令时,如果向量访存地址未对齐到操作范围的边界(具体指一条访存指令的操作范围,而不是element,例如在VLEN=128的情况下,使用vle*访问的地址 % 16 != 0),可能在某些处理器上由于拆成了两次内存访问带来显著的性能损失。而处理器核受限于Cache的SRAM规格、后端内存序检查等复杂性限制,通过硬件实现在一些条件下并不容易。同时,向量访存指令遭遇非对齐的地址是难以避免的,例如SPECCPU 2006中的hmmer和h264均出现该现象,而常见的memcpy、卷积操作也会触发该场景。因此希望通过编译器在向量化循环开始前,对地址进行检查,并在后续的向量操作中尽可能对齐。
在编译器识别出可以自动向量化的循环后,生成代码时根据地址的偏移量访存指令使得:
需在GCC或LLVM实现该功能并提交到上游。可以仅针对RVV的unit stride实现。
困难
陈泱宇 [email protected]
周耀阳 [email protected]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.