Head files are included in the second patch in case the name needs to be changed.
RV32 / 64:
I think we should drop the underscore in clmul_h and clmul_r. The mnemonic doesn't have a period between them. So that's different than orc.b and crc32.w.
clmul_h -> clmulh
clmul_r -> clmulr
LGTM. We can adjust the builtin names in the future if we need to do something different to match gcc.