I find this check to be a little strange, why 0x3? you can set a full 0xFF anywhere as an immediate.

I think this loop will return false for 0x00FF00FF which is possible to do in two ops.

That said, my original Try* check isn't that great either, it misses that 0x0FF000FF can be done in two ops.