Commit 311a953c authored by Jing Yu's avatar Jing Yu Committed by Michael Niedermayer

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: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 46a60fe1
...@@ -53,7 +53,7 @@ L(\name): ...@@ -53,7 +53,7 @@ L(\name):
.endm .endm
.macro movrel rd, sym, gp .macro movrel rd, sym, gp
ld \rd, \sym@got(r2) ld \rd, \sym@got(2)
.endm .endm
.macro get_got rd .macro get_got rd
......
...@@ -354,14 +354,14 @@ fft_data: ...@@ -354,14 +354,14 @@ fft_data:
.macro fft_calc interleave .macro fft_calc interleave
extfunc ff_fft_calc\interleave\()_altivec extfunc ff_fft_calc\interleave\()_altivec
mflr r0 mflr r0
stp r0, 2*PS(r1) stp r0, 2*PS(1)
stpu r1, -(160+16*PS)(r1) stpu r1, -(160+16*PS)(1)
get_got r11 get_got r11
addi r6, r1, 16*PS addi r6, r1, 16*PS
stvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29 stvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29
mfvrsave r0 mfvrsave r0
stw r0, 15*PS(r1) stw r0, 15*PS(1)
li r6, 0xfffffffc li r6, -4 #0xfffffffc
mtvrsave r6 mtvrsave r6
movrel r6, fft_data, r11 movrel r6, fft_data, r11
...@@ -372,7 +372,7 @@ extfunc ff_fft_calc\interleave\()_altivec ...@@ -372,7 +372,7 @@ extfunc ff_fft_calc\interleave\()_altivec
movrel r12, X(ff_cos_tabs), r11 movrel r12, X(ff_cos_tabs), r11
movrel r6, fft_dispatch_tab\interleave\()_altivec, r11 movrel r6, fft_dispatch_tab\interleave\()_altivec, r11
lwz r3, 0(r3) lwz r3, 0(3)
subi r3, r3, 2 subi r3, r3, 2
slwi r3, r3, 2+ARCH_PPC64 slwi r3, r3, 2+ARCH_PPC64
lpx r3, r3, r6 lpx r3, r3, r6
...@@ -382,10 +382,10 @@ extfunc ff_fft_calc\interleave\()_altivec ...@@ -382,10 +382,10 @@ extfunc ff_fft_calc\interleave\()_altivec
addi r6, r1, 16*PS addi r6, r1, 16*PS
lvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29 lvm r6, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29
lwz r6, 15*PS(r1) lwz r6, 15*PS(1)
mtvrsave r6 mtvrsave r6
lp r1, 0(r1) lp r1, 0(1)
lp r0, 2*PS(r1) lp r0, 2*PS(1)
mtlr r0 mtlr r0
blr blr
.endm .endm
...@@ -393,15 +393,15 @@ extfunc ff_fft_calc\interleave\()_altivec ...@@ -393,15 +393,15 @@ extfunc ff_fft_calc\interleave\()_altivec
.macro DECL_FFT suffix, bits, n, n2, n4 .macro DECL_FFT suffix, bits, n, n2, n4
fft\n\suffix\()_altivec: fft\n\suffix\()_altivec:
mflr r0 mflr r0
stp r0,PS*(\bits-3)(r1) stp r0,PS*(\bits-3)(1)
bl fft\n2\()_altivec bl fft\n2\()_altivec
addi2 r3,\n*4 addi2 r3,\n*4
bl fft\n4\()_altivec bl fft\n4\()_altivec
addi2 r3,\n*2 addi2 r3,\n*2
bl fft\n4\()_altivec bl fft\n4\()_altivec
addi2 r3,\n*-6 addi2 r3,\n*-6
lp r0,PS*(\bits-3)(r1) lp r0,PS*(\bits-3)(1)
lp r4,\bits*PS(r12) lp r4,\bits*PS(12)
mtlr r0 mtlr r0
li r5,\n/16 li r5,\n/16
b fft_pass\suffix\()_altivec b fft_pass\suffix\()_altivec
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment