|
Packit |
a43c12 |
0.4.27
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- sse: preserve non volatile sse registers, needed for MSVC (Matej Knopp)
|
|
Packit |
a43c12 |
- x86: don't hard-code register size to zero in orc_x86_emit_*() functions (Igor Rondarev)
|
|
Packit |
a43c12 |
- Fix incorrect asm generation on 64-bit Windows when building with MSVC (Jan Schmidt)
|
|
Packit |
a43c12 |
- Support build using the Meson build system (Nirbheek Chauhan, Tim-Philipp Müller)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.26
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Use 64 bit arithmetic to increment the stride if needed (Wim Taymans)
|
|
Packit |
a43c12 |
- Fix generation of ModR/M / SIB bytes for the EBP, R12, R13 registers
|
|
Packit |
a43c12 |
on X86/X86-64 (Sebastian Dröge)
|
|
Packit |
a43c12 |
- Fix test_parse unit test if no executable backend is available (Pascal Terjan)
|
|
Packit |
a43c12 |
- Add orc-test path to the -uninstalled .pc file (Josep Torra)
|
|
Packit |
a43c12 |
- Fix compiler warnings in the tests on OS X (Josep Torra)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.25
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- compiler: also prefer the backup function when no target, instead
|
|
Packit |
a43c12 |
of trying to use emulation which is usually slower (Wim Taymans)
|
|
Packit |
a43c12 |
- executor: fix load of parameters smaller than 64 bits, fixing crashes
|
|
Packit |
a43c12 |
on ldresnearb and friends in emulated code (Wim Taymans)
|
|
Packit |
a43c12 |
- test-limits: improve test without target (Wim Taymans)
|
|
Packit |
a43c12 |
- Only check for Android's liblog on Android targets, so we don't accidentally
|
|
Packit |
a43c12 |
pick up another liblog that may exist elsewhere (Sebastian Dröge)
|
|
Packit |
a43c12 |
- Don't require libtool for uninstalled setups (-uninstalled pkg-config file)
|
|
Packit |
a43c12 |
(Julien Isorce)
|
|
Packit |
a43c12 |
- Make -Bsymbolic check in configure work with clang (Koop Mast)
|
|
Packit |
a43c12 |
- Coverity code analyser fixes (Luis de Bethencourt)
|
|
Packit |
a43c12 |
- docs: update generated opcode tables
|
|
Packit |
a43c12 |
- add orc_version_string() function and make orcc check the liborc that is
|
|
Packit |
a43c12 |
being picked up to make sure the right lib is being used (Tim-Philipp Müller)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.24
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Only reuse constants of the same size and value (Wim Taymans)
|
|
Packit |
a43c12 |
- Fix reading of .orc files with Windows line endings on
|
|
Packit |
a43c12 |
Windows (Tim-Philipp Müller)
|
|
Packit |
a43c12 |
- Fix out of bounds array access in the tests (Luis de Bethencourt)
|
|
Packit |
a43c12 |
- Remove duplicate code path in orcc (Edward Hervey)
|
|
Packit |
a43c12 |
- Put a limit to the memcpy test (Edward Hervey)
|
|
Packit |
a43c12 |
- Fix mmap leak on error path (Vincent Penquerc'h)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.23
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Various improvements to the NEON backend to bring it closer to the SSE
|
|
Packit |
a43c12 |
backend (Wim Waymans)
|
|
Packit |
a43c12 |
- Add support for setting a custom backup function (Wim Taymans)
|
|
Packit |
a43c12 |
- Preserve NEON/VFP registers across subroutines (Jerome Laheurte)
|
|
Packit |
a43c12 |
- Fix 64 bit parameter loading on big-endian systems (Tim-Philipp Müller)
|
|
Packit |
a43c12 |
- Improved implementations for various opcodes (Wim Taymans)
|
|
Packit |
a43c12 |
- Various improvements and fixes to constants handling (Wim Taymans)
|
|
Packit |
a43c12 |
- Avoid some undefined operations on signed integers (Wim Taymans)
|
|
Packit |
a43c12 |
- Prefer user specific directories over global ones for intermediate files
|
|
Packit |
a43c12 |
to prevent name collisions (Fabian Deutsch)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.22
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Handle NOCONFIGURE=1 in autogen.sh (Colin Walters)
|
|
Packit |
a43c12 |
- Some memory leak fixes in the compiler (Sebastian Dröge, Thiago Santos)
|
|
Packit |
a43c12 |
- Fixes for compiler warnings on Win64 (Edward Hervey)
|
|
Packit |
a43c12 |
- Properly detect CPU features on Android in non-debug build (Jan Schmidt)
|
|
Packit |
a43c12 |
- Use Android logging system instead of stderr for debug output (Jan Schmidt)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.21
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Add libtool versioning to the linker flags again. This was accidentially
|
|
Packit |
a43c12 |
removed in 0.4.20 but should not cause any problems on platforms other
|
|
Packit |
a43c12 |
than OS X (Sebastian Dröge)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.20
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Fix list corruption when splitting code memory chunks, causing crashes
|
|
Packit |
a43c12 |
when allocating a lot of code memory and trying to free it later
|
|
Packit |
a43c12 |
(Tim-Philipp Müller)
|
|
Packit |
a43c12 |
- Add some extra checks for the number of variables used in ORC code to
|
|
Packit |
a43c12 |
prevent overflows and crashes in the compiler (Vincent Penquerc'h)
|
|
Packit |
a43c12 |
- Various compiler warnings, coverity warnings and static code analysis
|
|
Packit |
a43c12 |
fixes (Sebastian Dröge)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.19
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Fix out-of-tree builds (Edward Hervey)
|
|
Packit |
a43c12 |
- Fix many memory leaks, compiler warnings and coverity warnings (Tim-Philipp Müller,
|
|
Packit |
a43c12 |
Olivier Crête, Todd Agulnick, Sebastian Dröge, Vincent Penquerc'h, Edward Hervey)
|
|
Packit |
a43c12 |
- Documentation fix for mulhsw, mulhuw (William Manley)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.18
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Important bugfix in reading constants from bytecode. (Tim-Philipp Müller
|
|
Packit |
a43c12 |
and Sebastian Dröge)
|
|
Packit |
a43c12 |
- Documentation and code cleanup (Stefan Sauer)
|
|
Packit |
a43c12 |
- Fix cache flushing on iOS (Andoni Morales Alastruey)
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.17
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Maintenance release:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Merged known distro patches.
|
|
Packit |
a43c12 |
- Added MIPS backend (Guillaume Emont).
|
|
Packit |
a43c12 |
- Disabled ARM backend because of poor coverage.
|
|
Packit |
a43c12 |
- Added bytecode parsing and writing. This can be used instead of
|
|
Packit |
a43c12 |
manual creation of OrcPrograms.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.16
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Fix a few bugs people noticed in 0.4.15.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- orc_init() tried to take the same mutex as generated C code that
|
|
Packit |
a43c12 |
calls (indirectly) orc_init().
|
|
Packit |
a43c12 |
- sse: Fixes for 64 bit pointers with any of the upper 32 bits set.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.15
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This should have been release much earlier.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Protect global resources with mutexes. Duh. This solves a bunch
|
|
Packit |
a43c12 |
of bug reports.
|
|
Packit |
a43c12 |
- Restore c64x-c backend. Untested.
|
|
Packit |
a43c12 |
- Convert MMX and SSE backends to a new instruction scheduler.
|
|
Packit |
a43c12 |
- Add alignment and size hints to parser.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.14
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Yet more bug fixing. Altivec should work again, OS/X should
|
|
Packit |
a43c12 |
work again. MMX should work again. Another codegen bug on
|
|
Packit |
a43c12 |
SSE fixed.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.13
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Fixes two serious code generation bugs in 0.4.12 on SSE and
|
|
Packit |
a43c12 |
Altivec. Also added some compatibility code to mitigate
|
|
Packit |
a43c12 |
the previous automatic inclusion of stdint.h.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.12
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This is primarily a bug fixing release.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Fix gcc-4.6 warnings in generated code
|
|
Packit |
a43c12 |
- Codegen fixes for Altivec. Passes regression tests again.
|
|
Packit |
a43c12 |
- More error checking for code allocation.
|
|
Packit |
a43c12 |
- NEON: floating point improvements
|
|
Packit |
a43c12 |
- Removed stdint.h from API. This could theoretically cause
|
|
Packit |
a43c12 |
breakage if you depended on orc to include stdint.h.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
One new feature is the OrcCode structure, which keeps track of
|
|
Packit |
a43c12 |
compiled code. This now allows applications to free unused code.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Internally, x86 code generation was completely refactored to add
|
|
Packit |
a43c12 |
an intermediate stage, which will later be used for instruction
|
|
Packit |
a43c12 |
reordering. None of this is useful yet.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.11
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This is primarily a bug fixing release.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Fixes for CPUs that don't have backends
|
|
Packit |
a43c12 |
- Fix loading of double parameters
|
|
Packit |
a43c12 |
- mmx: Fix 64-bit parameter loading
|
|
Packit |
a43c12 |
- sse/mmx: Fix x2/x4 with certain opcodes
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
There are still some issues with the ARM backend on certain
|
|
Packit |
a43c12 |
architecture levels (especially ARMv6). Some assistance from
|
|
Packit |
a43c12 |
a user with access to such hardware would be useful.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.10
|
|
Packit |
a43c12 |
======
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Added several simple 64-bit opcodes
|
|
Packit |
a43c12 |
- Improved debugging by adding ORC_CODE=emulate
|
|
Packit |
a43c12 |
- Allocation of mmap'd areas for code now has several fallback
|
|
Packit |
a43c12 |
methods, in order to placate various SELinux configurations.
|
|
Packit |
a43c12 |
- Various speed improvements in SSE backend
|
|
Packit |
a43c12 |
- Add SSE implementations of ldreslinl and ldresnearl.
|
|
Packit |
a43c12 |
- Update Mersenne Twister example
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
There was a bug in the calculation of maximum loop shift that, when
|
|
Packit |
a43c12 |
fixed, increases the speed of certain functions by a factor of two.
|
|
Packit |
a43c12 |
However, the fix also triggers a bug in Schroedinger, which is fixed
|
|
Packit |
a43c12 |
in the 1.0.10 release.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.9
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This is primarily a bug fixing release.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Added handling for 64-bit constants
|
|
Packit |
a43c12 |
- Fix building and use of static library
|
|
Packit |
a43c12 |
- Fix register allocation on Win64 (still partly broken, however)
|
|
Packit |
a43c12 |
- Quiet some non-errors printed by orcc in 0.4.8.
|
|
Packit |
a43c12 |
- Fix implementation of several opcodes.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Until this release, the shared libraries all had the same versioning
|
|
Packit |
a43c12 |
information. This should be fixed going forward.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.8
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Fix Windows and OS/X builds
|
|
Packit |
a43c12 |
- Improve behavior in failure cases
|
|
Packit |
a43c12 |
- Major improvements for Altivec backend
|
|
Packit |
a43c12 |
- Significant documentation additions
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Memory for executable code storage is now handled in a much more
|
|
Packit |
a43c12 |
controlled manner, and it's now possible to reclaim this memory
|
|
Packit |
a43c12 |
after it's no longer needed.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
A few more 64-bit opcodes have been added, mostly related to
|
|
Packit |
a43c12 |
arithmetic on floating point values.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The orcc tool now handles 64-bit and floating point parameters
|
|
Packit |
a43c12 |
and constants.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.7
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Lots of specialized new opcodes and opcode prefixes.
|
|
Packit |
a43c12 |
- Important fixes for ARM backend
|
|
Packit |
a43c12 |
- Improved emulation of programs (much faster)
|
|
Packit |
a43c12 |
- Implemented fallback rules for almost all opcodes for
|
|
Packit |
a43c12 |
SSE and NEON backends
|
|
Packit |
a43c12 |
- Performance improvements for SSE and NEON backends.
|
|
Packit |
a43c12 |
- Many fixes to make larger programs compile properly.
|
|
Packit |
a43c12 |
- 64-bit data types are now fully implemented, although
|
|
Packit |
a43c12 |
there are few operations on them.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Loads and stores are now handled by separate opcodes (loadb,
|
|
Packit |
a43c12 |
storeb, etc). For compatibility, these are automatically
|
|
Packit |
a43c12 |
included where necessary. This allowed new specialized
|
|
Packit |
a43c12 |
loading opcodes, for example, resampling a source array
|
|
Packit |
a43c12 |
for use in scaling images.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Opcodes may now be prefixed by "x2" or "x4", indicating that
|
|
Packit |
a43c12 |
a operation should be done on 2 or 4 parts of a proportionally
|
|
Packit |
a43c12 |
larger value. For example, "x4 addusb" performs 4 saturated
|
|
Packit |
a43c12 |
unsigned additions on each of the four bytes of 32-bit
|
|
Packit |
a43c12 |
quantities. This is useful in pixel operations.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The MMX backend is now (semi-) automatically generated from
|
|
Packit |
a43c12 |
the SSE backend.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The orcc tool has a new option "--inline", which creates inline
|
|
Packit |
a43c12 |
versions of the Orc stub functions. The orcc tool also recognizes
|
|
Packit |
a43c12 |
a new directive '.init', which instructs the compiler to generate
|
|
Packit |
a43c12 |
an initialization function, which when called at application init
|
|
Packit |
a43c12 |
time, compiles all the generated functions. This allows the
|
|
Packit |
a43c12 |
generated stub functions to avoid checking if the function has
|
|
Packit |
a43c12 |
already been compiled. The use of these two features can
|
|
Packit |
a43c12 |
dramatically decrease the cost of calling Orc functions.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Known Bugs: Orc generates code that crashes on 64-bit OS/X.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Plans for 0.4.8: (was 2.5 for 4 this time around, not too bad!)
|
|
Packit |
a43c12 |
Document all the new features in 0.4.7. Instruction scheduler.
|
|
Packit |
a43c12 |
Code and API cleanup.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.6
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Various fixes to make Orc more portable
|
|
Packit |
a43c12 |
- Major performance improvements to NEON backend
|
|
Packit |
a43c12 |
- Minor performance improvements to SSE backend
|
|
Packit |
a43c12 |
- Major improvements to ARM backend, now passes regression
|
|
Packit |
a43c12 |
tests.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The defaults for floating point operations have been changed
|
|
Packit |
a43c12 |
somewhat: NANs are handled more like the IEEE 754 standard,
|
|
Packit |
a43c12 |
and denormals in operations are treated as zeros. The NAN
|
|
Packit |
a43c12 |
changes causes certain SSE operations to be slightly slower,
|
|
Packit |
a43c12 |
but produce less surprising results. Treating denormals as
|
|
Packit |
a43c12 |
zero has effects ranging from "slightly faster" to "now possible".
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New tool: orc-bugreport. Mainly this is to provide a limited
|
|
Packit |
a43c12 |
testing tool in the field, especially for embedded targets
|
|
Packit |
a43c12 |
which would not have access to the testsuite that is not
|
|
Packit |
a43c12 |
installed.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The environment variable ORC_CODE can now be used to adjust
|
|
Packit |
a43c12 |
some code generation. See orc-bugreport --help for details.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
orcc has a new option to generate code that is compatible
|
|
Packit |
a43c12 |
with older versions of Orc. For example, if your software
|
|
Packit |
a43c12 |
package only uses 0.4.5 features, you can use --compat 0.4.5
|
|
Packit |
a43c12 |
to generate code that run on 0.4.5, otherwise it may generate
|
|
Packit |
a43c12 |
code that requires 0.4.6. Useful for generating source code
|
|
Packit |
a43c12 |
for distribution.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New NEON detection relies on Linux 2.6.29 or later.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Plans for 0.4.7: (not that past predictions have been at all
|
|
Packit |
a43c12 |
accurate) New opcodes for FIR filtering, scaling and compositing
|
|
Packit |
a43c12 |
of images and video. Instruction scheduler, helpful for non-OOO
|
|
Packit |
a43c12 |
CPUs. Minor SSE/NEON improvements. Orcc generation of inline
|
|
Packit |
a43c12 |
macros.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.5
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This release contains many small improvements related to
|
|
Packit |
a43c12 |
converting GStreamer from liboil to Orc.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The major addition in this release is the mainstreaming of
|
|
Packit |
a43c12 |
the NEON backend, made possible by Nokia.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
There is a new experimental option to ./configure,
|
|
Packit |
a43c12 |
--enable-backend, which allows you to choose a single code
|
|
Packit |
a43c12 |
generation backend to include in the library. This is mostly
|
|
Packit |
a43c12 |
useful for embedded systems, and is not recommended in general.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
The upcoming release will focus on improving code generation
|
|
Packit |
a43c12 |
for the SSE and NEON backends.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.4
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This is almost entirely a cleanup and bug fix release.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- fix register copying on x86-64
|
|
Packit |
a43c12 |
- better checking for partial test failures
|
|
Packit |
a43c12 |
- fix documention build
|
|
Packit |
a43c12 |
- fix build on many systems I don't personally use
|
|
Packit |
a43c12 |
- various fixes to build/run on Win64 (Ramiro Polla)
|
|
Packit |
a43c12 |
- add performance tests
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Next release will merge in the new pixel compositing opcodes
|
|
Packit |
a43c12 |
and the SSE instruction scheduler.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.3
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New opcodes: all the 32-bit float opcodes from the orc-float
|
|
Packit |
a43c12 |
library have been moved into the core library.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New opcodes: splitlw and splitwb, which are equivalent to
|
|
Packit |
a43c12 |
select0lw, select1lw, select0wb, and select1wb, except that
|
|
Packit |
a43c12 |
the new opcodes split a value into two destinations in one
|
|
Packit |
a43c12 |
opcode.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New backend: c64x-c, for the TI C64x+ DSP. This backend only
|
|
Packit |
a43c12 |
produces source code, unlike other backends which can produce
|
|
Packit |
a43c12 |
both source and binary code. Generating code for this backend
|
|
Packit |
a43c12 |
can be done using 'orcc --assembly --target=c64x-c'.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Orc now understands and can generate code for two-dimensional
|
|
Packit |
a43c12 |
arrays. If the size of the array is known at compile time,
|
|
Packit |
a43c12 |
this information can be used to improve generated code.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Various improvements to the ARM backend by Wim Taymans. The
|
|
Packit |
a43c12 |
ARM backend is still experimental.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.2
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Bug fixes to C backend. Turns out this is rather important on
|
|
Packit |
a43c12 |
CPUs that don't have a native backend.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
New features have been postponed to 0.4.3.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.1
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
This release introduces the orcc program, which parses .orc files and
|
|
Packit |
a43c12 |
outputs C source files to compile into a library or application. The
|
|
Packit |
a43c12 |
main source file implements the functions described by the .orc source
|
|
Packit |
a43c12 |
code, by creating Orc programs and compiling them at runtime. Another
|
|
Packit |
a43c12 |
source file that it outputs is a test program that can be compiled and
|
|
Packit |
a43c12 |
run to determine if Orc is generating code correctly. In future
|
|
Packit |
a43c12 |
releases, the orcc tool will be expanded to output assembly code, as
|
|
Packit |
a43c12 |
well as make it easier to use Orc in a variety of ways.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Much of Schroedinger and GStreamer have been converted to use Orc
|
|
Packit |
a43c12 |
instead of liboil, as well as converting code that wasn't able to
|
|
Packit |
a43c12 |
use liboil. To enable this in Schroedinger, use the --enable-orc
|
|
Packit |
a43c12 |
configure option. The GStreamer changes are in the orc branch in
|
|
Packit |
a43c12 |
the repository at http://cgit.freedesktop.org/~ds/gstreamer
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Scheduled changes for 0.4.2 include a 2-D array mode for converting
|
|
Packit |
a43c12 |
the remaining liboil functions used in Schroedinger and GStreamer.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Major changes:
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
- Add the orcc compiler. Generates C code that creates Orc programs
|
|
Packit |
a43c12 |
from .orc source files.
|
|
Packit |
a43c12 |
- Improved testing
|
|
Packit |
a43c12 |
- Fixes in the C backend
|
|
Packit |
a43c12 |
- Fix the MMX backend to emit 'emms' instructions.
|
|
Packit |
a43c12 |
- Add a few rules to the SSE backend.
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
0.4.0
|
|
Packit |
a43c12 |
=====
|
|
Packit |
a43c12 |
|
|
Packit |
a43c12 |
Stuff happened.
|
|
Packit |
a43c12 |
|