Unfortunately, you still have not answered my original question. If you are using ProphotoRGB with a moderately sized gamut image and printing to a relatively smaller gamut device using perceptual rendering with a table based profile, does the gamut compression occur for the entire ProphotoRGB gamut or only to the extent of bringing the out of gamut colors into gamut?
The latter instance would require a "smart algorithm" that actually looks at the contents of the file to determine the extent of compression required, whearas the former would simply squash down the whole ProphotoRGB gamut.
The whole idea of perceptual is to prevent gamut clipping and thus to maintain a distinction between out-of-gamut colors. This means that image colors are shifted towards the center of the xy chromaticity diagram. To make room for out-of-gamut colors, some in-gamut colors must move too.
The extend to which in-gamut colors are compressed depends on the algorithms used by the profiling software. As there are no icc specifications for the perceptual rendering intent, the implementation is vendor specific -> proprietary algorithms.
There a many methods of gamut mapping. The difficult thing with gamut mapping is to account for the differences in shape of source and destination spaces. An additional problem is: What does the profiling software know about the source space of an image? It has to make some assumptions regarding this source space/colors.
Perceptual rendering applies the same gamut compression to all images, even when the image contains no significant out-of-gamut colors. As Mike Chaney writes "No smart CMM" yet.