<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Karl,
<div><br>
</div>
<div>The TL binaries compile fine on Arm. I didn't bother to compile on Inrel but will if you think that might make a difference.</div>
<div><br>
</div>
<div>Let me take this oportunity to ask about libpng. When I compile TL on Arm, I must include the flag --disable-arm-neon, Just now I tried compiling without this flag, but then libpng wasn't built, and this caused an error shortly afterward. The problem is
that Apple uses a 64 bit Arm processor, and libpng has assembly language to speed up the 32 bit arm processor, but doesn't (or didn't in the past) have the 64 bit version of that code.</div>
<div><br>
</div>
<div>But curiously, the latest Ghostscript also uses libpng, but doesn't require such a flag on the Mac.</div>
<div><br>
</div>
<div>So I looked at the Ghostscript and TL versions of libpng. It looks like they are the same (although I didn't make a careful check). Both code bases have a folder named Arm containing 4 files. The most promising has the name filter-neon-intrinsics.c, so
I compared these two files with diff. There was one difference. </div>
<div><br>
</div>
<div>The Ghostscript version reads (only 4 or 5 lines from the top)</div>
<div><br>
</div>
<div>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#if defined(_MSC_VER) && defined(_M_ARM64)</span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(196, 26, 22);">
<span style="font-variant-ligatures: no-common-ligatures; color: #643820"># include
</span><span style="font-variant-ligatures: no-common-ligatures"><arm64_neon.h></span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#else</span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(196, 26, 22);">
<span style="font-variant-ligatures: no-common-ligatures; color: #643820"># include
</span><span style="font-variant-ligatures: no-common-ligatures"><arm_neon.h></span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#endif</span></p>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">The corresponding TL code at the same spot reads</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#if defined(_MSC_VER) &&
</span><span style="font-variant-ligatures: no-common-ligatures; background-color: #a5cdff">!defined(__clang__) &&
</span><span style="font-variant-ligatures: no-common-ligatures">defined(_M_ARM64)</span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(196, 26, 22);">
<span style="font-variant-ligatures: no-common-ligatures; color: #643820"># include
</span><span style="font-variant-ligatures: no-common-ligatures"><arm64_neon.h></span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#else</span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(196, 26, 22);">
<span style="font-variant-ligatures: no-common-ligatures; color: #643820"># include
</span><span style="font-variant-ligatures: no-common-ligatures"><arm_neon.h></span></p>
<p style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(100, 56, 32);">
<span style="font-variant-ligatures: no-common-ligatures">#endif</span></p>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">The Mac uses clang.</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">Do you know why these are different? </span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">This isn't a big deal, of course, but it would be nice to chase it down.</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures">Dick Koch</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><a href="mailto:koch@uoregon.edu">koch@uoregon.edu</a></span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
<div><span style="font-variant-ligatures: no-common-ligatures"><br>
</span></div>
</span></div>
<div><br>
<blockquote type="cite">
<div>On Jan 19, 2023, at 5:59 PM, Karl Berry <karl@freefriends.org> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div>FYI, I've updated dvisvgm to 3.0.1 in TL (r65593).<br>
Build problems are not unlikely. If you're up for it,<br>
give it a whirl. --thanks, karl.<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</body>
</html>