Fix push/pop instruction selection and encoding.

1) Thumb 'push' can handle lr and 'pop' can handle pc, so make use of them.
2) Thumb2 push was incorrectly encoded as stmia, which should be stmdb
instead.

None of the above affect the code that we currently ship.

Change-Id: I89ab46b032a3d562355c2cc3bc05fe308ba40957
4 files changed