mcst-linux-kernel/patches-2024.06.26/pixman-0.42.2/0009-crazy-compiler-hints.s...

31 lines
961 B
Diff

--- a/pixman/pixman-ssse3.c
+++ b/pixman/pixman-ssse3.c
@@ -64,6 +64,9 @@ ssse3_fetch_horizontal (bits_image_t *image, line_t *line,
__m128i *b = (__m128i *)line->buffer;
__m128i vrl0, vrl1;
+#pragma ivdep
+#pragma prefetch
+#pragma loop count(1000)
while ((n -= 2) >= 0)
{
__m128i vw, vr, s;
@@ -192,6 +195,9 @@ ssse3_fetch_bilinear_cover (pixman_iter_t *iter, const uint32_t *mask)
vw = _mm_set_epi16 (
dist_y, dist_y, dist_y, dist_y, dist_y, dist_y, dist_y, dist_y);
+#pragma ivdep
+#pragma prefetch
+#pragma loop count(1000)
for (i = 0; i + 3 < iter->width; i += 4)
{
__m128i top0 = _mm_load_si128 ((__m128i *)(line0->buffer + i));
@@ -226,6 +232,7 @@ ssse3_fetch_bilinear_cover (pixman_iter_t *iter, const uint32_t *mask)
_mm_storeu_si128 ((__m128i *)(iter->buffer + i), p);
}
+#pragma loop count(3)
while (i < iter->width)
{
__m128i top0 = _mm_load_si128 ((__m128i *)(line0->buffer + i));