Vineet Gupta
I work on gcc RISC-V backend, for a few years now. I work at a startup called Rivos Inc. in Silicon Valley, where we are building High Performance RISC-V systems. I'm a seasoned Open Source Hacker still proud of my first public contribution to Busybox and over a career of 25 years I've ported, upstreamed and maintained Linux kernel, glibc and several others to multiple generation and ISA of Synopsys ARC processors.
Session
GCC machine descriptions are straightforward to implement if someone has been involved in gcc development for a while. GCC Internals is a comprehensive resource but it assumes/requires prior knowledge. As a relative newcomer to the project (RISC-V backend) I've struggled with MD patterns (and still do). The LISPy syntax doesn't initially help either. This is my attempt to collect my learning of the last few years. If you don't know what a "Bridge" pattern is or confused between define_split and define_insn_and_split, this is the talk for you !