diff mbox

[FFmpeg-devel,3/5] x86inc: Prefer r14/r15 over r12/r13 on x86-64

Message ID 20170608230502.29258-4-jdarnley@obe.tv
State Accepted
Commit cd4ca8245963c6c1845a87b658822b0be0c99048
Headers show

Commit Message

James Darnley June 8, 2017, 11:05 p.m. UTC
From: Henrik Gramner <henrik@gramner.com>

Due to a peculiarity in the ModR/M addressing encoding, the r12 and r13
registers sometimes requires an additional byte when used as a base register.

r14 and r15 doesn't have that issue, so prefer using them.
---
 libavutil/x86/x86inc.asm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Comments

Ronald S. Bultje June 9, 2017, 11:41 a.m. UTC | #1
Hi,

On Thu, Jun 8, 2017 at 7:05 PM, James Darnley <jdarnley@obe.tv> wrote:

> From: Henrik Gramner <henrik@gramner.com>
>
> Due to a peculiarity in the ModR/M addressing encoding, the r12 and r13
> registers sometimes requires an additional byte when used as a base
> register.
>
> r14 and r15 doesn't have that issue, so prefer using them.
> ---
>  libavutil/x86/x86inc.asm | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)


LGTM.

Ronald
diff mbox

Patch

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 44069741cc..65853f72cd 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -426,10 +426,10 @@  DECLARE_REG 7,  rdi, 64
 DECLARE_REG 8,  rsi, 72
 DECLARE_REG 9,  rbx, 80
 DECLARE_REG 10, rbp, 88
-DECLARE_REG 11, R12, 96
-DECLARE_REG 12, R13, 104
-DECLARE_REG 13, R14, 112
-DECLARE_REG 14, R15, 120
+DECLARE_REG 11, R14, 96
+DECLARE_REG 12, R15, 104
+DECLARE_REG 13, R12, 112
+DECLARE_REG 14, R13, 120
 
 %macro PROLOGUE 2-5+ 0 ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
     %assign num_args %1
@@ -530,10 +530,10 @@  DECLARE_REG 7,  R10, 16
 DECLARE_REG 8,  R11, 24
 DECLARE_REG 9,  rbx, 32
 DECLARE_REG 10, rbp, 40
-DECLARE_REG 11, R12, 48
-DECLARE_REG 12, R13, 56
-DECLARE_REG 13, R14, 64
-DECLARE_REG 14, R15, 72
+DECLARE_REG 11, R14, 48
+DECLARE_REG 12, R15, 56
+DECLARE_REG 13, R12, 64
+DECLARE_REG 14, R13, 72
 
 %macro PROLOGUE 2-5+ ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
     %assign num_args %1