Skip to content
This repository has been archived by the owner on Aug 17, 2022. It is now read-only.

Commit

Permalink
remove slow implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
HanKuanChen committed Mar 18, 2019
1 parent b9b77f2 commit 077c4c5
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 56 deletions.
8 changes: 0 additions & 8 deletions newlib/libc/machine/riscv/memcpy32_speed.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,10 @@ static void memcpy_4_1(uint8_t *des, const uint8_t *src)

static void memcpy_4_2(uint8_t *des, const uint8_t *src)
{
#if 1
uint16_t temp2 = ((const uint16_t *)src)[0];
uint16_t temp3 = ((const uint16_t *)src)[1];
((uint16_t *)des)[0] = temp2;
((uint16_t *)des)[1] = temp3;
#else
uint32_t temp2 = ((const uint16_t *)src)[0];
uint32_t temp3 = ((const uint16_t *)src)[1];
temp3 <<= 16;
temp2 |= temp3;
((uint32_t *)des)[0] = temp2;
#endif
}

static void memcpy_4_3(uint8_t *des, const uint8_t *src)
Expand Down
48 changes: 0 additions & 48 deletions newlib/libc/machine/riscv/memcpy64_speed.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,11 @@ static void memcpy_4_1(uint8_t *des, const uint8_t *src)

static void memcpy_4_2(uint8_t *des, const uint8_t *src)
{
#if 1
uint32_t temp2 = ((const uint16_t *)src)[0];
uint32_t temp3 = ((const uint16_t *)src)[1];
temp3 <<= 16;
temp2 |= temp3;
((uint32_t *)des)[0] = temp2;
#else
uint16_t temp2 = ((const uint16_t *)src)[0];
uint16_t temp3 = ((const uint16_t *)src)[1];
((uint16_t *)des)[0] = temp2;
((uint16_t *)des)[1] = temp3;
#endif
}

#define memcpy_4_6 memcpy_4_2
Expand Down Expand Up @@ -80,82 +73,41 @@ static void memcpy_8_1(uint8_t *des, const uint8_t *src)

static void memcpy_8_2(uint8_t *des, const uint8_t *src)
{
#if 1
uint64_t temp2 = ((const uint64_t *)(src - 2))[0];
uint64_t temp3 = ((const uint16_t *)src)[3];
temp2 >>= 16;
temp3 <<= 48;
temp2 |= temp3;
((uint64_t *)des)[0] = temp2;
#else
uint16_t temp2 = ((const uint16_t *)src)[0];
uint16_t temp3 = ((const uint16_t *)src)[1];
uint16_t temp4 = ((const uint16_t *)src)[2];
uint16_t temp5 = ((const uint16_t *)src)[3];
((uint16_t *)des)[0] = temp2;
((uint16_t *)des)[1] = temp3;
((uint16_t *)des)[2] = temp4;
((uint16_t *)des)[3] = temp5;
#endif
}

static void memcpy_8_3(uint8_t *des, const uint8_t *src)
{
#if 1
uint64_t temp2 = ((const uint64_t *)(src - 3))[0];
uint64_t temp4 = ((const uint32_t *)(src + 5))[0];
temp2 >>= 24;
temp4 <<= 40;
temp2 |= temp4;
((uint64_t *)des)[0] = temp2;
#else
uint64_t temp2 = src[0];
uint64_t temp3 = ((const uint32_t *)(src + 1))[0];
uint64_t temp4 = ((const uint32_t *)(src + 5))[0];
temp3 <<= 8;
temp4 <<= 40;
temp2 |= temp3;
temp2 |= temp4;
((uint64_t *)des)[0] = temp2;
#endif
}

static void memcpy_8_4(uint8_t *des, const uint8_t *src)
{
#if 1
uint64_t temp2 = ((const uint32_t *)src)[0];
uint64_t temp3 = ((const uint32_t *)(src + 4))[0];
temp3 <<= 32;
temp2 |= temp3;
((uint64_t *)des)[0] = temp2;
#else
uint32_t temp2 = ((const uint32_t *)src)[0];
uint32_t temp3 = ((const uint32_t *)(src + 4))[0];
((uint32_t *)des)[0] = temp2;
((uint32_t *)des)[1] = temp3;
#endif
}

static void memcpy_8_5(uint8_t *des, const uint8_t *src)
{
#if 1
uint64_t temp2 = ((const uint32_t *)(src - 1))[0];
uint64_t temp3 = ((const uint64_t *)(src + 3))[0];
temp2 >>= 8;
temp3 <<= 24;
temp2 |= temp3;
((uint64_t *)des)[0] = temp2;
#else
uint64_t temp2 = ((const uint32_t *)(src - 1))[0];
uint64_t temp3 = ((const uint32_t *)(src + 3))[0];
uint64_t temp4 = (src + 7)[0];
temp2 >>= 8;
temp3 <<= 24;
temp4 <<= 56;
temp2 |= temp3;
temp2 |= temp4;
((uint64_t *)des)[0] = temp2;
#endif
}

static void memcpy_8_6(uint8_t *des, const uint8_t *src)
Expand Down

0 comments on commit 077c4c5

Please sign in to comment.