This is an automated email from Gerrit. Alamy Liu ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/3312
-- gerrit commit 1b51e64bdaad8519c6be95dc8866353e32d96270 Author: Alamy Liu <[email protected]> Date: Thu Oct 8 15:31:15 2015 -0700 binarybuffer: Move 64-bit comparsion to from For _u64 function, it has better chance to match 64-bit operation. Change-Id: I434a8de3193cd28d38c8def4333f58283b6f9c4b Signed-off-by: Alamy Liu <[email protected]> diff --git a/src/helper/binarybuffer.h b/src/helper/binarybuffer.h index 908b5e9..f720e45 100644 --- a/src/helper/binarybuffer.h +++ b/src/helper/binarybuffer.h @@ -76,12 +76,7 @@ static inline void buf_set_u64(uint8_t *_buffer, { uint8_t *buffer = _buffer; - if ((num == 32) && (first == 0)) { - buffer[3] = (value >> 24) & 0xff; - buffer[2] = (value >> 16) & 0xff; - buffer[1] = (value >> 8) & 0xff; - buffer[0] = (value >> 0) & 0xff; - } else if ((num == 64) && (first == 0)) { + if ((num == 64) && (first == 0)) { buffer[7] = (value >> 56) & 0xff; buffer[6] = (value >> 48) & 0xff; buffer[5] = (value >> 40) & 0xff; @@ -90,6 +85,11 @@ static inline void buf_set_u64(uint8_t *_buffer, buffer[2] = (value >> 16) & 0xff; buffer[1] = (value >> 8) & 0xff; buffer[0] = (value >> 0) & 0xff; + } else if ((num == 32) && (first == 0)) { + buffer[3] = (value >> 24) & 0xff; + buffer[2] = (value >> 16) & 0xff; + buffer[1] = (value >> 8) & 0xff; + buffer[0] = (value >> 0) & 0xff; } else { // for (unsigned i = 0; i < DIV_ROUND_UP(num, 8); i++) // buffer[i] = 0x00; @@ -145,13 +145,9 @@ static inline uint64_t buf_get_u64(const uint8_t *_buffer, { const uint8_t *buffer = _buffer; - if ((num == 32) && (first == 0)) { - return 0 + ((((uint32_t)buffer[3]) << 24) | /* Note - zero plus is to avoid a checkpatch bug */ - (((uint32_t)buffer[2]) << 16) | - (((uint32_t)buffer[1]) << 8) | - (((uint32_t)buffer[0]) << 0)); - } else if ((num == 64) && (first == 0)) { - return 0 + ((((uint64_t)buffer[7]) << 56) | /* Note - zero plus is to avoid a checkpatch bug */ + if ((num == 64) && (first == 0)) { + /* Note - zero plus is to avoid a checkpatch bug */ + return 0 + ((((uint64_t)buffer[7]) << 56) | (((uint64_t)buffer[6]) << 48) | (((uint64_t)buffer[5]) << 40) | (((uint64_t)buffer[4]) << 32) | @@ -159,6 +155,12 @@ static inline uint64_t buf_get_u64(const uint8_t *_buffer, (((uint64_t)buffer[2]) << 16) | (((uint64_t)buffer[1]) << 8) | (((uint64_t)buffer[0]) << 0)); + } else if ((num == 32) && (first == 0)) { + /* Note - zero plus is to avoid a checkpatch bug */ + return 0 + ((((uint32_t)buffer[3]) << 24) | + (((uint32_t)buffer[2]) << 16) | + (((uint32_t)buffer[1]) << 8) | + (((uint32_t)buffer[0]) << 0)); } else { uint64_t result = 0; for (unsigned i = first; i < first + num; i++) { -- ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
