XADD_LOCK (M32, R32) - Latency


Operands


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

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

Latency operand 1 → 1 (memory): 18

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

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

Latency operand 1 → 2 (memory): ≤18

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

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

Latency operand 1 → 3 (memory): ≤18

Latency operand 2 → 1: ≤30

Latency operand 2 → 2: 13

Latency operand 2 → 3: 13


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

Experiment 1

Experiment 2 (with additional nop)


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

Experiment 1

Experiment 2 (with additional nop)


Latency operand 1 → 1 (memory): 18

Experiment 1

Experiment 2 (with dependency-breaking instructions)

Experiment 3

Experiment 4 (with dependency-breaking instructions)


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

Experiment 1


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

Experiment 1


Latency operand 1 → 2 (memory): ≤18

Experiment 1


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

Experiment 1

Experiment 2 (with dependency-breaking instructions)

Experiment 3

Experiment 4 (with dependency-breaking instructions)

Experiment 5

Experiment 6 (with dependency-breaking instructions)

Experiment 7

Experiment 8 (with dependency-breaking instructions)

Experiment 9

Experiment 10 (with dependency-breaking instructions)


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

Experiment 1

Experiment 2 (with dependency-breaking instructions)

Experiment 3

Experiment 4 (with dependency-breaking instructions)

Experiment 5

Experiment 6 (with dependency-breaking instructions)

Experiment 7

Experiment 8 (with dependency-breaking instructions)

Experiment 9

Experiment 10 (with dependency-breaking instructions)


Latency operand 1 → 3 (memory): ≤18

Experiment 1

Experiment 2

Experiment 3

Experiment 4

Experiment 5


Latency operand 2 → 1: ≤30

Experiment 1


Latency operand 2 → 2: 13

Experiment 1

Experiment 2

Experiment 3 (with dependency-breaking instructions)


Latency operand 2 → 3: 13

Experiment 1

Experiment 2

Experiment 3

Experiment 4

Experiment 5