1. A memory, comprising: a memory array comprising a plurality of cells arranged in rows and columns, each cell comprising devices for storing a bit of data a plurality of bit lines, each bit line coupled to the cells in a corresponding column of the memory array; and a plurality of logic circuits, a first input of each logic circuit coupled to a bit line and an output of each logic circuit coupled to the bit line, wherein each logic circuit is configured to perform one or more logical operations using data received on the first input and output a result from the one or more logical operations to the bit line via the output.