Abstract
Last year, we discussed the issues surrounding the development of languages and compilers for a general, portable, high-level SIMD Within A Register (SWAR) execution model. In a first effort to provide such a language and a framework for further research on this form of parallel processing, we proposed the vector-based language SWARC, and an experimental module compiler for this language, called Scc, which targeted IA32+MMX-based architectures.
Since that time, we have worked to expand the types of targets that Scc supports and to include optimizations based on both vector processing and enhanced hardware support for SWAR. This paper provides a more formal description of the SWARC language, describes the organization of the current version of the Scc compiler, and discusses the implementation of optimizations within this framework.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Advanced Micro Devices, Inc., AMD-K6 Processor Multimedia ExtensionsAdvanced Micro Devices, Inc., Sunnyvale, California, March 1997.
Michael Van Canneyt and Florian Klampfl, Free Pascal supplied units: Reference Guide, http://rs1.szif.hu/~marton/fpc/units, December 1998.
Cyrix Corporation, Multimedia Instruction Set Extensions for a Sixth-Generation x86 Processor, Cyrix Corporation, ftp://ftp.cyrix.com/developr/hc-mmx4.pdf, August 1996.
Randall J. Fisher and Henry G. Dietz, Compiling For SIMD Within A Register, 11th International Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998.
P. J. Hatcher, A. J. Lapadula, R. R. Jones, M. J. Quinn, and R. J. Anderson, A Production Quality C* Compiler for Hypercube Multicomputers, Third ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, Williamsburg, Virginia, April 1991, pp. 73–82.
Intel Corporation, Intel Architecture Software Developer’s Manual: Vol. 1 Basic Architecture, Intel Corporation, http://developer.intel.com/design/pentiumII/manuals/24319002. PDF, May 1999.
Joe Wolf, Coding Techniques for the Streaming SIMD Extensions With the Intel C/C++ Compiler, Intel Corporation, http://developer.intel.com/vtune/newsletr/methods.htm, July 1999.
Joe Wolf, Advanced Optimizations With the Intel C/C++ Compiler, Intel Corporation, http://developer.intel.com/vtune/newsletr/opts.htm, July 1999.
MasPar Computer Corporation, MasPar Programming Language (ANSI C compatible MPL) Reference Manual, Software Version 2.2, Document Number 9302-0001, Sunnyvale, California, November 1991.
MetroWerks, Inc., MetroWerks Desktop Products-Code Warrior for Windows, Profession Edition, MetroWerks, Inc., http://www.metrowerks.com/desktop/windows/.
Motorola, Inc., AltiVec Technology Programming Environments Manual, Preliminary Rev. 0.2, Motorola, Inc., http://www.motcom/SPS/PowerPC/teksupport/teklibrary/manuals/altivecpem.pdf, May 1998.
A. Nisar and H. G. Dietz, Optimal Code Scheduling for Multiple Pipeline Processors, 1990 International Conference on Parallel Processing, vol. II, Saint Charles, Illinois, pp. 61–64, August 1990.
Oxford Micro Devices, Inc., New Method for Programming Intel Multimedia Extensions (MMX), Oxford Micro Devices, Inc., http://oxfordmicrodevices.com/pr040396.html.
Sybase, Inc., Watcom C/C++ 11.0 Datasheet, Sybase, Inc., http://www.sybase.com:80/products/languages/cdatash.html.
Thinking Machines Corporation, C* Programming Guide, Thinking Machines Corporation, Cambridge, Massachusetts, November 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fisher, R.J., Dietz, H.G. (2000). The Scc Compiler: SWARing at MMX and 3D Now!. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_25
Download citation
DOI: https://doi.org/10.1007/3-540-44905-1_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67858-8
Online ISBN: 978-3-540-44905-8
eBook Packages: Springer Book Archive