On Wed, Sep 24, 2025 at 08:04:59AM +0700, John Naylor wrote: > On Tue, Sep 23, 2025 at 4:44 AM Nathan Bossart <nathandboss...@gmail.com> > wrote: >> 0001 essentially reverts commit c6a43c2, and instead fixes the problem >> (MSVC dislikes casts to the same type) by omitting the cast in the >> problematic line in pg_lfind32(). While working on optimizing hex_encode() >> and hex_decode() [0], I noticed that implicit conversions sufficed. > > I don't remember why that cast was there, but I suggest testing on gcc > / aarch64 if you haven't already.
Ah, I thought CI was testing that, but apparently it is not. After some basic testing in godbolt.org, I see that leaving out the cast makes gcc/arm64 unhappy, and adding the cast makes msvc/x64 unhappy. gcc has a -flax-vector-conversions option that fixes it, but the documentation for that option [0] cautions against using it. So, 0001 is bogus, and I need to figure out how to get the hex_{encode,decode} patches working for gcc/arm64... [0] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-flax-vector-conversions -- nathan