Alien-FreeImage

 view release on metacpan or  search on metacpan

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

-  "subq.ph          %["#O1"],   %["#I0"],  %["#I1"]           \n\t"            \
-  "addq.ph          %["#O2"],   %["#I2"],  %["#I3"]           \n\t"            \
-  "subq.ph          %["#O3"],   %["#I2"],  %["#I3"]           \n\t"            \
-  "addq.ph          %["#O4"],   %["#I4"],  %["#I5"]           \n\t"            \
-  "subq.ph          %["#O5"],   %["#I4"],  %["#I5"]           \n\t"            \
-  "addq.ph          %["#O6"],   %["#I6"],  %["#I7"]           \n\t"            \
-  "subq.ph          %["#O7"],   %["#I6"],  %["#I7"]           \n\t"
+  "addq.ph          %[" #O0 "],   %[" #I0 "],  %[" #I1 "]     \n\t"            \
+  "subq.ph          %[" #O1 "],   %[" #I0 "],  %[" #I1 "]     \n\t"            \
+  "addq.ph          %[" #O2 "],   %[" #I2 "],  %[" #I3 "]     \n\t"            \
+  "subq.ph          %[" #O3 "],   %[" #I2 "],  %[" #I3 "]     \n\t"            \
+  "addq.ph          %[" #O4 "],   %[" #I4 "],  %[" #I5 "]     \n\t"            \
+  "subq.ph          %[" #O5 "],   %[" #I4 "],  %[" #I5 "]     \n\t"            \
+  "addq.ph          %[" #O6 "],   %[" #I6 "],  %[" #I7 "]     \n\t"            \
+  "subq.ph          %[" #O7 "],   %[" #I6 "],  %[" #I7 "]     \n\t"
 
 // IO - input/output
 #define ABS_X8(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7)                         \
-  "absq_s.ph        %["#IO0"],   %["#IO0"]                    \n\t"            \
-  "absq_s.ph        %["#IO1"],   %["#IO1"]                    \n\t"            \
-  "absq_s.ph        %["#IO2"],   %["#IO2"]                    \n\t"            \
-  "absq_s.ph        %["#IO3"],   %["#IO3"]                    \n\t"            \
-  "absq_s.ph        %["#IO4"],   %["#IO4"]                    \n\t"            \
-  "absq_s.ph        %["#IO5"],   %["#IO5"]                    \n\t"            \
-  "absq_s.ph        %["#IO6"],   %["#IO6"]                    \n\t"            \
-  "absq_s.ph        %["#IO7"],   %["#IO7"]                    \n\t"
+  "absq_s.ph        %[" #IO0 "],   %[" #IO0 "]                \n\t"            \
+  "absq_s.ph        %[" #IO1 "],   %[" #IO1 "]                \n\t"            \
+  "absq_s.ph        %[" #IO2 "],   %[" #IO2 "]                \n\t"            \
+  "absq_s.ph        %[" #IO3 "],   %[" #IO3 "]                \n\t"            \
+  "absq_s.ph        %[" #IO4 "],   %[" #IO4 "]                \n\t"            \
+  "absq_s.ph        %[" #IO5 "],   %[" #IO5 "]                \n\t"            \
+  "absq_s.ph        %[" #IO6 "],   %[" #IO6 "]                \n\t"            \
+  "absq_s.ph        %[" #IO7 "],   %[" #IO7 "]                \n\t"
 
 // dpa.w.ph $ac0 temp0 ,temp1
 //  $ac += temp0[31..16] * temp1[31..16] + temp0[15..0] * temp1[15..0]
@@ -56,15 +56,15 @@
 #define MUL_HALF(O0, I0, I1, I2, I3, I4, I5, I6, I7,                           \
                  I8, I9, I10, I11, I12, I13, I14, I15)                         \
     "mult            $ac0,      $zero,     $zero              \n\t"            \
-    "dpa.w.ph        $ac0,      %["#I2"],  %["#I0"]           \n\t"            \
-    "dpax.w.ph       $ac0,      %["#I5"],  %["#I6"]           \n\t"            \
-    "dpa.w.ph        $ac0,      %["#I8"],  %["#I9"]           \n\t"            \
-    "dpax.w.ph       $ac0,      %["#I11"], %["#I4"]           \n\t"            \
-    "dpa.w.ph        $ac0,      %["#I12"], %["#I7"]           \n\t"            \
-    "dpax.w.ph       $ac0,      %["#I13"], %["#I1"]           \n\t"            \
-    "dpa.w.ph        $ac0,      %["#I14"], %["#I3"]           \n\t"            \
-    "dpax.w.ph       $ac0,      %["#I15"], %["#I10"]          \n\t"            \
-    "mflo            %["#O0"],  $ac0                          \n\t"
+    "dpa.w.ph        $ac0,      %[" #I2 "],  %[" #I0 "]       \n\t"            \
+    "dpax.w.ph       $ac0,      %[" #I5 "],  %[" #I6 "]       \n\t"            \
+    "dpa.w.ph        $ac0,      %[" #I8 "],  %[" #I9 "]       \n\t"            \
+    "dpax.w.ph       $ac0,      %[" #I11 "], %[" #I4 "]       \n\t"            \
+    "dpa.w.ph        $ac0,      %[" #I12 "], %[" #I7 "]       \n\t"            \
+    "dpax.w.ph       $ac0,      %[" #I13 "], %[" #I1 "]       \n\t"            \
+    "dpa.w.ph        $ac0,      %[" #I14 "], %[" #I3 "]       \n\t"            \
+    "dpax.w.ph       $ac0,      %[" #I15 "], %[" #I10 "]      \n\t"            \
+    "mflo            %[" #O0 "],  $ac0                        \n\t"
 
 #define OUTPUT_EARLY_CLOBBER_REGS_17()                                         \
   OUTPUT_EARLY_CLOBBER_REGS_10(),                                              \
@@ -77,69 +77,69 @@
 // A - offset in bytes to load from src and ref buffers
 // TEMP0..TEMP3 - registers for corresponding tmp elements
 #define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3)                         \
-  "lw              %["#TEMP0"],   0(%[args])                        \n\t"      \
-  "lw              %["#TEMP1"],   4(%[args])                        \n\t"      \
-  "lw              %["#TEMP2"],   "XSTR(BPS)"*"#A"(%["#TEMP0"])     \n\t"      \
-  "lw              %["#TEMP3"],   "XSTR(BPS)"*"#A"(%["#TEMP1"])     \n\t"      \
-  "preceu.ph.qbl   %["#TEMP0"],   %["#TEMP2"]                       \n\t"      \
-  "preceu.ph.qbl   %["#TEMP1"],   %["#TEMP3"]                       \n\t"      \
-  "preceu.ph.qbr   %["#TEMP2"],   %["#TEMP2"]                       \n\t"      \
-  "preceu.ph.qbr   %["#TEMP3"],   %["#TEMP3"]                       \n\t"      \
-  "subq.ph         %["#TEMP0"],   %["#TEMP0"],   %["#TEMP1"]        \n\t"      \
-  "subq.ph         %["#TEMP2"],   %["#TEMP2"],   %["#TEMP3"]        \n\t"      \
-  "rotr            %["#TEMP0"],   %["#TEMP0"],   16                 \n\t"      \
-  "addq.ph         %["#TEMP1"],   %["#TEMP2"],   %["#TEMP0"]        \n\t"      \
-  "subq.ph         %["#TEMP3"],   %["#TEMP2"],   %["#TEMP0"]        \n\t"      \
-  "seh             %["#TEMP0"],   %["#TEMP1"]                       \n\t"      \
-  "sra             %[temp16],     %["#TEMP1"],   16                 \n\t"      \
-  "seh             %[temp19],     %["#TEMP3"]                       \n\t"      \
-  "sra             %["#TEMP3"],   %["#TEMP3"],   16                 \n\t"      \
-  "subu            %["#TEMP2"],   %["#TEMP0"],   %[temp16]          \n\t"      \
-  "addu            %["#TEMP0"],   %["#TEMP0"],   %[temp16]          \n\t"      \
-  "mul             %[temp17],     %[temp19],     %[c2217]           \n\t"      \
-  "mul             %[temp18],     %["#TEMP3"],   %[c5352]           \n\t"      \
-  "mul             %["#TEMP1"],   %[temp19],     %[c5352]           \n\t"      \
-  "mul             %[temp16],     %["#TEMP3"],   %[c2217]           \n\t"      \
-  "sll             %["#TEMP2"],   %["#TEMP2"],   3                  \n\t"      \
-  "sll             %["#TEMP0"],   %["#TEMP0"],   3                  \n\t"      \
-  "subu            %["#TEMP3"],   %[temp17],     %[temp18]          \n\t"      \
-  "addu            %["#TEMP1"],   %[temp16],     %["#TEMP1"]        \n\t"      \
-  "addiu           %["#TEMP3"],   %["#TEMP3"],   937                \n\t"      \
-  "addiu           %["#TEMP1"],   %["#TEMP1"],   1812               \n\t"      \
-  "sra             %["#TEMP3"],   %["#TEMP3"],   9                  \n\t"      \
-  "sra             %["#TEMP1"],   %["#TEMP1"],   9                  \n\t"
+  "lw              %[" #TEMP0 "],   0(%[args])                          \n\t"  \
+  "lw              %[" #TEMP1 "],   4(%[args])                          \n\t"  \
+  "lw              %[" #TEMP2 "],   "XSTR(BPS)"*" #A "(%[" #TEMP0 "])   \n\t"  \
+  "lw              %[" #TEMP3 "],   "XSTR(BPS)"*" #A "(%[" #TEMP1 "])   \n\t"  \
+  "preceu.ph.qbl   %[" #TEMP0 "],   %[" #TEMP2 "]                       \n\t"  \
+  "preceu.ph.qbl   %[" #TEMP1 "],   %[" #TEMP3 "]                       \n\t"  \
+  "preceu.ph.qbr   %[" #TEMP2 "],   %[" #TEMP2 "]                       \n\t"  \
+  "preceu.ph.qbr   %[" #TEMP3 "],   %[" #TEMP3 "]                       \n\t"  \
+  "subq.ph         %[" #TEMP0 "],   %[" #TEMP0 "],   %[" #TEMP1 "]      \n\t"  \
+  "subq.ph         %[" #TEMP2 "],   %[" #TEMP2 "],   %[" #TEMP3 "]      \n\t"  \
+  "rotr            %[" #TEMP0 "],   %[" #TEMP0 "],   16                 \n\t"  \
+  "addq.ph         %[" #TEMP1 "],   %[" #TEMP2 "],   %[" #TEMP0 "]      \n\t"  \
+  "subq.ph         %[" #TEMP3 "],   %[" #TEMP2 "],   %[" #TEMP0 "]      \n\t"  \
+  "seh             %[" #TEMP0 "],   %[" #TEMP1 "]                       \n\t"  \
+  "sra             %[temp16],     %[" #TEMP1 "],   16                   \n\t"  \
+  "seh             %[temp19],     %[" #TEMP3 "]                         \n\t"  \
+  "sra             %[" #TEMP3 "],   %[" #TEMP3 "],   16                 \n\t"  \
+  "subu            %[" #TEMP2 "],   %[" #TEMP0 "],   %[temp16]          \n\t"  \
+  "addu            %[" #TEMP0 "],   %[" #TEMP0 "],   %[temp16]          \n\t"  \
+  "mul             %[temp17],     %[temp19],     %[c2217]               \n\t"  \
+  "mul             %[temp18],     %[" #TEMP3 "],   %[c5352]             \n\t"  \
+  "mul             %[" #TEMP1 "],   %[temp19],     %[c5352]             \n\t"  \
+  "mul             %[temp16],     %[" #TEMP3 "],   %[c2217]             \n\t"  \
+  "sll             %[" #TEMP2 "],   %[" #TEMP2 "],   3                  \n\t"  \
+  "sll             %[" #TEMP0 "],   %[" #TEMP0 "],   3                  \n\t"  \

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

+  "preceu.ph.qbr    %[" #O4 "],   %[" #I2 "]                      \n\t"        \
+  "preceu.ph.qbl    %[" #O5 "],   %[" #I2 "]                      \n\t"        \
+  "preceu.ph.qbr    %[" #O6 "],   %[" #I3 "]                      \n\t"        \
+  "preceu.ph.qbl    %[" #O7 "],   %[" #I3 "]                      \n\t"
 
 // temp0[31..16 | 15..0] = temp0[31..16 | 15..0] + temp8[31..16 | 15..0]
 // temp0[31..16 | 15..0] = temp0[31..16 <<(s) 7 | 15..0 <<(s) 7]
@@ -160,30 +160,30 @@
 #define STORE_SAT_SUM_X2(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7,               \
                          I0, I1, I2, I3, I4, I5, I6, I7,                       \
                          I8, I9, I10, I11, I12, I13)                           \
-  "addq.ph          %["#IO0"],  %["#IO0"],  %["#I0"]          \n\t"            \
-  "addq.ph          %["#IO1"],  %["#IO1"],  %["#I1"]          \n\t"            \
-  "addq.ph          %["#IO2"],  %["#IO2"],  %["#I2"]          \n\t"            \
-  "addq.ph          %["#IO3"],  %["#IO3"],  %["#I3"]          \n\t"            \
-  "addq.ph          %["#IO4"],  %["#IO4"],  %["#I4"]          \n\t"            \
-  "addq.ph          %["#IO5"],  %["#IO5"],  %["#I5"]          \n\t"            \
-  "addq.ph          %["#IO6"],  %["#IO6"],  %["#I6"]          \n\t"            \
-  "addq.ph          %["#IO7"],  %["#IO7"],  %["#I7"]          \n\t"            \
-  "shll_s.ph        %["#IO0"],  %["#IO0"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO1"],  %["#IO1"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO2"],  %["#IO2"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO3"],  %["#IO3"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO4"],  %["#IO4"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO5"],  %["#IO5"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO6"],  %["#IO6"],  7                 \n\t"            \
-  "shll_s.ph        %["#IO7"],  %["#IO7"],  7                 \n\t"            \
-  "precrqu_s.qb.ph  %["#IO0"],  %["#IO1"],  %["#IO0"]         \n\t"            \
-  "precrqu_s.qb.ph  %["#IO2"],  %["#IO3"],  %["#IO2"]         \n\t"            \
-  "precrqu_s.qb.ph  %["#IO4"],  %["#IO5"],  %["#IO4"]         \n\t"            \
-  "precrqu_s.qb.ph  %["#IO6"],  %["#IO7"],  %["#IO6"]         \n\t"            \
-  "usw              %["#IO0"],  "XSTR(I13)"*"#I9"(%["#I8"])   \n\t"            \
-  "usw              %["#IO2"],  "XSTR(I13)"*"#I10"(%["#I8"])  \n\t"            \
-  "usw              %["#IO4"],  "XSTR(I13)"*"#I11"(%["#I8"])  \n\t"            \
-  "usw              %["#IO6"],  "XSTR(I13)"*"#I12"(%["#I8"])  \n\t"
+  "addq.ph          %[" #IO0 "],  %[" #IO0 "],  %[" #I0 "]          \n\t"      \
+  "addq.ph          %[" #IO1 "],  %[" #IO1 "],  %[" #I1 "]          \n\t"      \
+  "addq.ph          %[" #IO2 "],  %[" #IO2 "],  %[" #I2 "]          \n\t"      \
+  "addq.ph          %[" #IO3 "],  %[" #IO3 "],  %[" #I3 "]          \n\t"      \
+  "addq.ph          %[" #IO4 "],  %[" #IO4 "],  %[" #I4 "]          \n\t"      \
+  "addq.ph          %[" #IO5 "],  %[" #IO5 "],  %[" #I5 "]          \n\t"      \
+  "addq.ph          %[" #IO6 "],  %[" #IO6 "],  %[" #I6 "]          \n\t"      \
+  "addq.ph          %[" #IO7 "],  %[" #IO7 "],  %[" #I7 "]          \n\t"      \
+  "shll_s.ph        %[" #IO0 "],  %[" #IO0 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO1 "],  %[" #IO1 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO2 "],  %[" #IO2 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO3 "],  %[" #IO3 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO4 "],  %[" #IO4 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO5 "],  %[" #IO5 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO6 "],  %[" #IO6 "],  7                   \n\t"      \
+  "shll_s.ph        %[" #IO7 "],  %[" #IO7 "],  7                   \n\t"      \
+  "precrqu_s.qb.ph  %[" #IO0 "],  %[" #IO1 "],  %[" #IO0 "]         \n\t"      \
+  "precrqu_s.qb.ph  %[" #IO2 "],  %[" #IO3 "],  %[" #IO2 "]         \n\t"      \
+  "precrqu_s.qb.ph  %[" #IO4 "],  %[" #IO5 "],  %[" #IO4 "]         \n\t"      \
+  "precrqu_s.qb.ph  %[" #IO6 "],  %[" #IO7 "],  %[" #IO6 "]         \n\t"      \
+  "usw              %[" #IO0 "],  "XSTR(I13)"*" #I9 "(%[" #I8 "])   \n\t"      \
+  "usw              %[" #IO2 "],  "XSTR(I13)"*" #I10 "(%[" #I8 "])  \n\t"      \
+  "usw              %[" #IO4 "],  "XSTR(I13)"*" #I11 "(%[" #I8 "])  \n\t"      \
+  "usw              %[" #IO6 "],  "XSTR(I13)"*" #I12 "(%[" #I8 "])  \n\t"
 
 #define OUTPUT_EARLY_CLOBBER_REGS_10()                                         \
   : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3),             \
diff -ru src.3170/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h src/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h
--- src.3170/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h	2015-03-02 00:50:58.000000000 +0100
+++ src/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h	2017-06-22 23:06:31.560952100 +0200
@@ -70,7 +70,7 @@
 bool
 isPointerSSEAligned (const void* EXR_RESTRICT pPointer)
 {
-    unsigned long trailingBits = ((unsigned long)pPointer) & 15;
+    unsigned long trailingBits = ((unsigned long)(size_t)pPointer) & 15;
     return trailingBits == 0;
 }
 
diff -ru src.3170/Source/OpenEXR/IlmImf/ImfSystemSpecific.h src/Source/OpenEXR/IlmImf/ImfSystemSpecific.h
--- src.3170/Source/OpenEXR/IlmImf/ImfSystemSpecific.h	2015-03-02 00:50:58.000000000 +0100
+++ src/Source/OpenEXR/IlmImf/ImfSystemSpecific.h	2017-06-22 22:42:20.741824100 +0200
@@ -54,7 +54,7 @@
 
 #ifdef IMF_HAVE_SSE2
 
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__MINGW32__)
 // Causes issues on certain gcc versions
 //#define EXR_FORCEINLINE inline __attribute__((always_inline))
 #define EXR_FORCEINLINE inline



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