Browse Source

ARM: add some compatibility macros

This adds some macros simplifying Thumb and pre-v6T2 compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
tags/n0.11
Mans Rullgard 13 years ago
parent
commit
dac78fd1d7
1 changed files with 19 additions and 0 deletions
  1. +19
    -0
      libavcodec/arm/asm.S

+ 19
- 0
libavcodec/arm/asm.S View File

@@ -88,6 +88,13 @@ ELF .size \name, . - \name
\name:
.endm

#if !HAVE_ARMV6T2
.macro movw rd, val
mov \rd, \val & 255
orr \rd, \val & ~255
.endm
#endif

.macro mov32 rd, val
#if HAVE_ARMV6T2
movw \rd, #(\val) & 0xffff
@@ -120,6 +127,12 @@ T sub \rn, \rn, \rm
T ldr \rt, [\rn]
.endm

.macro ldr_nreg rt, rn, rm:vararg
A ldr \rt, [\rn, -\rm]
T sub \rt, \rn, \rm
T ldr \rt, [\rt]
.endm

.macro ldr_post rt, rn, rm:vararg
A ldr \rt, [\rn], \rm
T ldr \rt, [\rn]
@@ -156,6 +169,12 @@ T ldrh \rt, [\rn]
T add \rn, \rn, \rm
.endm

.macro ldrb_post rt, rn, rm
A ldrb \rt, [\rn], \rm
T ldrb \rt, [\rn]
T add \rn, \rn, \rm
.endm

.macro str_post rt, rn, rm:vararg
A str \rt, [\rn], \rm
T str \rt, [\rn]


Loading…
Cancel
Save