In Proto-Germanic, the word for four is *fedwor. But, in Proto-Indo-European, it was *kwetwores. In pre-Grimm Germanic times, it was pronounced *petwor. Hmm. When was this word a petwor, and why did the kw change to p?
This is from Wiktionary.
Linguistics Stack Exchange is a question and answer site for professional linguists and others with an interest in linguistic research and theory. It only takes a minute to sign up.Sign up to join this community
The "kw to p" sound change is fairly common throughout languages, for instance: romanian apă from Latin AQVA. It happens because the plosive was labialized in a way that its articulation point became bilabial. It also happened, for example:
• in the Italic branch ("*wĺ̥kʷos" > lupus (via Osco-Umbrian));
• and the Hellenic branch ("*h₁éḱwos" > ῐ̔́ππος (híppos)).
In the case of proto-germanic, it happened, as you said, of course, before Grimm's law took place, other wise the word for "four" would look more like "* hwedwor" or something like that.
What I can say for sure is that it happened in a pre-proto-germanic stage much before the Grimm's Law take place.
Edit: as Draconis said and reminded me below, the celtic languages are a great example of that. There us even a division between the p-celtic and the q-celtic languages.