Alien-FreeImage

 view release on metacpan or  search on metacpan

patches/FreeImage-3.17.0-ALL-IN-ONE.patch  view on Meta::CPAN

+  "precrq.ph.w     %[" #TEMP0 "],  %[temp8],     %[temp9]   \n\t"              \
   "append          %[temp8],     %[temp9],     16           \n\t"              \
-  "subq.ph         %["#TEMP1"],  %["#TEMP0"],  %[temp8]     \n\t"              \
-  "addq.ph         %["#TEMP0"],  %["#TEMP0"],  %[temp8]     \n\t"              \
-  "rotr            %["#TEMP1"],  %["#TEMP1"],  16           \n\t"
+  "subq.ph         %[" #TEMP1 "],  %[" #TEMP0 "],  %[temp8] \n\t"              \
+  "addq.ph         %[" #TEMP0 "],  %[" #TEMP0 "],  %[temp8] \n\t"              \
+  "rotr            %[" #TEMP1 "],  %[" #TEMP1 "],  16       \n\t"
 
 // macro for one vertical pass in FTransformWHT
 // temp0..temp7 holds tmp[0]..tmp[15]
 // A, B, C, D - offsets in bytes to store to out buffer
 // TEMP0, TEMP2, TEMP4 and TEMP6 - registers for corresponding tmp elements
 #define VERTICAL_PASS_WHT(A, B, C, D, TEMP0, TEMP2, TEMP4, TEMP6)              \
-  "addq.ph         %[temp8],     %["#TEMP0"],  %["#TEMP4"]  \n\t"              \
-  "addq.ph         %[temp9],     %["#TEMP2"],  %["#TEMP6"]  \n\t"              \
-  "subq.ph         %["#TEMP2"],  %["#TEMP2"],  %["#TEMP6"]  \n\t"              \
-  "subq.ph         %["#TEMP6"],  %["#TEMP0"],  %["#TEMP4"]  \n\t"              \
-  "addqh.ph        %["#TEMP0"],  %[temp8],     %[temp9]     \n\t"              \
-  "subqh.ph        %["#TEMP4"],  %["#TEMP6"],  %["#TEMP2"]  \n\t"              \
-  "addqh.ph        %["#TEMP2"],  %["#TEMP2"],  %["#TEMP6"]  \n\t"              \
-  "subqh.ph        %["#TEMP6"],  %[temp8],     %[temp9]     \n\t"              \
-  "usw             %["#TEMP0"],  "#A"(%[out])               \n\t"              \
-  "usw             %["#TEMP2"],  "#B"(%[out])               \n\t"              \
-  "usw             %["#TEMP4"],  "#C"(%[out])               \n\t"              \
-  "usw             %["#TEMP6"],  "#D"(%[out])               \n\t"
+  "addq.ph         %[temp8],     %[" #TEMP0 "],  %[" #TEMP4 "]    \n\t"        \
+  "addq.ph         %[temp9],     %[" #TEMP2 "],  %[" #TEMP6 "]    \n\t"        \
+  "subq.ph         %[" #TEMP2 "],  %[" #TEMP2 "],  %[" #TEMP6 "]  \n\t"        \
+  "subq.ph         %[" #TEMP6 "],  %[" #TEMP0 "],  %[" #TEMP4 "]  \n\t"        \
+  "addqh.ph        %[" #TEMP0 "],  %[temp8],     %[temp9]         \n\t"        \
+  "subqh.ph        %[" #TEMP4 "],  %[" #TEMP6 "],  %[" #TEMP2 "]  \n\t"        \
+  "addqh.ph        %[" #TEMP2 "],  %[" #TEMP2 "],  %[" #TEMP6 "]  \n\t"        \
+  "subqh.ph        %[" #TEMP6 "],  %[temp8],     %[temp9]         \n\t"        \
+  "usw             %[" #TEMP0 "],  " #A "(%[out])                 \n\t"        \
+  "usw             %[" #TEMP2 "],  " #B "(%[out])                 \n\t"        \
+  "usw             %[" #TEMP4 "],  " #C "(%[out])                 \n\t"        \
+  "usw             %[" #TEMP6 "],  " #D "(%[out])                 \n\t"
 
 static void FTransformWHT(const int16_t* in, int16_t* out) {
   int temp0, temp1, temp2, temp3, temp4;
@@ -1385,10 +1385,10 @@
 // convert 8 coeffs at time
 // A, B, C, D - offsets in bytes to load from out buffer
 #define CONVERT_COEFFS_TO_BIN(A, B, C, D)                                      \
-  "ulw        %[temp0],  "#A"(%[out])                  \n\t"                   \
-  "ulw        %[temp1],  "#B"(%[out])                  \n\t"                   \
-  "ulw        %[temp2],  "#C"(%[out])                  \n\t"                   \
-  "ulw        %[temp3],  "#D"(%[out])                  \n\t"                   \
+  "ulw        %[temp0],  " #A "(%[out])                \n\t"                   \
+  "ulw        %[temp1],  " #B "(%[out])                \n\t"                   \
+  "ulw        %[temp2],  " #C "(%[out])                \n\t"                   \
+  "ulw        %[temp3],  " #D "(%[out])                \n\t"                   \
   "absq_s.ph  %[temp0],  %[temp0]                      \n\t"                   \
   "absq_s.ph  %[temp1],  %[temp1]                      \n\t"                   \
   "absq_s.ph  %[temp2],  %[temp2]                      \n\t"                   \
diff -ru src.3170/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c src/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c
--- src.3170/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c	2015-02-20 02:34:34.000000000 +0100
+++ src/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c	2017-06-22 22:17:19.462540500 +0200
@@ -48,7 +48,7 @@
       "srl       %[temp0],    %[length],    0x2         \n\t"                  \
       "beqz      %[temp0],    4f                        \n\t"                  \
       " andi     %[temp6],    %[length],    0x3         \n\t"                  \
-    ".if "#INVERSE"                                     \n\t"                  \
+    ".if " #INVERSE "                                   \n\t"                  \
       "lbu       %[temp1],    -1(%[src])                \n\t"                  \
     "1:                                                 \n\t"                  \
       "lbu       %[temp2],    0(%[src])                 \n\t"                  \
@@ -84,7 +84,7 @@
       "lbu       %[temp1],    -1(%[src])                \n\t"                  \
       "lbu       %[temp2],    0(%[src])                 \n\t"                  \
       "addiu     %[src],      %[src],       1           \n\t"                  \
-    ".if "#INVERSE"                                     \n\t"                  \
+    ".if " #INVERSE "                                   \n\t"                  \
       "addu      %[temp3],    %[temp1],     %[temp2]    \n\t"                  \
       "sb        %[temp3],    -1(%[src])                \n\t"                  \
     ".else                                              \n\t"                  \
@@ -131,7 +131,7 @@
       "ulw       %[temp3],    4(%[src])                 \n\t"                  \
       "ulw       %[temp4],    4(%[pred])                \n\t"                  \
       "addiu     %[src],      %[src],       8           \n\t"                  \
-    ".if "#INVERSE"                                     \n\t"                  \
+    ".if " #INVERSE "                                   \n\t"                  \
       "addu.qb   %[temp5],    %[temp1],     %[temp2]    \n\t"                  \
       "addu.qb   %[temp6],    %[temp3],     %[temp4]    \n\t"                  \
     ".else                                              \n\t"                  \
@@ -152,7 +152,7 @@
       "lbu       %[temp2],    0(%[pred])                \n\t"                  \
       "addiu     %[src],      %[src],       1           \n\t"                  \
       "addiu     %[pred],     %[pred],      1           \n\t"                  \
-    ".if "#INVERSE"                                     \n\t"                  \
+    ".if " #INVERSE "                                   \n\t"                  \
       "addu      %[temp3],    %[temp1],     %[temp2]    \n\t"                  \
     ".else                                              \n\t"                  \
       "subu      %[temp3],    %[temp1],     %[temp2]    \n\t"                  \
@@ -177,7 +177,7 @@
     __asm__ volatile (                                                         \
       "lbu       %[temp1],   0(%[src])               \n\t"                     \
       "lbu       %[temp2],   0(%[pred])              \n\t"                     \
-    ".if "#INVERSE"                                  \n\t"                     \
+    ".if " #INVERSE "                                \n\t"                     \
       "addu      %[temp3],   %[temp1],   %[temp2]    \n\t"                     \
     ".else                                           \n\t"                     \
       "subu      %[temp3],   %[temp1],   %[temp2]    \n\t"                     \
diff -ru src.3170/Source/LibWebP/src/dsp/dsp.lossless_mips32.c src/Source/LibWebP/src/dsp/dsp.lossless_mips32.c
--- src.3170/Source/LibWebP/src/dsp/dsp.lossless_mips32.c	2015-02-20 02:34:36.000000000 +0100
+++ src/Source/LibWebP/src/dsp/dsp.lossless_mips32.c	2017-06-22 22:18:06.110473600 +0200
@@ -285,28 +285,28 @@
 // literal_ and successive histograms could be unaligned
 // so we must use ulw and usw
 #define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2)           \
-    "ulw    %[temp0], "#A"(%["#P0"])        \n\t"       \
-    "ulw    %[temp1], "#B"(%["#P0"])        \n\t"       \
-    "ulw    %[temp2], "#C"(%["#P0"])        \n\t"       \
-    "ulw    %[temp3], "#D"(%["#P0"])        \n\t"       \
-    "ulw    %[temp4], "#A"(%["#P1"])        \n\t"       \
-    "ulw    %[temp5], "#B"(%["#P1"])        \n\t"       \
-    "ulw    %[temp6], "#C"(%["#P1"])        \n\t"       \
-    "ulw    %[temp7], "#D"(%["#P1"])        \n\t"       \
+    "ulw    %[temp0], " #A "(%[" #P0 "])    \n\t"       \
+    "ulw    %[temp1], " #B "(%[" #P0 "])    \n\t"       \
+    "ulw    %[temp2], " #C "(%[" #P0 "])    \n\t"       \
+    "ulw    %[temp3], " #D "(%[" #P0 "])    \n\t"       \



( run in 1.800 second using v1.01-cache-2.11-cpan-140bd7fdf52 )