cbfstool/lzma: Remove LITTLE_ENDIAN_AND_UNALIGNED_ACCESS_OK
This was designed as a micro-optimization for x86, but it is only used once. Let the compiler decide if optimizing this is worth the effort. Change-Id: I5939efa34f0e9d16643893ca04675247842e7db5 Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/5085 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
b63b75b0f7
commit
ed87ebc325
|
@ -6,33 +6,18 @@
|
||||||
#include "C/LzmaDec.h"
|
#include "C/LzmaDec.h"
|
||||||
#include "C/LzmaEnc.h"
|
#include "C/LzmaEnc.h"
|
||||||
|
|
||||||
/* Endianness / unaligned memory access handling */
|
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
|
||||||
#define LITTLE_ENDIAN_AND_UNALIGNED_ACCESS_OK
|
|
||||||
#else
|
|
||||||
#undef LITTLE_ENDIAN_AND_UNALIGNED_ACCESS_OK
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define L (uint64_t)
|
#define L (uint64_t)
|
||||||
|
|
||||||
static inline uint64_t get_64(const void *p)
|
static inline uint64_t get_64(const void *p)
|
||||||
{
|
{
|
||||||
#ifdef LITTLE_ENDIAN_AND_UNALIGNED_ACCESS_OK
|
|
||||||
return *(const uint64_t *)p;
|
|
||||||
#else
|
|
||||||
const unsigned char *data = (const unsigned char *)p;
|
const unsigned char *data = (const unsigned char *)p;
|
||||||
return (L data[0]) | (L data[1] << 8) | (L data[2] << 16) |
|
return (L data[0]) | (L data[1] << 8) | (L data[2] << 16) |
|
||||||
(L data[3] << 24) | (L data [4] << 32) | (L data[5] << 40) |
|
(L data[3] << 24) | (L data [4] << 32) | (L data[5] << 40) |
|
||||||
(L data[6] << 48) | (L data[7] << 56);
|
(L data[6] << 48) | (L data[7] << 56);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void put_64(void *p, uint64_t value)
|
static void put_64(void *p, uint64_t value)
|
||||||
{
|
{
|
||||||
#ifdef LITTLE_ENDIAN_AND_UNALIGNED_ACCESS_OK
|
|
||||||
*(uint64_t *) p = value;
|
|
||||||
#else
|
|
||||||
unsigned char *data = (unsigned char *)p;
|
unsigned char *data = (unsigned char *)p;
|
||||||
data[0] = value & 0xff;
|
data[0] = value & 0xff;
|
||||||
data[1] = (value >> 8) & 0xff;
|
data[1] = (value >> 8) & 0xff;
|
||||||
|
@ -42,7 +27,6 @@ static void put_64(void *p, uint64_t value)
|
||||||
data[5] = (value >> 40) & 0xff;
|
data[5] = (value >> 40) & 0xff;
|
||||||
data[6] = (value >> 48) & 0xff;
|
data[6] = (value >> 48) & 0xff;
|
||||||
data[7] = (value >> 56) & 0xff;
|
data[7] = (value >> 56) & 0xff;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Memory Allocation API */
|
/* Memory Allocation API */
|
||||||
|
|
Loading…
Reference in New Issue