| //===------- bswapdi2 - Implement bswapdi2 ---------------------------------===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "../assembly.h" |
| |
| // |
| // extern uint64_t __bswapdi2(uint64_t); |
| // |
| // Reverse all the bytes in a 64-bit integer. |
| // |
| DEFINE_COMPILERRT_FUNCTION(__bswapdi2) |
| rev r2, r1 // reverse bytes in high 32-bits into temp2 |
| rev r3, r0 // reverse bytes in low 32-bit into temp3 |
| mov r0, r2 // set low 32-bits of result to temp2 |
| mov r1, r3 // set high 32-bits of result to temp3 |
| bx lr |