Some sez Pentium M is architecturally more close to Pentium 3, with few additional features from Pentium 4, and big L2 cache. Thus, in general, gcc optimization should treat it as Pentium 3. In other words, *NOT* Pentium 4.
But some also reported that they got a good experience with -march=pentium4.
Meanwhile, Intel website suggests -mcpu=pentium4 for Pentium M. But that’s probably only for its own C++ compiler (ICPC) ?
And seems like the new gcc (may be after 3.3.3 or 3.4) will support “pentium-m”.