| #include <linux/linkage.h> | |
| #if __LINUX_ARM_ARCH__ >= 6 | |
| ENTRY(__bswapsi2) | |
| rev r0, r0 | |
| bx lr | |
| ENDPROC(__bswapsi2) | |
| ENTRY(__bswapdi2) | |
| rev r3, r0 | |
| rev r0, r1 | |
| mov r1, r3 | |
| bx lr | |
| ENDPROC(__bswapdi2) | |
| #else | |
| ENTRY(__bswapsi2) | |
| eor r3, r0, r0, ror #16 | |
| mov r3, r3, lsr #8 | |
| bic r3, r3, #0xff00 | |
| eor r0, r3, r0, ror #8 | |
| mov pc, lr | |
| ENDPROC(__bswapsi2) | |
| ENTRY(__bswapdi2) | |
| mov ip, r1 | |
| eor r3, ip, ip, ror #16 | |
| eor r1, r0, r0, ror #16 | |
| mov r1, r1, lsr #8 | |
| mov r3, r3, lsr #8 | |
| bic r3, r3, #0xff00 | |
| bic r1, r1, #0xff00 | |
| eor r1, r1, r0, ror #8 | |
| eor r0, r3, ip, ror #8 | |
| mov pc, lr | |
| ENDPROC(__bswapdi2) | |
| #endif |