Lines Matching defs:data
46 void f32_trunc_wrapper(Address data) {
47 WriteUnalignedValue<float>(data, truncf(ReadUnalignedValue<float>(data)));
50 void f32_floor_wrapper(Address data) {
51 WriteUnalignedValue<float>(data, floorf(ReadUnalignedValue<float>(data)));
54 void f32_ceil_wrapper(Address data) {
55 WriteUnalignedValue<float>(data, ceilf(ReadUnalignedValue<float>(data)));
58 void f32_nearest_int_wrapper(Address data) {
59 float input = ReadUnalignedValue<float>(data);
64 WriteUnalignedValue<float>(data, value);
67 void f64_trunc_wrapper(Address data) {
68 WriteUnalignedValue<double>(data, trunc(ReadUnalignedValue<double>(data)));
71 void f64_floor_wrapper(Address data) {
72 WriteUnalignedValue<double>(data, floor(ReadUnalignedValue<double>(data)));
75 void f64_ceil_wrapper(Address data) {
76 WriteUnalignedValue<double>(data, ceil(ReadUnalignedValue<double>(data)));
79 void f64_nearest_int_wrapper(Address data) {
80 double input = ReadUnalignedValue<double>(data);
85 WriteUnalignedValue<double>(data, value);
88 void int64_to_float32_wrapper(Address data) {
89 int64_t input = ReadUnalignedValue<int64_t>(data);
90 WriteUnalignedValue<float>(data, static_cast<float>(input));
93 void uint64_to_float32_wrapper(Address data) {
94 uint64_t input = ReadUnalignedValue<uint64_t>(data);
100 // / leading 0 \/ 24 float data bits \/ for rounding \/ trailing 0 \
103 // Float32 can only represent 24 data bit (1 implicit 1 bit + 23 mantissa
120 // * Starting from the MSB, extract 25 bits (24 data bits + the first rounding
133 // Shift to extract the data bits.
157 WriteUnalignedValue<float>(data, result);
161 WriteUnalignedValue<float>(data, static_cast<float>(input));
164 void int64_to_float64_wrapper(Address data) {
165 int64_t input = ReadUnalignedValue<int64_t>(data);
166 WriteUnalignedValue<double>(data, static_cast<double>(input));
169 void uint64_to_float64_wrapper(Address data) {
170 uint64_t input = ReadUnalignedValue<uint64_t>(data);
188 WriteUnalignedValue<double>(data, result);
191 int32_t float32_to_int64_wrapper(Address data) {
192 float input = ReadUnalignedValue<float>(data);
194 WriteUnalignedValue<int64_t>(data, static_cast<int64_t>(input));
200 int32_t float32_to_uint64_wrapper(Address data) {
201 float input = ReadUnalignedValue<float>(data);
203 WriteUnalignedValue<uint64_t>(data, static_cast<uint64_t>(input));
209 int32_t float64_to_int64_wrapper(Address data) {
210 double input = ReadUnalignedValue<double>(data);
212 WriteUnalignedValue<int64_t>(data, static_cast<int64_t>(input));
218 int32_t float64_to_uint64_wrapper(Address data) {
219 double input = ReadUnalignedValue<double>(data);
221 WriteUnalignedValue<uint64_t>(data, static_cast<uint64_t>(input));
227 void float32_to_int64_sat_wrapper(Address data) {
228 float input = ReadUnalignedValue<float>(data);
230 WriteUnalignedValue<int64_t>(data, static_cast<int64_t>(input));
234 WriteUnalignedValue<int64_t>(data, 0);
238 WriteUnalignedValue<int64_t>(data, std::numeric_limits<int64_t>::min());
241 WriteUnalignedValue<int64_t>(data, std::numeric_limits<int64_t>::max());
244 void float32_to_uint64_sat_wrapper(Address data) {
245 float input = ReadUnalignedValue<float>(data);
247 WriteUnalignedValue<uint64_t>(data, static_cast<uint64_t>(input));
251 WriteUnalignedValue<uint64_t>(data, std::numeric_limits<uint64_t>::max());
254 WriteUnalignedValue<uint64_t>(data, 0);
257 void float64_to_int64_sat_wrapper(Address data) {
258 double input = ReadUnalignedValue<double>(data);
260 WriteUnalignedValue<int64_t>(data, static_cast<int64_t>(input));
264 WriteUnalignedValue<int64_t>(data, 0);
268 WriteUnalignedValue<int64_t>(data, std::numeric_limits<int64_t>::min());
271 WriteUnalignedValue<int64_t>(data, std::numeric_limits<int64_t>::max());
274 void float64_to_uint64_sat_wrapper(Address data) {
275 double input = ReadUnalignedValue<double>(data);
277 WriteUnalignedValue<uint64_t>(data, static_cast<uint64_t>(input));
281 WriteUnalignedValue<uint64_t>(data, std::numeric_limits<uint64_t>::max());
284 WriteUnalignedValue<uint64_t>(data, 0);
287 int32_t int64_div_wrapper(Address data) {
288 int64_t dividend = ReadUnalignedValue<int64_t>(data);
289 int64_t divisor = ReadUnalignedValue<int64_t>(data + sizeof(dividend));
296 WriteUnalignedValue<int64_t>(data, dividend / divisor);
300 int32_t int64_mod_wrapper(Address data) {
301 int64_t dividend = ReadUnalignedValue<int64_t>(data);
302 int64_t divisor = ReadUnalignedValue<int64_t>(data + sizeof(dividend));
307 WriteUnalignedValue<int64_t>(data, 0);
310 WriteUnalignedValue<int64_t>(data, dividend % divisor);
314 int32_t uint64_div_wrapper(Address data) {
315 uint64_t dividend = ReadUnalignedValue<uint64_t>(data);
316 uint64_t divisor = ReadUnalignedValue<uint64_t>(data + sizeof(dividend));
320 WriteUnalignedValue<uint64_t>(data, dividend / divisor);
324 int32_t uint64_mod_wrapper(Address data) {
325 uint64_t dividend = ReadUnalignedValue<uint64_t>(data);
326 uint64_t divisor = ReadUnalignedValue<uint64_t>(data + sizeof(dividend));
330 WriteUnalignedValue<uint64_t>(data, dividend % divisor);
334 uint32_t word32_ctz_wrapper(Address data) {
335 return base::bits::CountTrailingZeros(ReadUnalignedValue<uint32_t>(data));
338 uint32_t word64_ctz_wrapper(Address data) {
339 return base::bits::CountTrailingZeros(ReadUnalignedValue<uint64_t>(data));
342 uint32_t word32_popcnt_wrapper(Address data) {
343 return base::bits::CountPopulation(ReadUnalignedValue<uint32_t>(data));
346 uint32_t word64_popcnt_wrapper(Address data) {
347 return base::bits::CountPopulation(ReadUnalignedValue<uint64_t>(data));
350 uint32_t word32_rol_wrapper(Address data) {
351 uint32_t input = ReadUnalignedValue<uint32_t>(data);
352 uint32_t shift = ReadUnalignedValue<uint32_t>(data + sizeof(input)) & 31;
356 uint32_t word32_ror_wrapper(Address data) {
357 uint32_t input = ReadUnalignedValue<uint32_t>(data);
358 uint32_t shift = ReadUnalignedValue<uint32_t>(data + sizeof(input)) & 31;
362 void word64_rol_wrapper(Address data) {
363 uint64_t input = ReadUnalignedValue<uint64_t>(data);
364 uint64_t shift = ReadUnalignedValue<uint64_t>(data + sizeof(input)) & 63;
366 WriteUnalignedValue<uint64_t>(data, result);
369 void word64_ror_wrapper(Address data) {
370 uint64_t input = ReadUnalignedValue<uint64_t>(data);
371 uint64_t shift = ReadUnalignedValue<uint64_t>(data + sizeof(input)) & 63;
373 WriteUnalignedValue<uint64_t>(data, result);
376 void float64_pow_wrapper(Address data) {
377 double x = ReadUnalignedValue<double>(data);
378 double y = ReadUnalignedValue<double>(data + sizeof(x));
379 WriteUnalignedValue<double>(data, base::ieee754::pow(x, y));
383 void simd_float_round_wrapper(Address data) {
386 T input = ReadUnalignedValue<T>(data + (i * sizeof(T)));
391 WriteUnalignedValue<T>(data + (i * sizeof(T)), value);
395 void f64x2_ceil_wrapper(Address data) {
396 simd_float_round_wrapper<double, &ceil>(data);
399 void f64x2_floor_wrapper(Address data) {
400 simd_float_round_wrapper<double, &floor>(data);
403 void f64x2_trunc_wrapper(Address data) {
404 simd_float_round_wrapper<double, &trunc>(data);
407 void f64x2_nearest_int_wrapper(Address data) {
408 simd_float_round_wrapper<double, &nearbyint>(data);
411 void f32x4_ceil_wrapper(Address data) {
412 simd_float_round_wrapper<float, &ceilf>(data);
415 void f32x4_floor_wrapper(Address data) {
416 simd_float_round_wrapper<float, &floorf>(data);
419 void f32x4_trunc_wrapper(Address data) {
420 simd_float_round_wrapper<float, &truncf>(data);
423 void f32x4_nearest_int_wrapper(Address data) {
424 simd_float_round_wrapper<float, &nearbyintf>(data);
468 V ReadAndIncrementOffset(Address data, size_t* offset) {
469 V result = ReadUnalignedValue<V>(data + *offset);
478 int32_t memory_init_wrapper(Address data) {
482 Object raw_instance = ReadAndIncrementOffset<Object>(data, &offset);
484 uintptr_t dst = ReadAndIncrementOffset<uintptr_t>(data, &offset);
485 uint32_t src = ReadAndIncrementOffset<uint32_t>(data, &offset);
486 uint32_t seg_index = ReadAndIncrementOffset<uint32_t>(data, &offset);
487 uint32_t size = ReadAndIncrementOffset<uint32_t>(data, &offset);
501 int32_t memory_copy_wrapper(Address data) {
505 Object raw_instance = ReadAndIncrementOffset<Object>(data, &offset);
507 uintptr_t dst = ReadAndIncrementOffset<uintptr_t>(data, &offset);
508 uintptr_t src = ReadAndIncrementOffset<uintptr_t>(data, &offset);
509 uintptr_t size = ReadAndIncrementOffset<uintptr_t>(data, &offset);
521 int32_t memory_fill_wrapper(Address data) {
526 Object raw_instance = ReadAndIncrementOffset<Object>(data, &offset);
528 uintptr_t dst = ReadAndIncrementOffset<uintptr_t>(data, &offset);
530 static_cast<uint8_t>(ReadAndIncrementOffset<uint32_t>(data, &offset));
531 uintptr_t size = ReadAndIncrementOffset<uintptr_t>(data, &offset);