[RFC] Add a new backend called CSKY

Hi, All.

I am proposing the integration of a new backend called C-SKY.

C-SKY processor is a 32-bit high-performance and low-power embedded processor designed for embedded system or SoC environment. It adopts independently design of architecture and micro architecture with extensible instruction set, which owns great features, e.g. configurable hardware, re-synthesis, easily integration etc. Additionally, it is excellent in power management. It adopts several strategies to reduce power consumption including statically designed and dynamic power supply management, low voltage supply, entering low power mode and closing internal function modules.

Now, C-SKY CPU instruction system has two versions: C-SKY V1 and C-SKY V2. You must note that the C-SKY V2.0 instruction sets are not freely exchangeable with V1.0. Conversely, available function provided by V2.0 is identical to V1.0 for most of applications. So that we strongly recommend that you should make sure you are aware of the generated result of specified application when you use them simultaneously. The two instruction sets differ in how instructions are encoded.

Basically, we can develop C-SKY V2 as prefer, and the ISA doc and ABI doc can be referred at following links. (The links are not stable, and the address may be changed). The links will be added and updated constantly later at http://llvm.org/docs/CompilerWriterInfo.html.

ISA: https://github.com/c-sky/csky-doc/blob/master/CSKY%20Architecture%20user_guide.pdf
ABI: https://github.com/c-sky/csky-doc/blob/master/C-SKY_V2_CPU_Applications_Binary_Interface_Standards_Manual.pdf

Here is the first patch to introduce the CSKY target, https://reviews.llvm.org/D86269. Feel free to review it if you have interest in. Of course it’s an experimental target now and would not be built as default. For now, there is just basic codegen functionality of CSKY target, and there are other parts of work left such as MC layer, compressed instruction and DSP instruction support, etc. The community behind CSKY will support all of the work constantly from now on and the main vendor of CSKY is T-HEAD company of Alibaba group.

All comments are welcome, and please feel free to comment. Thanks.

Zi Xuan Wu (Zeson)

It is always exciting to see new targets! Can you give a sense of the community that supports this and the hardware roadmap for this? Are there active plans to develop new C-SKY cores?

-Chris

Hi Chris,

Glad to hear from you. I hope everything goes well.

This is also very exciting for us. As mentioned in the previous email of Zeson, C-SKY is a RISC architecture for high-performance and energy-efficient processors. Many Processors based on this architecture have been mass produced in different fields. At present, more than 1 billon have been shipped.

The community for C-SKY architecture is mainly composed of ourselves, Chip companies and some university institutions to develop the software ecosystem on this architecture. As shown in the figure below, I will try to briefly introduce the roadmap of this architecture. There are already a series of processors based on this architecture (we call it XuanTie 800 series) have been released, from the smallest cost 801 to high-performance computing 860, the size of the icon on the picture implies the cost of each processor.Each processor has different characteristics and application scenarios, a simple description has been marked on the picture.

We are planning to develop a processor with higher performance than the 860, which may be called 880, and we are also planning to develop processors for special applications, such as SSD controllers or other special fileds. There are so many things to do.

Don’t hesitate to contact me if you have any questions. Looking forward to your reply!

Thanks,
Yunhai

Great, thanks Yunhai!

-Chris

Because the triple review (https://reviews.llvm.org/D86505) is LGTM, I will held on about one more week before commit it. Once the triple got commit, I think it means we get the consenus about the proposal of new target CSKY and following patches are going to contribute.

Feel free to give comments and advice. Thank you.