X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fcspace_arm.S;h=177b0858323899783cbf4812f1f1a9b54843c266;hb=1cec47197eaa7f82bd4503015761cbc7416fff41;hp=67778da5879be09eca4e81f914191418861ac8ac;hpb=5c6457c3a3e44b0f39be5221ad4a9d94a432d694;p=pcsx_rearmed.git diff --git a/frontend/cspace_arm.S b/frontend/cspace_arm.S index 67778da5..177b0858 100644 --- a/frontend/cspace_arm.S +++ b/frontend/cspace_arm.S @@ -34,6 +34,12 @@ FUNCTION(bgr555_to_rgb565): @ void *dst, const void *src, int bytes orr lr, lr, lsl #16 blt 1f + @ src can be unaligned, but that's very rare, so just force it. + @ The manual says unaligned ldm should fault, and it does on + @ cortex-a78's 32bit mode, but curiously on cortex-a8 it just + @ works and loads the data correctly. + bic r1, r1, #3 + 0: ldmia r1!, {r3-r10} subs r2, #4*8