If you have multiple pins being driven by the same signal inside a macro, and those pins in turn, drive output pins in the top level schematic, the CPLD fitter will trim away all but one net coming out of the macro. This is true for both ABEL and VHDL macros.
Solution
The current workaround for this issue is to have the signal drive multiple nets outside of the macro instead of from inside the macro.
In addition, add a buf to the signals which are being trimmed. You would then have the macro pin going to a buf -> obuf -> opad on the top level for the signal that was being trimmed.