aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ppc
diff options
context:
space:
mode:
authorJing Yu <jingyu-at-google.com@ffmpeg.org>2016-06-23 16:36:46 -0700
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-25 03:48:19 +0200
commit311a953c76081fca99b872629d248f9d69ebc0c3 (patch)
treefd89c063dd5e85395bf66e579356db1d9e3041e9 /libavcodec/ppc
parent46a60fe184cfd39cc9517c860c7404d60977456d (diff)
downloadffmpeg-311a953c76081fca99b872629d248f9d69ebc0c3.tar.gz
avcodec/ppc: fix broken build when compiling libavcodec with LLVM on PPC backend
This commit fixes a broken build when compiling libavcodec with LLVM compiler. These assembly files use non-standard format that is only supported by GCC compiler. It would be nice to use a common standard format. With this patch, both GCC and LLVM can build and generate the same objects. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/ppc')
-rw-r--r--libavcodec/ppc/asm.S2
-rw-r--r--libavcodec/ppc/fft_altivec.S22
2 files changed, 12 insertions, 12 deletions
diff --git a/libavcodec/ppc/asm.S b/libavcodec/ppc/asm.S
index a3edeed202..700aa0d340 100644
--- a/libavcodec/ppc/asm.S
+++ b/libavcodec/ppc/asm.S
@@ -53,7 +53,7 @@ L(\name):
.endm
.macro movrel rd, sym, gp
- ld \rd, \sym@got(r2)
+ ld \rd, \sym@got(2)
.endm
.macro get_got rd
diff --git a/libavcodec/ppc/fft_altivec.S b/libavcodec/ppc/fft_altivec.S
index bcc242d9a8..e0149a4473 100644
--- a/libavcodec/ppc/fft_altivec.S
+++ b/libavcodec/ppc/fft_altivec.S
@@ -354,14 +354,14 @@ fft_data:
.macro fft_calc interleave
extfunc ff_fft_calc\interleave\()_altivec
mflr r0
- stp r0, 2*PS(r1)
- stpu r1, -(160+16*PS)(r1)
+ stp r0, 2*PS(1)
+ stpu r1, -(160+16*PS)(1)
get_got r11
addi r6, r1, 16*PS
stvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29
mfvrsave r0
- stw r0, 15*PS(r1)
- li r6, 0xfffffffc
+ stw r0, 15*PS(1)
+ li r6, -4 #0xfffffffc
mtvrsave r6
movrel r6, fft_data, r11
@@ -372,7 +372,7 @@ extfunc ff_fft_calc\interleave\()_altivec
movrel r12, X(ff_cos_tabs), r11
movrel r6, fft_dispatch_tab\interleave\()_altivec, r11
- lwz r3, 0(r3)
+ lwz r3, 0(3)
subi r3, r3, 2
slwi r3, r3, 2+ARCH_PPC64
lpx r3, r3, r6
@@ -382,10 +382,10 @@ extfunc ff_fft_calc\interleave\()_altivec
addi r6, r1, 16*PS
lvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29
- lwz r6, 15*PS(r1)
+ lwz r6, 15*PS(1)
mtvrsave r6
- lp r1, 0(r1)
- lp r0, 2*PS(r1)
+ lp r1, 0(1)
+ lp r0, 2*PS(1)
mtlr r0
blr
.endm
@@ -393,15 +393,15 @@ extfunc ff_fft_calc\interleave\()_altivec
.macro DECL_FFT suffix, bits, n, n2, n4
fft\n\suffix\()_altivec:
mflr r0
- stp r0,PS*(\bits-3)(r1)
+ stp r0,PS*(\bits-3)(1)
bl fft\n2\()_altivec
addi2 r3,\n*4
bl fft\n4\()_altivec
addi2 r3,\n*2
bl fft\n4\()_altivec
addi2 r3,\n*-6
- lp r0,PS*(\bits-3)(r1)
- lp r4,\bits*PS(r12)
+ lp r0,PS*(\bits-3)(1)
+ lp r4,\bits*PS(12)
mtlr r0
li r5,\n/16
b fft_pass\suffix\()_altivec