XCHG (M32, R32) - Latency


Operands


Latency operand 1 → 1 (address, base register): ≤3

Latency operand 1 → 1 (address, index register): ≤3

Latency operand 1 → 1 (memory): 6

Latency operand 1 → 2 (address, base register): 12

Latency operand 1 → 2 (address, index register): 12

Latency operand 1 → 2 (memory): ≤11

Latency operand 2 → 1: ≤4

Latency operand 2 → 2: 10


Latency operand 1 → 1 (address, base register): ≤3

Experiment 1

Experiment 2 (with additional nop)


Latency operand 1 → 1 (address, index register): ≤3

Experiment 1

Experiment 2 (with additional nop)


Latency operand 1 → 1 (memory): 6

Experiment 1

Experiment 2

Experiment 3 (with dependency-breaking instructions)


Latency operand 1 → 2 (address, base register): 12

Experiment 1


Latency operand 1 → 2 (address, index register): 12

Experiment 1


Latency operand 1 → 2 (memory): ≤11

Experiment 1


Latency operand 2 → 1: ≤4

Experiment 1


Latency operand 2 → 2: 10

Experiment 1

Experiment 2

Experiment 3 (with dependency-breaking instructions)