Make 2 functions generic and improve powerpc constant handling
I've been working on loop shift support for powerpc, although I'm not sure if I'm going to finish it, due to how it handles unaligned loads/stores. Trying to figure out if it'll still be a win.
However, these changes stand on their own so I figured I'd upstream them first.
- Use ORC_CODE=debug to add PROT_WRITE to the exec codemap to support gdb breakpoints
- mmx/sse/neon/mips all had the same code to emit invariants.
- mmx/sse/altivec all had the same code to check for float usage.
- powerpc previously would load constants each loop and long constants would be emitted with the code stream. Move the actual values to after the epilogue and then pre-load them before the outer loop like other architectures.