aboutsummaryrefslogtreecommitdiffstats
path: root/src/loader/loader.h
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-04-30 19:16:22 +0000
committerAlyssa Rosenzweig <[email protected]>2019-05-04 19:08:50 +0000
commit8c36ecd4b1daec66435d6d0baef0e64cd80b46c1 (patch)
tree89616ab708324947394d6a874446a78fbeeb49fb /src/loader/loader.h
parent2800e822a4d66560470a73893e8162293150499d (diff)
panfrost/midgard/disasm: Print 8-bit sources
This handles the usual case. 8-bit register access parallels 16-bit access, but with one major caveat: in 8-bit mode, only half of the register file is actually (directly) accessible as sources. In particular, for each 16-bit integer register (hrN), we can only index a *single* 8-bit integer (qrN), corresponding to the lower 8-bits. To get the upper 8-bits, it is required to do an explicit shift. For example, to add the bytes of a 16-bit integer hr0.x and get the result as an 8-bit qr0, you'd need to do something like: ilsr hr1.x, hr0.x, #8 iadd qr0.x, qr0.x, qr1.x This scheme diverges from 32-bit registers, in that both the upper and lower halves of a 32-bit register are individually accessible as a pair of half registers. For contrast, to add the lower and upper 16-bits of a 32-bit integer r0.x, you can just: iadd hr0.x, hr0.x, hr1.x Since hr1.x = upper 16-bit of r0.x. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/loader/loader.h')
0 files changed, 0 insertions, 0 deletions