diff options
author | Kenny Root <kenny@the-b.org> | 2009-11-08 12:46:32 -0600 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-11-08 15:54:47 -0600 |
commit | c74663799493f2b1e6123c18def94295d0afab7b (patch) | |
tree | 12f11c29cee8175272ca596f233ff819d5b71618 /libFLAC/ppc/gas | |
download | external_flac-c74663799493f2b1e6123c18def94295d0afab7b.zip external_flac-c74663799493f2b1e6123c18def94295d0afab7b.tar.gz external_flac-c74663799493f2b1e6123c18def94295d0afab7b.tar.bz2 |
libFLAC 1.2.1
Diffstat (limited to 'libFLAC/ppc/gas')
-rw-r--r-- | libFLAC/ppc/gas/Makefile.am | 52 | ||||
-rw-r--r-- | libFLAC/ppc/gas/Makefile.in | 503 | ||||
-rw-r--r-- | libFLAC/ppc/gas/lpc_asm.s | 431 |
3 files changed, 986 insertions, 0 deletions
diff --git a/libFLAC/ppc/gas/Makefile.am b/libFLAC/ppc/gas/Makefile.am new file mode 100644 index 0000000..3a66c27 --- /dev/null +++ b/libFLAC/ppc/gas/Makefile.am @@ -0,0 +1,52 @@ +# libFLAC - Free Lossless Audio Codec library +# Copyright (C) 2004,2005,2006,2007 Josh Coalson +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# - Neither the name of the Xiph.org Foundation nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#@@@ +if FLaC__HAS_GAS__TEMPORARILY_DISABLED + +SUFFIXES = .s .lo + +STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh + +# For some unknown reason libtool can't figure out the tag for 'gas', so +# we fake it with --tag=CC and strip out unwanted options. +.s.lo: + $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) gas -force_cpusubtype_ALL -o $@ $< + +noinst_LTLIBRARIES = libFLAC-asm.la +libFLAC_asm_la_SOURCES = \ + lpc_asm.s + +else + +EXTRA_DIST = \ + lpc_asm.s + +endif diff --git a/libFLAC/ppc/gas/Makefile.in b/libFLAC/ppc/gas/Makefile.in new file mode 100644 index 0000000..f4c97bc --- /dev/null +++ b/libFLAC/ppc/gas/Makefile.in @@ -0,0 +1,503 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# libFLAC - Free Lossless Audio Codec library +# Copyright (C) 2004,2005,2006,2007 Josh Coalson +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# - Neither the name of the Xiph.org Foundation nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEBUG_FALSE = @DEBUG_FALSE@ +DEBUG_TRUE = @DEBUG_TRUE@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@ +DOXYGEN = @DOXYGEN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@ +FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@ +FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@ +FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@ +FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@ +FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@ +FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@ +FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@ +FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@ +FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@ +FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@ +FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@ +FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@ +FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@ +FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@ +FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@ +FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@ +FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@ +FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@ +FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ +FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@ +FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@ +FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@ +FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@ +FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@ +FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@ +FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@ +FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@ +FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@ +FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@ +FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@ +FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@ +FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@ +FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@ +FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@ +FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@ +FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@ +FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@ +FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@ +FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@ +FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@ +FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@ +GAS = @GAS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@ +NASM = @NASM@ +OBJEXT = @OBJEXT@ +OBJ_FORMAT = @OBJ_FORMAT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +XMMS_CFLAGS = @XMMS_CFLAGS@ +XMMS_CONFIG = @XMMS_CONFIG@ +XMMS_DATA_DIR = @XMMS_DATA_DIR@ +XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@ +XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@ +XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@ +XMMS_LIBS = @XMMS_LIBS@ +XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@ +XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@ +XMMS_VERSION = @XMMS_VERSION@ +XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + + +#@@@ +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@SUFFIXES = .s .lo + +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh + +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@noinst_LTLIBRARIES = libFLAC-asm.la +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@libFLAC_asm_la_SOURCES = \ +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.s + + +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@EXTRA_DIST = \ +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@ lpc_asm.s + +subdir = src/libFLAC/ppc/gas +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) + +libFLAC_asm_la_LDFLAGS = +libFLAC_asm_la_LIBADD = +am__libFLAC_asm_la_SOURCES_DIST = lpc_asm.s +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@am_libFLAC_asm_la_OBJECTS = \ +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.lo +libFLAC_asm_la_OBJECTS = $(am_libFLAC_asm_la_OBJECTS) + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) +LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \ + $(CCASFLAGS) +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(am__libFLAC_asm_la_SOURCES_DIST) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +SOURCES = $(libFLAC_asm_la_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .lo .o .obj .s +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/libFLAC/ppc/gas/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libFLAC-asm.la: $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_DEPENDENCIES) + $(LINK) $(libFLAC_asm_la_LDFLAGS) $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + +distclean-compile: + -rm -f *.tab.c + +.s.o: + $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.s.obj: + $(CCASCOMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@.s.lo: + $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../../../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) + +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am + + +# For some unknown reason libtool can't figure out the tag for 'gas', so +# we fake it with --tag=CC and strip out unwanted options. +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@.s.lo: +@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) gas -force_cpusubtype_ALL -o $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libFLAC/ppc/gas/lpc_asm.s b/libFLAC/ppc/gas/lpc_asm.s new file mode 100644 index 0000000..2203570 --- /dev/null +++ b/libFLAC/ppc/gas/lpc_asm.s @@ -0,0 +1,431 @@ +# libFLAC - Free Lossless Audio Codec library +# Copyright (C) 2004,2005,2006,2007 Josh Coalson +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# - Neither the name of the Xiph.org Foundation nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +.text + .align 2 +.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16 +.type _FLAC__lpc_restore_signal_asm_ppc_altivec_16, @function + +.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8 +.type _FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8, @function + +_FLAC__lpc_restore_signal_asm_ppc_altivec_16: +# r3: residual[] +# r4: data_len +# r5: qlp_coeff[] +# r6: order +# r7: lp_quantization +# r8: data[] + +# see src/libFLAC/lpc.c:FLAC__lpc_restore_signal() +# these is a PowerPC/Altivec assembly version which requires bps<=16 (or actual +# bps<=15 for mid-side coding, since that uses an extra bit) + +# these should be fast; the inner loop is unrolled (it takes no more than +# 3*(order%4) instructions, all of which are arithmetic), and all of the +# coefficients and all relevant history stay in registers, so the outer loop +# has only one load from memory (the residual) + +# I have not yet run this through simg4, so there may be some avoidable stalls, +# and there may be a somewhat more clever way to do the outer loop + +# the branch mechanism may prevent dynamic loading; I still need to examine +# this issue, and there may be a more elegant method + + stmw r31,-4(r1) + + addi r9,r1,-28 + li r31,0xf + andc r9,r9,r31 # for quadword-aligned stack data + + slwi r6,r6,2 # adjust for word size + slwi r4,r4,2 + add r4,r4,r8 # r4 = data+data_len + + mfspr r0,256 # cache old vrsave + addis r31,0,0xffff + ori r31,r31,0xfc00 + mtspr 256,r31 # declare VRs in vrsave + + cmplw cr0,r8,r4 # i<data_len + bc 4,0,L1400 + + # load coefficients into v0-v7 and initial history into v8-v15 + li r31,0xf + and r31,r8,r31 # r31: data%4 + li r11,16 + subf r31,r31,r11 # r31: 4-(data%4) + slwi r31,r31,3 # convert to bits for vsro + li r10,-4 + stw r31,-4(r9) + lvewx v0,r10,r9 + vspltisb v18,-1 + vsro v18,v18,v0 # v18: mask vector + + li r31,0x8 + lvsl v0,0,r31 + vsldoi v0,v0,v0,12 + li r31,0xc + lvsl v1,0,r31 + vspltisb v2,0 + vspltisb v3,-1 + vmrglw v2,v2,v3 + vsel v0,v1,v0,v2 # v0: reversal permutation vector + + add r10,r5,r6 + lvsl v17,0,r5 # v17: coefficient alignment permutation vector + vperm v17,v17,v17,v0 # v17: reversal coefficient alignment permutation vector + + mr r11,r8 + lvsl v16,0,r11 # v16: history alignment permutation vector + + lvx v0,0,r5 + addi r5,r5,16 + lvx v1,0,r5 + vperm v0,v0,v1,v17 + lvx v8,0,r11 + addi r11,r11,-16 + lvx v9,0,r11 + vperm v8,v9,v8,v16 + cmplw cr0,r5,r10 + bc 12,0,L1101 + vand v0,v0,v18 + addis r31,0,L1307@ha + ori r31,r31,L1307@l + b L1199 + +L1101: + addi r5,r5,16 + lvx v2,0,r5 + vperm v1,v1,v2,v17 + addi r11,r11,-16 + lvx v10,0,r11 + vperm v9,v10,v9,v16 + cmplw cr0,r5,r10 + bc 12,0,L1102 + vand v1,v1,v18 + addis r31,0,L1306@ha + ori r31,r31,L1306@l + b L1199 + +L1102: + addi r5,r5,16 + lvx v3,0,r5 + vperm v2,v2,v3,v17 + addi r11,r11,-16 + lvx v11,0,r11 + vperm v10,v11,v10,v16 + cmplw cr0,r5,r10 + bc 12,0,L1103 + vand v2,v2,v18 + lis r31,L1305@ha + la r31,L1305@l(r31) + b L1199 + +L1103: + addi r5,r5,16 + lvx v4,0,r5 + vperm v3,v3,v4,v17 + addi r11,r11,-16 + lvx v12,0,r11 + vperm v11,v12,v11,v16 + cmplw cr0,r5,r10 + bc 12,0,L1104 + vand v3,v3,v18 + lis r31,L1304@ha + la r31,L1304@l(r31) + b L1199 + +L1104: + addi r5,r5,16 + lvx v5,0,r5 + vperm v4,v4,v5,v17 + addi r11,r11,-16 + lvx v13,0,r11 + vperm v12,v13,v12,v16 + cmplw cr0,r5,r10 + bc 12,0,L1105 + vand v4,v4,v18 + lis r31,L1303@ha + la r31,L1303@l(r31) + b L1199 + +L1105: + addi r5,r5,16 + lvx v6,0,r5 + vperm v5,v5,v6,v17 + addi r11,r11,-16 + lvx v14,0,r11 + vperm v13,v14,v13,v16 + cmplw cr0,r5,r10 + bc 12,0,L1106 + vand v5,v5,v18 + lis r31,L1302@ha + la r31,L1302@l(r31) + b L1199 + +L1106: + addi r5,r5,16 + lvx v7,0,r5 + vperm v6,v6,v7,v17 + addi r11,r11,-16 + lvx v15,0,r11 + vperm v14,v15,v14,v16 + cmplw cr0,r5,r10 + bc 12,0,L1107 + vand v6,v6,v18 + lis r31,L1301@ha + la r31,L1301@l(r31) + b L1199 + +L1107: + addi r5,r5,16 + lvx v19,0,r5 + vperm v7,v7,v19,v17 + addi r11,r11,-16 + lvx v19,0,r11 + vperm v15,v19,v15,v16 + vand v7,v7,v18 + lis r31,L1300@ha + la r31,L1300@l(r31) + +L1199: + mtctr r31 + + # set up invariant vectors + vspltish v16,0 # v16: zero vector + + li r10,-12 + lvsr v17,r10,r8 # v17: result shift vector + lvsl v18,r10,r3 # v18: residual shift back vector + + li r10,-4 + stw r7,-4(r9) + lvewx v19,r10,r9 # v19: lp_quantization vector + +L1200: + vmulosh v20,v0,v8 # v20: sum vector + bcctr 20,0 + +L1300: + vmulosh v21,v7,v15 + vsldoi v15,v15,v14,4 # increment history + vaddsws v20,v20,v21 + +L1301: + vmulosh v21,v6,v14 + vsldoi v14,v14,v13,4 + vaddsws v20,v20,v21 + +L1302: + vmulosh v21,v5,v13 + vsldoi v13,v13,v12,4 + vaddsws v20,v20,v21 + +L1303: + vmulosh v21,v4,v12 + vsldoi v12,v12,v11,4 + vaddsws v20,v20,v21 + +L1304: + vmulosh v21,v3,v11 + vsldoi v11,v11,v10,4 + vaddsws v20,v20,v21 + +L1305: + vmulosh v21,v2,v10 + vsldoi v10,v10,v9,4 + vaddsws v20,v20,v21 + +L1306: + vmulosh v21,v1,v9 + vsldoi v9,v9,v8,4 + vaddsws v20,v20,v21 + +L1307: + vsumsws v20,v20,v16 # v20[3]: sum + vsraw v20,v20,v19 # v20[3]: sum >> lp_quantization + + lvewx v21,0,r3 # v21[n]: *residual + vperm v21,v21,v21,v18 # v21[3]: *residual + vaddsws v20,v21,v20 # v20[3]: *residual + (sum >> lp_quantization) + vsldoi v18,v18,v18,4 # increment shift vector + + vperm v21,v20,v20,v17 # v21[n]: shift for storage + vsldoi v17,v17,v17,12 # increment shift vector + stvewx v21,0,r8 + + vsldoi v20,v20,v20,12 + vsldoi v8,v8,v20,4 # insert value onto history + + addi r3,r3,4 + addi r8,r8,4 + cmplw cr0,r8,r4 # i<data_len + bc 12,0,L1200 + +L1400: + mtspr 256,r0 # restore old vrsave + lmw r31,-4(r1) + blr + +_FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8: +# r3: residual[] +# r4: data_len +# r5: qlp_coeff[] +# r6: order +# r7: lp_quantization +# r8: data[] + +# see _FLAC__lpc_restore_signal_asm_ppc_altivec_16() above +# this version assumes order<=8; it uses fewer vector registers, which should +# save time in context switches, and has less code, which may improve +# instruction caching + + stmw r31,-4(r1) + + addi r9,r1,-28 + li r31,0xf + andc r9,r9,r31 # for quadword-aligned stack data + + slwi r6,r6,2 # adjust for word size + slwi r4,r4,2 + add r4,r4,r8 # r4 = data+data_len + + mfspr r0,256 # cache old vrsave + addis r31,0,0xffc0 + ori r31,r31,0x0000 + mtspr 256,r31 # declare VRs in vrsave + + cmplw cr0,r8,r4 # i<data_len + bc 4,0,L2400 + + # load coefficients into v0-v1 and initial history into v2-v3 + li r31,0xf + and r31,r8,r31 # r31: data%4 + li r11,16 + subf r31,r31,r11 # r31: 4-(data%4) + slwi r31,r31,3 # convert to bits for vsro + li r10,-4 + stw r31,-4(r9) + lvewx v0,r10,r9 + vspltisb v6,-1 + vsro v6,v6,v0 # v6: mask vector + + li r31,0x8 + lvsl v0,0,r31 + vsldoi v0,v0,v0,12 + li r31,0xc + lvsl v1,0,r31 + vspltisb v2,0 + vspltisb v3,-1 + vmrglw v2,v2,v3 + vsel v0,v1,v0,v2 # v0: reversal permutation vector + + add r10,r5,r6 + lvsl v5,0,r5 # v5: coefficient alignment permutation vector + vperm v5,v5,v5,v0 # v5: reversal coefficient alignment permutation vector + + mr r11,r8 + lvsl v4,0,r11 # v4: history alignment permutation vector + + lvx v0,0,r5 + addi r5,r5,16 + lvx v1,0,r5 + vperm v0,v0,v1,v5 + lvx v2,0,r11 + addi r11,r11,-16 + lvx v3,0,r11 + vperm v2,v3,v2,v4 + cmplw cr0,r5,r10 + bc 12,0,L2101 + vand v0,v0,v6 + lis r31,L2301@ha + la r31,L2301@l(r31) + b L2199 + +L2101: + addi r5,r5,16 + lvx v7,0,r5 + vperm v1,v1,v7,v5 + addi r11,r11,-16 + lvx v7,0,r11 + vperm v3,v7,v3,v4 + vand v1,v1,v6 + lis r31,L2300@ha + la r31,L2300@l(r31) + +L2199: + mtctr r31 + + # set up invariant vectors + vspltish v4,0 # v4: zero vector + + li r10,-12 + lvsr v5,r10,r8 # v5: result shift vector + lvsl v6,r10,r3 # v6: residual shift back vector + + li r10,-4 + stw r7,-4(r9) + lvewx v7,r10,r9 # v7: lp_quantization vector + +L2200: + vmulosh v8,v0,v2 # v8: sum vector + bcctr 20,0 + +L2300: + vmulosh v9,v1,v3 + vsldoi v3,v3,v2,4 + vaddsws v8,v8,v9 + +L2301: + vsumsws v8,v8,v4 # v8[3]: sum + vsraw v8,v8,v7 # v8[3]: sum >> lp_quantization + + lvewx v9,0,r3 # v9[n]: *residual + vperm v9,v9,v9,v6 # v9[3]: *residual + vaddsws v8,v9,v8 # v8[3]: *residual + (sum >> lp_quantization) + vsldoi v6,v6,v6,4 # increment shift vector + + vperm v9,v8,v8,v5 # v9[n]: shift for storage + vsldoi v5,v5,v5,12 # increment shift vector + stvewx v9,0,r8 + + vsldoi v8,v8,v8,12 + vsldoi v2,v2,v8,4 # insert value onto history + + addi r3,r3,4 + addi r8,r8,4 + cmplw cr0,r8,r4 # i<data_len + bc 12,0,L2200 + +L2400: + mtspr 256,r0 # restore old vrsave + lmw r31,-4(r1) + blr |