scarv / xcrypto

XCrypto: a cryptographic ISE for RISC-V
MIT License
91 stars 10 forks source link

Spec: final renaming pass #42

Closed danpage closed 6 years ago

danpage commented 6 years ago

Finalising the specification document threw up some renaming cases that seem to make sense:

  1. xc.cmov and xc.cmovn: the latter is a variant of the former, so either

    • [x] xc.cmov => xc.cmov.t = "true" variant, and xc.cmovn => xc.cmov.f = "false" variant, or
    • [ ] xc.cmov => xc.cmov, and xc.cmovn => xc.cmov.n
  2. xc.ld.li and xc.ld.hi: both should have a u varient code to match non-immediate analogues, so

    • [x] xc.ld.li => xc.ld.liu, and xc.ld.hi => xc.ld.hiu
  3. xc.mmul.1 and xc.mclmul.1: the variant number is inconsistent with the others, so either

    • [x] xc.mmul.1 => xc.mmul.3, and xc.mclmul.1 => xc.mclmul.3, or
    • [ ] xc.mmul.1 => xc.mmul, and xc.mclmul.1 => xc.mclmul since there is only one variant of each
  4. Given we need to do 3. anyway, I find clmul a bit awkward; I'd prefer a TLA, e.g., clm, so

    • [x] xc.mclmul.1 => xc.mclm.1, xc.pclmul.h => xc.pclm.h, xc.pclmul.l => xc.pclm.l