The optimization levels -Osize and -Otime work pretty differently in armcc (used for 3DS) compared to most other compilers. Instead of being standalone optimization levels in themselves, they are additive to whatever number optimization level (O0-3) is currently chosen (either explicitly or by default). If none of these two are passed in explicitly, Osize is always selected by default (although 3DS games usually override this). This basically makes the total optimization level a 2D grid where O0-3 is on one of the axes and -Ospace and -Otime are on the other axis.
decomp.me's compiler settings UI for 3DS/armcc currently does not model this. It assumes the the number optimization levels (O0-3) and Ospace and Otime are mutually exclusive, and if one, for example, passes both -O3 -Otime together into the compiler flags box (like what 3DS games usually do), then the UI only exposes the number (and if you then touch the optimization level dropdown, Osize/Otime is erased from the compiler flags box, which is just incorrect).
The optimization levels -Osize and -Otime work pretty differently in armcc (used for 3DS) compared to most other compilers. Instead of being standalone optimization levels in themselves, they are additive to whatever number optimization level (O0-3) is currently chosen (either explicitly or by default). If none of these two are passed in explicitly, Osize is always selected by default (although 3DS games usually override this). This basically makes the total optimization level a 2D grid where O0-3 is on one of the axes and -Ospace and -Otime are on the other axis.
decomp.me's compiler settings UI for 3DS/armcc currently does not model this. It assumes the the number optimization levels (O0-3) and Ospace and Otime are mutually exclusive, and if one, for example, passes both
-O3 -Otimetogether into the compiler flags box (like what 3DS games usually do), then the UI only exposes the number (and if you then touch the optimization level dropdown, Osize/Otime is erased from the compiler flags box, which is just incorrect).