Skip to main content

The Scc Compiler: SWARing at MMX and 3D Now!

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1863))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Advanced Micro Devices, Inc., AMD-K6 Processor Multimedia ExtensionsAdvanced Micro Devices, Inc., Sunnyvale, California, March 1997.

    Google Scholar 

  2. Michael Van Canneyt and Florian Klampfl, Free Pascal supplied units: Reference Guide, http://rs1.szif.hu/~marton/fpc/units, December 1998.

  3. Cyrix Corporation, Multimedia Instruction Set Extensions for a Sixth-Generation x86 Processor, Cyrix Corporation, ftp://ftp.cyrix.com/developr/hc-mmx4.pdf, August 1996.

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

  7. 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.

  8. Joe Wolf, Advanced Optimizations With the Intel C/C++ Compiler, Intel Corporation, http://developer.intel.com/vtune/newsletr/opts.htm, July 1999.

  9. MasPar Computer Corporation, MasPar Programming Language (ANSI C compatible MPL) Reference Manual, Software Version 2.2, Document Number 9302-0001, Sunnyvale, California, November 1991.

    Google Scholar 

  10. MetroWerks, Inc., MetroWerks Desktop Products-Code Warrior for Windows, Profession Edition, MetroWerks, Inc., http://www.metrowerks.com/desktop/windows/.

  11. 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.

  12. 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.

    Google Scholar 

  13. Oxford Micro Devices, Inc., New Method for Programming Intel Multimedia Extensions (MMX), Oxford Micro Devices, Inc., http://oxfordmicrodevices.com/pr040396.html.

  14. Sybase, Inc., Watcom C/C++ 11.0 Datasheet, Sybase, Inc., http://www.sybase.com:80/products/languages/cdatash.html.

  15. Thinking Machines Corporation, C* Programming Guide, Thinking Machines Corporation, Cambridge, Massachusetts, November 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics