Polymorphic gates are unconventional circuit components that are not supported by existing synthesis tools. This article presents new methods for synthesis of polymorphic circuits. Proposed methods, based on polymorphic binary decision diagrams and polymorphic multiplexing, extend the ordinary circuit representations with the aim of including polymorphic gates. In order to reduce the number of gates in circuits synthesized using proposed methods, an evolutionary optimization based on Cartesian Genetic Programming (CGP) is implemented. The implementations of polymorphic circuits optimized by CGP represent the best known solutions if the number of gates is considered as the decision criterion.