I actually expected the opposite considering gcc is not "native" to windows.

FLAC doesn't use libraries for much of its work. The real work is done directly, so there isn't much difference between a native compiler and a non-native one.

Quote

I followed the readme instructions, so nasm.exe was used. How can I control which instruction sets are used, or does it try to automatically use all possible optimizations? I'm on an AMD Phenom II CPU.

This release uses function multiversioning, which is supported by GCC starting with release 4.9. IIRC, MSVC2013 supports it too, so it should indeed automatically check the CPU whether it supports the optimizations.