115384 is about 0.2% away from 115200...
That's what I thought - supposed to be nominally 115200. Especially as the WCHISPTool apparently only allows setting a choice between 115200, 1M, and 2M for baud rate. Although, it's a fractional baud rate generator, so why couldn't they make it a value that gives exactly 115200?
No. Zbb adds only sext.b, sext.h, and zext.h.
Ah, I see now. I was referring to the
RISC-V Wikipedia article and now I look again it
only mentions
zext.h - must've skim-read too quickly.
So I guess that technically
zext.b isn't part of Zbb because it's just an alias for
andi, but the alias was added to 'B' extension for completeness.
I took the "I found a Zbb instruction in CH32V003 code" to mean "It can't possibly actually be zext.b, so it must be some WCH custom instruction, and the code would have to have used an andi if it wanted to zero extend a byte".
No, it wasn't so much that I thought it can't be
zext.b - I realised it's an alias for
andi - by "misinterpreted" I meant that I thought the disassembler should have output the un-aliased
andi instruction because I hadn't told it that the architecture supported 'B' extension. But if
zext.b is fine for RV32EC and is just a matter of nomenclature, then I suppose it doesn't really matter.