I have compiled dwm & st using -march=x86-64-v3 (tried -march=x86-64-v2 also). To be honest they are both (dwm & st) fast and snappy with their default configuration and I cannot spot any difference when compiled with -march=x86-64-v3 or v2. Is there any point adding them?
Related, would -O2 or -O3 flags give any benefit? As I mentioned, in practice I don't see any differences. I'm wondering if theoretically there could be some positive effect. People who know how exactly the code works are better suited to supply a definitive answer than me, that's why I'm posting here.