source: trunk/lib_ir/p2s.h

Last change on this file was 4051, checked in by linmengl, 5 years ago

add pure ir p2s, get the same performance on SSE2 now

File size: 805 bytes
Line 
1#ifndef P2S_H
2#define P2S_H
3
4#include "ir_common.h"
5
6extern "C" {
7  void p2s_step_ir(BitBlock p0, BitBlock p1, BitBlock hi_mask, BitBlock shift_mask, BitBlock *s0, BitBlock *s1);
8
9  void p2s_bytemerge_ir(BitBlock p0, BitBlock p1, BitBlock p2, BitBlock p3, BitBlock p4, BitBlock p5, BitBlock p6, BitBlock p7, BitBlock *s0, BitBlock *s1, BitBlock *s2, BitBlock *s3, BitBlock *s4, BitBlock *s5, BitBlock *s6, BitBlock *s7);
10
11}
12
13#define P2S_ALGORITHM p2s_bytemerge
14
15#define p2s_bytemerge(p0, p1, p2, p3, p4, p5, p6, p7, s0, s1, s2, s3, s4, s5, s6, s7)\
16  p2s_bytemerge_ir(p0, p1, p2, p3, p4, p5, p6, p7, &s0, &s1, &s2, &s3, &s4, &s5, &s6, &s7)
17
18#define p2s(p0, p1, p2, p3, p4, p5, p6, p7, s0, s1, s2, s3, s4, s5, s6, s7)\
19  P2S_ALGORITHM(p0, p1, p2, p3, p4, p5, p6, p7, s7, s6, s5, s4, s3, s2, s1, s0)
20#endif
Note: See TracBrowser for help on using the repository browser.