GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:
Precision qualifiers. In GLSL numeric types can have qualifiers that define the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL ES's version of GLSL uses them.
C++ has no language equivalent to precision qualifiers. Instead, GLM provides a set of typedefs for each kind of precision qualifier and type. These types can be found in their own section.
Functions that take types tend to be templated on those types, so they can take these qualified types just as well as the regular ones.