  We compare two different implementations of fault-tolerant entangling gates
on logical qubits. In one instance, a twelve-qubit trapped-ion quantum computer
is used to implement a non-transversal logical CNOT gate between two five qubit
codes. The operation is evaluated with varying degrees of fault tolerance,
which are provided by including quantum error correction circuit primitives
known as flagging and pieceable fault tolerance. In the second instance, a
twenty-qubit trapped-ion quantum computer is used to implement a transversal
logical CNOT gate on two [[7,1,3]] color codes. The two codes were implemented
on different but similar devices, and in both instances, all of the quantum
error correction primitives, including the determination of corrections via
decoding, are implemented during runtime using a classical compute environment
that is tightly integrated with the quantum processor. For different
combinations of the primitives, logical state fidelity measurements are made
after applying the gate to different input states, providing bounds on the
process fidelity. We find the highest fidelity operations with the color code,
with the fault-tolerant SPAM operation achieving fidelities of 0.99939(15) and
0.99959(13) when preparing eigenstates of the logical X and Z operators, which
is higher than the average physical qubit SPAM fidelities of 0.9968(2) and
0.9970(1) for the physical X and Z bases, respectively. When combined with a
logical transversal CNOT gate, we find the color code to perform the
sequence--state preparation, CNOT, measure out--with an average fidelity
bounded by [0.9957,0.9963]. The logical fidelity bounds are higher than the
analogous physical-level fidelity bounds, which we find to be [0.9850,0.9903],
reflecting multiple physical noise sources such as SPAM errors for two qubits,
several single-qubit gates, a two-qubit gate and some amount of memory error.
