static void inline histogram_helper_cs_Lab(const dt_dev_histogram_collection_params_t *const histogram_params, const void *pixel, uint32_t *histogram, int j) { const dt_histogram_roi_t *roi = histogram_params->roi; float *in = (float *)pixel + 4 * (roi->width * j + roi->crop_x); // process aligned pixels with SSE for(int i = 0; i < roi->width - roi->crop_width - roi->crop_x; i++, in += 4) histogram_helper_cs_Lab_helper_process_pixel_m128(histogram_params, in, histogram); }
inline static void histogram_helper_cs_Lab(const dt_dev_histogram_collection_params_t *const histogram_params, const void *pixel, uint32_t *histogram, int j) { const dt_histogram_roi_t *roi = histogram_params->roi; float *in = (float *)pixel + 4 * (roi->width * j + roi->crop_x); // process aligned pixels with SSE for(int i = 0; i < roi->width - roi->crop_width - roi->crop_x; i++, in += 4) { if(darktable.codepath.OPENMP_SIMD) histogram_helper_cs_Lab_helper_process_pixel_float(histogram_params, in, histogram); #if defined(__SSE2__) else if(darktable.codepath.SSE2) histogram_helper_cs_Lab_helper_process_pixel_m128(histogram_params, in, histogram); #endif else dt_unreachable_codepath(); } }