AArch64 stolen register mangling is not recognized during translation
Running the new client.stolen-reg test shows:
derek@tx1:~/dr/build$ grep 'unsupported' `ls -1td logs/*0|head -1`/log.0*
unsupported mangle instr: orr %xzr %x28 lsl $0x0000000000000000 -> %x0
unsupported mangle instr: ldr +0x30(%x28)[8byte] -> %x28
unsupported mangle instr: orr %xzr %x0 lsl $0x0000000000000000 -> %x28
unsupported mangle instr: orr %xzr %x28 lsl $0x0000000000000000 -> %x0
unsupported mangle instr: str %x28 -> +0x30(%x0)[8byte]
unsupported mangle instr: orr %xzr %x0 lsl $0x0000000000000000 -> %x28
unsupported mangle instr: orr %xzr %x28 lsl $0x0000000000000000 -> %x0
unsupported mangle instr: ldr +0x30(%x28)[8byte] -> %x28
unsupported mangle instr: orr %xzr %x0 lsl $0x0000000000000000 -> %x28
unsupported mangle instr: orr %xzr %x28 lsl $0x0000000000000000 -> %x0
unsupported mangle instr: str %x28 -> +0x30(%x0)[8byte]
unsupported mangle instr: orr %xzr %x0 lsl $0x0000000000000000 -> %x28
That's stolen reg mangling. Unsupported instrs can be fatal if the translation is in there; for walking past they are just warnings. Either way we want to recognize them.