-/* these would be inline functions, but gcc won't believe that mask is a constant
- * when passed as a parameter
+/* The "g" below really should be an "i", but gcc doesn't believe that it will
+ * always be an immediate value. Using "g" makes the compiler be quiet, but
+ * the assembler will fail if the value is not an immediate.