I've seen that these seem to be pin compatible so I could use them on the same board for a cost/performance trade-off.
Obviously I want different bitstreams here, and ideally a check that I'm using the right one for the board in question. According to the BSDL files, both use the same IDCODE, so my expectation would be that the check embedded in the SVF would succeed.
Is there a way to find out what IC I'm talking to, or do I have to add an extra shift register to read out a jumper?
You may consider this CHIP ID IP Core, it may yield different chip id for device identification.
That would be at runtime though -- what I'd need is a safety check during programming so I don't write a bitstream for a GT device to a GX device -- presumably that would be unsafe.