Is there any CPU does not any generic purpose data register?
Arguably, the 8-bit PICs fit into this category, having only an 8bit accumulator (W) and "memory", with most operations happening between W and a memory location.
It's a bit blurred because the PIC "memory" also has some register-like properties, so it's not really clear whether you should consider them registers or memory (but either way, the PIC doesn't really have "both"!) (The most dramatic effect of this is that the PICs top out at 4k of "ram", and need an annoying bank switching scheme to access that much, compared to most 8bit architectures that have SOME way to access 64k)
Some small ATtiny parts have their registers addressed as a part of normal SRAM.
This happens in ALL of the AVRs (but not in the Xmega chips.) But being able to address the registers as RAM is not the same thing as not having GP registers. This is pretty common in register/memory architectures (8051 and PDP10 have already been mentioned.)
In the PDP-10 architecture, which was implemented by over a dozen different processors
"Over a dozen?" I guess, if you include versions that were never sold, or sold in vanishingly small quantities.
(DEC: KA, KI, KL, 2020, Minnow (not sold), Jupiter (not sold) Foonly: F1 - F5 (VSQ), Systems Concepts: 2 versions?, XKL: 2 versions? (VSQ), Xerox Parc: MAXC (not sold) - did I miss any? (ah, what a lovely instruction set, back when 1MB of memory was a huge amount.) I occasionally think that it would make for an interesting "microcontroller", if you're willing to give up "modern" concepts like byte addressability.)