That's silly, LLVM bitcode is as portable as you like. Hell, you can translate it to javascript if you're truly worried about absolute browser portability: http://code.google.com/p/emscripten/
> That's silly, LLVM bitcode is as portable as you like
LLVM bitcode is actually not meant to be portable at all. It is very specific to the machine it is built for - endianness, structure alignment, and so forth.
Thanks for mentioning Emscripten, I wrote it :) It's interesting though, that a main challenge in Emscripten is exactly to deal with the non-portability issues in LLVM.
The reason LLVM is used in Emscripten (and, I suspect, in PNaCl) is not that it is portable - it isn't - but that nothing portable exists which is as good as LLVM in other respects (clean codebase, well-defined assembly language, good toolchain, etc.).