I have personally ported a usb c usbpd stack from 8051 to cortex m0 to rv32ec. I can’t talk for gate count, it for code size the biggest factor was the compiler, with ARMCC giving the smallest code. As the rom was larger than the core, that was a bigger factor in gate count.