2 MOVW R0, to+0(FP) /* need to save for return value */
4 MOVW $0xFF, R2 /* mask */
6 salign: /* align source on 4 */
9 MOVBU.P 1(R1), R3 /* implicit write back */
11 MOVBU.P R3, 1(R0) /* implicit write back */
15 dalign: /* is destination now aligned? */
20 MOVW.P 4(R1), R4 /* read 4, write 4 */
21 TST R4, R2 /* AND.S R3, R2, Rx */
30 MOVW.P 4(R1), R4 /* read 4, write 1,1,1,1 */
35 AND.NE.S R4>>8, R2, R3
37 AND.NE.S R4>>16, R2, R3
39 AND.NE.S R4>>24, R2, R3