mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 19:01:57 -04:00
Add dedicated XOR-only fast path for NEON rec1of1
This commit is contained in:
parent
b9d0dcd173
commit
82089165b5
3 changed files with 12 additions and 4 deletions
|
|
@ -1265,6 +1265,8 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
|
|||
|
||||
#ifdef CONFIG_NEON
|
||||
SPEED_START {
|
||||
/* raid_rec1of1() internally calls raid_gen() */
|
||||
raid_gen_force(1, raid_gen1_neon);
|
||||
raid_rec1_neon(1, id, ip, nd, size, v);
|
||||
} SPEED_STOP
|
||||
|
||||
|
|
|
|||
12
raid/neon.c
12
raid/neon.c
|
|
@ -1377,10 +1377,14 @@ void raid_gen6_neon_aes(int nd, size_t size, void **vv)
|
|||
void raid_rec1_neon(int nr, int *id, int *ip, int nd, size_t size, void **vv)
|
||||
{
|
||||
BUG_ON(nr != 1);
|
||||
if (ip[0] == 0)
|
||||
raid_recX_neon_12(1, 1, id, ip, nd, size, vv);
|
||||
else
|
||||
raid_recX_neon_12(1, 0, id, ip, nd, size, vv);
|
||||
|
||||
/* if recovering with P uses the delta function */
|
||||
if (ip[0] == 0) {
|
||||
raid_rec1of1(id, nd, size, vv);
|
||||
return;
|
||||
}
|
||||
|
||||
raid_recX_neon_12(1, 0, id, ip, nd, size, vv);
|
||||
}
|
||||
|
||||
void raid_rec2_neon(int nr, int *id, int *ip, int nd, size_t size, void **vv)
|
||||
|
|
|
|||
|
|
@ -1160,6 +1160,8 @@ void speed_rec(int nd, void **v, int size, int delta, int period)
|
|||
|
||||
#ifdef CONFIG_NEON
|
||||
SPEED_START {
|
||||
/* raid_rec1of1() internally calls raid_gen() */
|
||||
raid_gen_force(1, raid_gen1_neon);
|
||||
raid_rec1_neon(1, id, ip, nd, size, v);
|
||||
} SPEED_STOP
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue