[x265] [PATCH 03 of 20] x86inc: Prefer r14/r15 over r12/r13

vignesh at multicorewareinc.com vignesh at multicorewareinc.com
Mon Jun 12 07:37:45 CEST 2017


# HG changeset patch
# User Vignesh Vijayakumar
# Date 1496127583 -19800
#      Tue May 30 12:29:43 2017 +0530
# Node ID 042023014fd0be6bfa5722915b306c68a8f909e8
# Parent  84b8b05838b1a5619eb5631a18454f25245d0286
x86inc: Prefer r14/r15 over r12/r13

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.

diff -r 84b8b05838b1 -r 042023014fd0 source/common/x86/x86inc.asm
--- a/source/common/x86/x86inc.asm	Tue May 30 12:12:10 2017 +0530
+++ b/source/common/x86/x86inc.asm	Tue May 30 12:29:43 2017 +0530
@@ -396,10 +396,10 @@
 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
@@ -501,10 +501,10 @@
 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


More information about the x265-devel mailing list