PACS 85.70.Ay, 87.75.DdThe logic gates of present computers are based on transistors and increasing the computational power means increasing their integration density. Among others, the utilization of magnetism is a promising alternative. A new concept for a magnetic logic gate is discussed, which is based on a single magnetoresistive element addressable by three independent input lines. Each of these gates can represent one out of at least ten logic functions, among them the four elementary functions AND, OR, NAND and NOR, the two more complex funtions XOR and XNOR as well as two reversible ones, CNOT and CCNOT. The functionality of the proposed gate can be pre-programmed with processor speed, its output is non-volatile. As a first application, which takes full advantage of the reprogrammability and non-volatility of the logic elements, a compact design of a magnetic full adder is discussed.