Both f77 and f90 support two source file preprocessors, fpp and cpp. Either can be invoked by the compiler to expand source code "macros" and symbolic definitions prior to compilation. The compilers will use fpp by default; the -xpp=cpp option changes the default from fpp to cpp. (See also the discussion of the -Dname option).
fpp is a source preprocessor specifically for the Fortran language. See the fpp(1) man page, and the fpp white paper in the READMEs directory for details. It is invoked by default by f77 on files with a .F extension, and by f90 on files with a .F or .F90 extension.
The cpp program is the C language preprocessor. See cpp(1). Use of fpp over cpp is recommended.