In my experience, when code works well on multiple architectures, it will be easier to port to the third. Typing should not be a problem. Aligning the structure can be a problem if you do anything when the alignment problem is a problem.
Pay attention to everything that may be platform dependent: relying on bit field alignment in the same way, assuming the variables are a specific size, etc. If your code is relatively abstract from hardware, you are likely to run into small problems. If you are doing something with something like network code, you need to make sure that you are ordering the network byte order correctly.
I ported device drivers from PPC to x86, and then to x86_64; in a few thousand lines, perhaps a couple of changes have occurred, primarily related to the structure and the whole order.
The only way to know for sure is to try it, of course.
source share