diff options
author | Jing Yu <jingyu-at-google.com@ffmpeg.org> | 2016-06-23 16:36:46 -0700 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-06-25 03:48:19 +0200 |
commit | 311a953c76081fca99b872629d248f9d69ebc0c3 (patch) | |
tree | fd89c063dd5e85395bf66e579356db1d9e3041e9 /libavcodec/ppc | |
parent | 46a60fe184cfd39cc9517c860c7404d60977456d (diff) | |
download | ffmpeg-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.S | 2 | ||||
-rw-r--r-- | libavcodec/ppc/fft_altivec.S | 22 |
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 |