Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(361)

Side by Side Diff: crosstest/mem_intrin.h

Issue 1278173009: Inline memove for small constant sizes and refactor memcpy and memset. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix memmove and add tests Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Simple sanity test of memcpy, memmove, and memset intrinsics. 2 * Simple sanity test of memcpy, memmove, and memset intrinsics.
3 * (fixed length buffers, variable length buffers, etc.). 3 * (fixed length buffers, variable length buffers, etc.).
4 * There is no include guard since this will be included multiple times, 4 * There is no include guard since this will be included multiple times,
5 * under different namespaces. 5 * under different namespaces.
6 */ 6 */
7 7
8 int memcpy_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length); 8 int memcpy_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length);
9 int memmove_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length); 9 int memmove_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length);
10 int memset_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length); 10 int memset_test(uint8_t *buf, uint8_t *buf2, uint8_t init, size_t length);
11 11
12 int memcpy_test_fixed_len(uint8_t init); 12 #define decl_test_fixed_len(NBYTES) \
13 int memmove_test_fixed_len(uint8_t init); 13 int memcpy_test_fixed_len_##NBYTES(uint8_t init); \
14 int memset_test_fixed_len(uint8_t init); 14 int memmove_test_fixed_len_##NBYTES(uint8_t init); \
15 int memset_test_fixed_len_##NBYTES(uint8_t init);
16
17 decl_test_fixed_len(1);
18 decl_test_fixed_len(2);
19 decl_test_fixed_len(3);
20 decl_test_fixed_len(4);
21 decl_test_fixed_len(5);
22 decl_test_fixed_len(6);
23 decl_test_fixed_len(7);
24 decl_test_fixed_len(8);
25 decl_test_fixed_len(9);
26 decl_test_fixed_len(10);
27 decl_test_fixed_len(11);
28 decl_test_fixed_len(12);
29 decl_test_fixed_len(13);
30 decl_test_fixed_len(14);
31 decl_test_fixed_len(15);
32 decl_test_fixed_len(16);
33 decl_test_fixed_len(17);
34 decl_test_fixed_len(18);
35 decl_test_fixed_len(19);
36 decl_test_fixed_len(20);
37 decl_test_fixed_len(21);
38 decl_test_fixed_len(22);
39 decl_test_fixed_len(23);
40 decl_test_fixed_len(24);
41 decl_test_fixed_len(25);
42 decl_test_fixed_len(26);
43 decl_test_fixed_len(27);
44 decl_test_fixed_len(28);
45 decl_test_fixed_len(29);
46 decl_test_fixed_len(30);
47 decl_test_fixed_len(31);
48 decl_test_fixed_len(32);
49 decl_test_fixed_len(33);
50 decl_test_fixed_len(34);
51 decl_test_fixed_len(35);
52 decl_test_fixed_len(36);
53 decl_test_fixed_len(37);
54 decl_test_fixed_len(38);
55 decl_test_fixed_len(39);
56 decl_test_fixed_len(40);
57 decl_test_fixed_len(41);
58 decl_test_fixed_len(42);
59 decl_test_fixed_len(43);
60 decl_test_fixed_len(44);
61 decl_test_fixed_len(45);
62 decl_test_fixed_len(46);
63 decl_test_fixed_len(47);
64 decl_test_fixed_len(48);
65 decl_test_fixed_len(49);
66 decl_test_fixed_len(50);
67 decl_test_fixed_len(51);
68 decl_test_fixed_len(52);
69 decl_test_fixed_len(53);
70 decl_test_fixed_len(54);
71 decl_test_fixed_len(55);
72 decl_test_fixed_len(56);
73 decl_test_fixed_len(57);
74 decl_test_fixed_len(58);
75 decl_test_fixed_len(59);
76 decl_test_fixed_len(60);
77 decl_test_fixed_len(61);
78 decl_test_fixed_len(62);
79 decl_test_fixed_len(63);
80 decl_test_fixed_len(64);
81 decl_test_fixed_len(65);
82 decl_test_fixed_len(66);
83 decl_test_fixed_len(67);
84 decl_test_fixed_len(68);
85 decl_test_fixed_len(69);
86 decl_test_fixed_len(70);
87 decl_test_fixed_len(71);
88 decl_test_fixed_len(72);
89 decl_test_fixed_len(73);
90 decl_test_fixed_len(74);
91 decl_test_fixed_len(75);
92 decl_test_fixed_len(76);
93 decl_test_fixed_len(77);
94 decl_test_fixed_len(78);
95 decl_test_fixed_len(79);
96 decl_test_fixed_len(80);
97 decl_test_fixed_len(81);
98 decl_test_fixed_len(82);
99 decl_test_fixed_len(83);
100 decl_test_fixed_len(84);
101 decl_test_fixed_len(85);
102 decl_test_fixed_len(86);
103 decl_test_fixed_len(87);
104 decl_test_fixed_len(88);
105 decl_test_fixed_len(89);
106 decl_test_fixed_len(90);
107 decl_test_fixed_len(91);
108 decl_test_fixed_len(92);
109 decl_test_fixed_len(93);
110 decl_test_fixed_len(94);
111 decl_test_fixed_len(95);
112 decl_test_fixed_len(96);
113 decl_test_fixed_len(97);
114 decl_test_fixed_len(98);
115 decl_test_fixed_len(99);
116 decl_test_fixed_len(100);
117 decl_test_fixed_len(101);
118 decl_test_fixed_len(102);
119 decl_test_fixed_len(103);
120 decl_test_fixed_len(104);
121 decl_test_fixed_len(105);
122 decl_test_fixed_len(106);
123 decl_test_fixed_len(107);
124 decl_test_fixed_len(108);
125 decl_test_fixed_len(109);
126 decl_test_fixed_len(110);
127 decl_test_fixed_len(111);
128 decl_test_fixed_len(112);
129 decl_test_fixed_len(113);
130 decl_test_fixed_len(114);
131 decl_test_fixed_len(115);
132 decl_test_fixed_len(116);
133 decl_test_fixed_len(117);
134 decl_test_fixed_len(118);
135 decl_test_fixed_len(119);
136 decl_test_fixed_len(120);
137 decl_test_fixed_len(121);
138 decl_test_fixed_len(122);
139 decl_test_fixed_len(123);
140 decl_test_fixed_len(124);
141 decl_test_fixed_len(125);
142 decl_test_fixed_len(126);
143 decl_test_fixed_len(127);
144 decl_test_fixed_len(128);
145 decl_test_fixed_len(129);
146 decl_test_fixed_len(130);
147 decl_test_fixed_len(131);
148 decl_test_fixed_len(132);
149 decl_test_fixed_len(133);
150 decl_test_fixed_len(134);
151 decl_test_fixed_len(135);
152 decl_test_fixed_len(136);
153 decl_test_fixed_len(137);
154 decl_test_fixed_len(138);
155 decl_test_fixed_len(139);
156 decl_test_fixed_len(140);
157 decl_test_fixed_len(141);
158 decl_test_fixed_len(142);
159 decl_test_fixed_len(143);
160 decl_test_fixed_len(144);
161 decl_test_fixed_len(145);
162 decl_test_fixed_len(146);
163 decl_test_fixed_len(147);
164 decl_test_fixed_len(148);
165 decl_test_fixed_len(149);
166 decl_test_fixed_len(150);
167 decl_test_fixed_len(151);
168 decl_test_fixed_len(152);
169 decl_test_fixed_len(153);
170 decl_test_fixed_len(154);
171 decl_test_fixed_len(155);
172 decl_test_fixed_len(156);
173 decl_test_fixed_len(157);
174 decl_test_fixed_len(158);
175 decl_test_fixed_len(159);
176 decl_test_fixed_len(160);
177 decl_test_fixed_len(161);
178 decl_test_fixed_len(162);
179 decl_test_fixed_len(163);
180 decl_test_fixed_len(164);
181 decl_test_fixed_len(165);
182 decl_test_fixed_len(166);
183 decl_test_fixed_len(167);
184 decl_test_fixed_len(168);
185 decl_test_fixed_len(169);
186 decl_test_fixed_len(170);
187 decl_test_fixed_len(171);
188 decl_test_fixed_len(172);
189 decl_test_fixed_len(173);
190 decl_test_fixed_len(174);
191 decl_test_fixed_len(175);
192 decl_test_fixed_len(176);
193 decl_test_fixed_len(177);
194 decl_test_fixed_len(178);
195 decl_test_fixed_len(179);
196 decl_test_fixed_len(180);
197 decl_test_fixed_len(181);
198 decl_test_fixed_len(182);
199 decl_test_fixed_len(183);
200 decl_test_fixed_len(184);
201 decl_test_fixed_len(185);
202 decl_test_fixed_len(186);
203 decl_test_fixed_len(187);
204 decl_test_fixed_len(188);
205 decl_test_fixed_len(189);
206 decl_test_fixed_len(190);
207 decl_test_fixed_len(191);
208 decl_test_fixed_len(192);
209 decl_test_fixed_len(193);
210 decl_test_fixed_len(194);
211 decl_test_fixed_len(195);
212 decl_test_fixed_len(196);
213 decl_test_fixed_len(197);
214 decl_test_fixed_len(198);
215 decl_test_fixed_len(199);
216 decl_test_fixed_len(200);
217 decl_test_fixed_len(201);
218 decl_test_fixed_len(202);
219 decl_test_fixed_len(203);
220 decl_test_fixed_len(204);
221 decl_test_fixed_len(205);
222 decl_test_fixed_len(206);
223 decl_test_fixed_len(207);
224 decl_test_fixed_len(208);
225 decl_test_fixed_len(209);
226 decl_test_fixed_len(210);
227 decl_test_fixed_len(211);
228 decl_test_fixed_len(212);
229 decl_test_fixed_len(213);
230 decl_test_fixed_len(214);
231 decl_test_fixed_len(215);
232 decl_test_fixed_len(216);
233 decl_test_fixed_len(217);
234 decl_test_fixed_len(218);
235 decl_test_fixed_len(219);
236 decl_test_fixed_len(220);
237 decl_test_fixed_len(221);
238 decl_test_fixed_len(222);
239 decl_test_fixed_len(223);
240 decl_test_fixed_len(224);
241 decl_test_fixed_len(225);
242 decl_test_fixed_len(226);
243 decl_test_fixed_len(227);
244 decl_test_fixed_len(228);
245 decl_test_fixed_len(229);
246 decl_test_fixed_len(230);
247 decl_test_fixed_len(231);
248 decl_test_fixed_len(232);
249 decl_test_fixed_len(233);
250 decl_test_fixed_len(234);
251 decl_test_fixed_len(235);
252 decl_test_fixed_len(236);
253 decl_test_fixed_len(237);
254 decl_test_fixed_len(238);
255 decl_test_fixed_len(239);
256 decl_test_fixed_len(240);
257 decl_test_fixed_len(241);
258 decl_test_fixed_len(242);
259 decl_test_fixed_len(243);
260 decl_test_fixed_len(244);
261 decl_test_fixed_len(245);
262 decl_test_fixed_len(246);
263 decl_test_fixed_len(247);
264 decl_test_fixed_len(248);
265 decl_test_fixed_len(249);
266 decl_test_fixed_len(250);
267 decl_test_fixed_len(251);
268 decl_test_fixed_len(252);
269 decl_test_fixed_len(253);
270 decl_test_fixed_len(254);
271 decl_test_fixed_len(255);
272 decl_test_fixed_len(256);
273
274 #undef decl_test_fixed_len
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698