\--opt:speed implies -O3| ---|--- \--opt:size implies -Os| passing -O4 will impli -O3
It's either -O3 or -Os, you can't have both at the same time hence the conflict. Now it seems like there might still be an issue but without reproducible example it's hard to investigate. You can check with bloaty ([https://github.com/google/bloaty](https://github.com/google/bloaty)) to have an idea if it's just text symbols that are taking space or if it's actual code for example.
