Back in 2000, Quexal changed the way programmers had to deal with MMX programming. A friendly user interface simplified building parallel versions of algorithms, an optimizing compiler made sure that the resulting code would run fast, and a visual debugger helped pinpoint programming errors.
Even if the focus of the programming community has moved on to more recent instructions sets, after many years I still get queries about Quexal, so I've decided to release it as freeware, as it may be useful for learning SIMD coding. However, simply releasing the last published version of Quexal was not enough, and this was an opportunity to spend some time on this pet project of mine and improve it.
So here you have it, an updated version of Quexal for free! Just go to the download section to get it.
Please note that:
- Quexal is not supported
- no new features or new instruction sets will be added
Last update: 1.9.2, May 20th, 2013
- [N] user can type comments without opening instruction dialog
- [N] double clicking on an instruction in graph view open instruction editor
- [N] toolbar button for export to intrinsics
- [N] added line numbers
- [N] added compilation notification
- [I] improved toolbar look
- [I] new icon
- [F] added instruction description to unsupported instructions in intrinsics export
- [F] fixed list of Recent files on startup
- [F] fixed instruction pointer after deleting a block of instructions
- [F] fixed multiple selection of instructions with shift + click
MMX / iSSE instructions can greatly enhance the performance of the following applications: multimedia (audio/video), communications, DSP kernels, 2D and 3D graphics, image processing and speech recognition.
But current compilers do not support these instructions. You have to learn all those instructions sets, then painfully code in plain assembly, then discover that achieving the maximum performance requires deep knowledge of the processors' microarchitectures, and finally that debugging and modifying your code is a nightmare.
Now there is a better way: Quexal, a development environment aimed at MMX / iSSE programmers.
Here is how Quexal will help you get the job done quickly and easily:
- flatten the learning curve! you can work with well understood concepts, such as variables and common operations, instead of registers and cryptic MMX / iSSE opcodes;
- take it easy! its custom designed graphical interface guides you step by step, displaying only relevant options;
- work faster! the compiler optimizes source code into optimally scheduled MMX / iSSE assembly code that can be directly pasted into any other development environment, thus taking the optimization phase, the most time-consuming and error prone one, out of the development cycle;
- save an upgrade! you can use MMX and iSSE instructions even if your compiler does not support them, as the bytecode compiler turns source instructions directly into machine language; Quexal supports the Microsoft Visual C++, Borland C++ Builder and Borland Delphi compilers;
- bug killer! includes a visual Debugger that re-arranges source code in a graph showing dependency bonds among instructions; you can enter source values and analyze what the instructions defined in source code do, and therefore easily detect troublesome spots;
- become a code guru - instantly! the optimized code is as good as that written by world class programmers, but no knowledge of micro architectural designs is required;
- maintaining code? no problem! you can modify the source code in the Quexal environment and then optimize it again, instead of changing MMX / iSSE code listings.
Now you can build State-of-the-Art applications quickly and easily with Quexal!