[libpixelflinger] Fix LDM addressing mode disassembly
authorJim Huang <jserv@0xlab.org>
Tue, 8 Dec 2009 09:24:02 +0000 (17:24 +0800)
committerKan-Ru Chen <kanru@0xlab.org>
Wed, 17 Mar 2010 09:02:53 +0000 (17:02 +0800)
commitbed0b70a45f7db4b16a2843c339e4a7855ae5045
treeca612c1593476d674bba0202e6f2fadd8c40b044
parent893b0ae23efeaece4700373d08cb610976937037
[libpixelflinger] Fix LDM addressing mode disassembly

DO NOT MERGE

The Pixelflinger disassembler does not handle LDM addressing modes correctly,
assuming that the P and U bits in the instruction mean the same in both LDM and
STM. This results in the disassembler producing sequences like:

stmfd r13!, {r4-r11, r14}
...
...
...
ldmea r13!, {r4-r11, r14}

This small patch fixes it by EORing the P and U bits with the Load/Store bit.

https://review.source.android.com/#change,12784
(cherry picked from commit fbc136ddef860cbd0e937cab6ab80c9d806ab60a)
libpixelflinger/codeflinger/disassem.c