platform/upstream/orc.git
14 years agoFix testing of float params
David Schleef [Wed, 25 Aug 2010 23:00:58 +0000 (16:00 -0700)]
Fix testing of float params

14 years agoc: Handle denormals and nan using bit ops
David Schleef [Wed, 25 Aug 2010 21:51:18 +0000 (14:51 -0700)]
c: Handle denormals and nan using bit ops

14 years agotestsuite: use correct return type
Stefan Kost [Wed, 25 Aug 2010 17:55:59 +0000 (20:55 +0300)]
testsuite: use correct return type

gcc was complaining about the comparision due to wrong type.

14 years agoorcc: remove (fake) dependency on liborc-test
David Schleef [Wed, 25 Aug 2010 10:29:25 +0000 (03:29 -0700)]
orcc: remove (fake) dependency on liborc-test

14 years agoCheck for posix_memalign()
David Schleef [Wed, 25 Aug 2010 10:28:56 +0000 (03:28 -0700)]
Check for posix_memalign()

14 years agoFix cross compiling
David Schleef [Wed, 25 Aug 2010 10:28:16 +0000 (03:28 -0700)]
Fix cross compiling

14 years agotest: Add denormal array pattern
David Schleef [Wed, 25 Aug 2010 10:26:58 +0000 (03:26 -0700)]
test: Add denormal array pattern

14 years agoshow_parse: Allocate array (fix segfault)
David Schleef [Wed, 25 Aug 2010 10:26:20 +0000 (03:26 -0700)]
show_parse: Allocate array (fix segfault)

14 years agoaltivec: Implement lots more rules
David Schleef [Wed, 25 Aug 2010 10:25:14 +0000 (03:25 -0700)]
altivec: Implement lots more rules

14 years agoUse OrcCode structure to handle all executable code
David Schleef [Tue, 24 Aug 2010 20:22:24 +0000 (13:22 -0700)]
Use OrcCode structure to handle all executable code

14 years agoCode memory allocation
David Schleef [Mon, 23 Aug 2010 21:42:29 +0000 (14:42 -0700)]
Code memory allocation

14 years agoAdd OrcCodeRegion
David Schleef [Mon, 23 Aug 2010 21:17:25 +0000 (14:17 -0700)]
Add OrcCodeRegion

14 years agotest: Add special patterns (for floats)
David Schleef [Sun, 22 Aug 2010 23:25:22 +0000 (16:25 -0700)]
test: Add special patterns (for floats)

14 years agoshow_parse: Add -n option
David Schleef [Sun, 22 Aug 2010 23:24:49 +0000 (16:24 -0700)]
show_parse: Add -n option

14 years agosse: Fix some compilation issues on x86-64
David Schleef [Sun, 22 Aug 2010 00:10:32 +0000 (17:10 -0700)]
sse: Fix some compilation issues on x86-64

14 years agosse: add better rules for mulhsl/mulhul
Andrea Canciani [Sat, 21 Aug 2010 21:05:18 +0000 (14:05 -0700)]
sse: add better rules for mulhsl/mulhul

14 years agosse: quit early if error is detected
David Schleef [Sat, 21 Aug 2010 20:46:20 +0000 (13:46 -0700)]
sse: quit early if error is detected

14 years agoc: minor hack for lots of temp vars
David Schleef [Sat, 21 Aug 2010 20:45:52 +0000 (13:45 -0700)]
c: minor hack for lots of temp vars

14 years agotests: Add show_parse
David Schleef [Sat, 21 Aug 2010 20:45:18 +0000 (13:45 -0700)]
tests: Add show_parse

14 years agoAdd ORC_VAR_T16
David Schleef [Fri, 20 Aug 2010 23:15:04 +0000 (16:15 -0700)]
Add ORC_VAR_T16

14 years agocompiler: If compilation fails, go back to backup function
David Schleef [Fri, 20 Aug 2010 23:14:47 +0000 (16:14 -0700)]
compiler: If compilation fails, go back to backup function

14 years agoorcc: Use ORC_RESTRICT for executor structure
David Schleef [Fri, 20 Aug 2010 19:48:27 +0000 (12:48 -0700)]
orcc: Use ORC_RESTRICT for executor structure

14 years agoautogen.sh: Enable --enable-gtk-doc for ds
David Schleef [Fri, 20 Aug 2010 19:48:04 +0000 (12:48 -0700)]
autogen.sh: Enable --enable-gtk-doc for ds

14 years agoFix distcheck for new examples
David Schleef [Fri, 20 Aug 2010 19:47:39 +0000 (12:47 -0700)]
Fix distcheck for new examples

14 years agoUpdate documentation, add tutorial
David Schleef [Fri, 20 Aug 2010 19:15:14 +0000 (12:15 -0700)]
Update documentation, add tutorial

14 years agoc: Add definition of ORC_RESTRICT
David Schleef [Thu, 19 Aug 2010 20:32:10 +0000 (13:32 -0700)]
c: Add definition of ORC_RESTRICT

Theoretically, this should allow gcc to generate better code.

14 years agoAdd perf testing of emulated code
David Schleef [Thu, 19 Aug 2010 20:31:40 +0000 (13:31 -0700)]
Add perf testing of emulated code

14 years agoback to unreleased
David Schleef [Thu, 19 Aug 2010 19:53:17 +0000 (12:53 -0700)]
back to unreleased

14 years agoFix printing of performance data in tests
David Schleef [Thu, 19 Aug 2010 19:42:02 +0000 (12:42 -0700)]
Fix printing of performance data in tests

14 years agoRelease 0.4.7 orc-0.4.7
David Schleef [Thu, 19 Aug 2010 06:54:31 +0000 (23:54 -0700)]
Release 0.4.7

14 years agotest: Improve opcode test program generation
David Schleef [Thu, 19 Aug 2010 01:24:10 +0000 (18:24 -0700)]
test: Improve opcode test program generation

14 years agoneon: Fix div255w rule
David Schleef [Thu, 19 Aug 2010 01:09:58 +0000 (18:09 -0700)]
neon: Fix div255w rule

14 years agommx: update from sse
David Schleef [Wed, 18 Aug 2010 21:23:09 +0000 (14:23 -0700)]
mmx: update from sse

14 years agosse: use pinsrw to load 2-byte values
David Schleef [Wed, 18 Aug 2010 02:22:55 +0000 (19:22 -0700)]
sse: use pinsrw to load 2-byte values

14 years agotest: Add alignment and misalignment to arrays
David Schleef [Wed, 18 Aug 2010 01:34:45 +0000 (18:34 -0700)]
test: Add alignment and misalignment to arrays

This causes most of the performance tests to slow down significantly,
but is a more realistic measurement of actual performance.

14 years agosse,x86: Add some new instruction emission code
David Schleef [Wed, 18 Aug 2010 01:02:40 +0000 (18:02 -0700)]
sse,x86: Add some new instruction emission code

14 years agosse: minor optimization for constant_m=1
David Schleef [Wed, 18 Aug 2010 01:01:54 +0000 (18:01 -0700)]
sse: minor optimization for constant_m=1

14 years agosse: reset more of the compiler after a test loop
David Schleef [Wed, 18 Aug 2010 01:01:11 +0000 (18:01 -0700)]
sse: reset more of the compiler after a test loop

14 years agosse: better choosing of alignment var
David Schleef [Wed, 18 Aug 2010 00:55:58 +0000 (17:55 -0700)]
sse: better choosing of alignment var

This causes a bunch of test programs to increase in speed by 10-20%,
specifically those that have larger source sizes than dest sizes.
The one notable exception is orc_interleave_s16, which decreases in
speed by 50%, even though there is no apparent change in code.  WTF.

14 years agoconfigure: reminder to bump libversion
David Schleef [Wed, 18 Aug 2010 00:55:03 +0000 (17:55 -0700)]
configure: reminder to bump libversion

14 years agoopcodes: fix emulation of ldres* opcodes
David Schleef [Sun, 15 Aug 2010 01:12:39 +0000 (18:12 -0700)]
opcodes: fix emulation of ldres* opcodes

14 years agoorcc: Fix code generation
David Schleef [Sun, 15 Aug 2010 01:06:34 +0000 (18:06 -0700)]
orcc: Fix code generation

Problems with dspp opcodes.  Fix a gcc warning about large numbers
wrapping around to negative on 32-bit.

14 years agosse: remove unused src->dest chaining checks
David Schleef [Sun, 15 Aug 2010 01:05:51 +0000 (18:05 -0700)]
sse: remove unused src->dest chaining checks

14 years agosse: don't unroll larger programs
David Schleef [Sun, 15 Aug 2010 00:58:16 +0000 (17:58 -0700)]
sse: don't unroll larger programs

14 years agotests: Add code for ldres* opcodes
David Schleef [Fri, 13 Aug 2010 18:53:33 +0000 (11:53 -0700)]
tests: Add code for ldres* opcodes

14 years agoAdd ldresnear[bl] and ldreslin[bl] opcodes
David Schleef [Fri, 13 Aug 2010 18:52:35 +0000 (11:52 -0700)]
Add ldresnear[bl] and ldreslin[bl] opcodes

14 years agoFixes to handle opcodes with 3 sources
David Schleef [Fri, 13 Aug 2010 18:50:04 +0000 (11:50 -0700)]
Fixes to handle opcodes with 3 sources

14 years agoRename splatw0q to splatw3q
David Schleef [Fri, 13 Aug 2010 11:36:24 +0000 (04:36 -0700)]
Rename splatw0q to splatw3q

14 years agotest: Remove #undef so it can be overridden in CFLAGS
David Schleef [Fri, 13 Aug 2010 02:27:28 +0000 (19:27 -0700)]
test: Remove #undef so it can be overridden in CFLAGS

14 years agotests: Fix code to not trip new sanity check
David Schleef [Fri, 13 Aug 2010 02:20:56 +0000 (19:20 -0700)]
tests: Fix code to not trip new sanity check

14 years agotest: Decrease n for performance testing
David Schleef [Fri, 13 Aug 2010 02:20:24 +0000 (19:20 -0700)]
test: Decrease n for performance testing

14 years agoneon: new rules, tuning of code generation
David Schleef [Fri, 13 Aug 2010 02:19:44 +0000 (19:19 -0700)]
neon: new rules, tuning of code generation

14 years agoarm: Better checking, add data and nops
David Schleef [Fri, 13 Aug 2010 02:18:19 +0000 (19:18 -0700)]
arm: Better checking, add data and nops

14 years agosse: be more careful about keeping stack aligned
David Schleef [Thu, 12 Aug 2010 01:22:43 +0000 (18:22 -0700)]
sse: be more careful about keeping stack aligned

14 years agoUpdate generated code due to orcc changes
David Schleef [Thu, 12 Aug 2010 01:04:02 +0000 (18:04 -0700)]
Update generated code due to orcc changes

14 years agoorcc: Don't use ORC_INLINE for inline generation
David Schleef [Thu, 12 Aug 2010 01:03:14 +0000 (18:03 -0700)]
orcc: Don't use ORC_INLINE for inline generation

14 years agoparser: Add .init directive
David Schleef [Thu, 12 Aug 2010 00:46:30 +0000 (17:46 -0700)]
parser: Add .init directive

14 years agoorcc: Add --inline and --init-function
David Schleef [Thu, 12 Aug 2010 00:31:23 +0000 (17:31 -0700)]
orcc: Add --inline and --init-function

14 years agoc: Fix emulation opcode generation due to previous changes
David Schleef [Wed, 11 Aug 2010 22:22:15 +0000 (15:22 -0700)]
c: Fix emulation opcode generation due to previous changes

Also update generated code.

14 years agoc: implement x2/x4 prefix
David Schleef [Wed, 11 Aug 2010 22:04:51 +0000 (15:04 -0700)]
c: implement x2/x4 prefix

14 years agoorcc: Handle x2/x4 prefix for tests
David Schleef [Wed, 11 Aug 2010 22:04:00 +0000 (15:04 -0700)]
orcc: Handle x2/x4 prefix for tests

14 years agoautogen: remove --enable-gtk-doc
David Schleef [Wed, 11 Aug 2010 20:44:10 +0000 (13:44 -0700)]
autogen: remove --enable-gtk-doc

14 years agoconfigure: fix AC_HELP_STRING
David Schleef [Wed, 11 Aug 2010 20:43:51 +0000 (13:43 -0700)]
configure: fix AC_HELP_STRING

14 years agotests: Add more programs to test.orc
David Schleef [Wed, 11 Aug 2010 10:02:50 +0000 (03:02 -0700)]
tests: Add more programs to test.orc

14 years agoorcc: create inline functions
David Schleef [Wed, 11 Aug 2010 10:01:38 +0000 (03:01 -0700)]
orcc: create inline functions

This is turned on by default, and doesn't generate backup functions,
so it might cause problems.

14 years agoUse instruction size for loadp, not var size
David Schleef [Wed, 11 Aug 2010 10:00:54 +0000 (03:00 -0700)]
Use instruction size for loadp, not var size

14 years agoUse ORC_N_COMPILER_VARIABLES where appropriate
David Schleef [Wed, 11 Aug 2010 08:37:40 +0000 (01:37 -0700)]
Use ORC_N_COMPILER_VARIABLES where appropriate

14 years agoc: Fix generation of loadoff, loadup code
David Schleef [Wed, 11 Aug 2010 08:36:45 +0000 (01:36 -0700)]
c: Fix generation of loadoff, loadup code

14 years agoFix warnings
David Schleef [Wed, 11 Aug 2010 08:35:38 +0000 (01:35 -0700)]
Fix warnings

14 years agoorcc: Fix warning in generated code
David Schleef [Wed, 11 Aug 2010 07:26:19 +0000 (00:26 -0700)]
orcc: Fix warning in generated code

14 years agoFix segfault in test programs
David Schleef [Wed, 11 Aug 2010 07:24:57 +0000 (00:24 -0700)]
Fix segfault in test programs

Emulation requires that the program be compiled.

14 years agosse: use fewer temporary registers
David Schleef [Wed, 11 Aug 2010 06:31:15 +0000 (23:31 -0700)]
sse: use fewer temporary registers

14 years agoMake sure there are enough registers for temps
David Schleef [Wed, 11 Aug 2010 06:30:19 +0000 (23:30 -0700)]
Make sure there are enough registers for temps

14 years agoLook for rules in reverse order
David Schleef [Wed, 11 Aug 2010 06:28:48 +0000 (23:28 -0700)]
Look for rules in reverse order

That way, we'll find the SSSE3 rules before SSE2.  Duh.

14 years agoFix sanity check for loadp
David Schleef [Wed, 11 Aug 2010 06:17:17 +0000 (23:17 -0700)]
Fix sanity check for loadp

14 years agoBetter constant loading
David Schleef [Wed, 11 Aug 2010 05:16:50 +0000 (22:16 -0700)]
Better constant loading

14 years agocompiler: additional sanity check for loadp
David Schleef [Wed, 11 Aug 2010 05:15:33 +0000 (22:15 -0700)]
compiler: additional sanity check for loadp

14 years agosse: switch to orc_compiler_get_temp_reg()
David Schleef [Wed, 11 Aug 2010 03:42:36 +0000 (20:42 -0700)]
sse: switch to orc_compiler_get_temp_reg()

14 years agoDynamically allocate temporary registers
David Schleef [Wed, 11 Aug 2010 02:39:41 +0000 (19:39 -0700)]
Dynamically allocate temporary registers

14 years agosse: improve constant loading
David Schleef [Wed, 11 Aug 2010 02:38:33 +0000 (19:38 -0700)]
sse: improve constant loading

14 years agosse: fix divluw implementation
David Schleef [Wed, 11 Aug 2010 00:06:57 +0000 (17:06 -0700)]
sse: fix divluw implementation

Also slightly faster.

14 years agoAdd orc_program_append_2() for instruction flags
David Schleef [Mon, 9 Aug 2010 23:56:13 +0000 (16:56 -0700)]
Add orc_program_append_2() for instruction flags

14 years agoAdd divluw opcode
David Schleef [Mon, 9 Aug 2010 23:47:38 +0000 (16:47 -0700)]
Add divluw opcode

14 years agoFix splatw0q opcode to be useful for pixman
David Schleef [Mon, 9 Aug 2010 23:45:39 +0000 (16:45 -0700)]
Fix splatw0q opcode to be useful for pixman

14 years agotest: Add x4 prefix program
David Schleef [Mon, 9 Aug 2010 23:39:57 +0000 (16:39 -0700)]
test: Add x4 prefix program

14 years agoRefactor instruction flags
David Schleef [Mon, 9 Aug 2010 23:31:58 +0000 (16:31 -0700)]
Refactor instruction flags

14 years agosse: Fix recently broken convsuslw rule
David Schleef [Sun, 8 Aug 2010 19:56:46 +0000 (12:56 -0700)]
sse: Fix recently broken convsuslw rule

14 years agoAdd low-level opcodes for compositing
David Schleef [Sat, 7 Aug 2010 01:43:41 +0000 (18:43 -0700)]
Add low-level opcodes for compositing

14 years agoAdd some 64-bit opcodes, and SSE rules
David Schleef [Sat, 7 Aug 2010 00:50:39 +0000 (17:50 -0700)]
Add some 64-bit opcodes, and SSE rules

14 years agoremove old style of opcode emulation
David Schleef [Fri, 6 Aug 2010 20:42:49 +0000 (13:42 -0700)]
remove old style of opcode emulation

14 years agoGenerate header file for opcode emulation
David Schleef [Fri, 6 Aug 2010 20:33:32 +0000 (13:33 -0700)]
Generate header file for opcode emulation

14 years agosse: better implementation of addssl
David Schleef [Fri, 6 Aug 2010 20:03:51 +0000 (13:03 -0700)]
sse: better implementation of addssl

14 years agosse: implement more rules
David Schleef [Fri, 6 Aug 2010 18:46:57 +0000 (11:46 -0700)]
sse: implement more rules

14 years agoc: Fix loadupib code
David Schleef [Fri, 6 Aug 2010 02:52:52 +0000 (19:52 -0700)]
c: Fix loadupib code

14 years agosse: Add more slow rules
David Schleef [Fri, 6 Aug 2010 01:08:25 +0000 (18:08 -0700)]
sse: Add more slow rules

14 years agotest.orc: Add a function with loadupdb
David Schleef [Thu, 5 Aug 2010 21:22:40 +0000 (14:22 -0700)]
test.orc: Add a function with loadupdb

14 years agotests: don't run compare programs
David Schleef [Thu, 5 Aug 2010 21:22:15 +0000 (14:22 -0700)]
tests: don't run compare programs

For MMX/SSE only.

14 years agosse: implement loadoff, loadup opcodes
David Schleef [Thu, 5 Aug 2010 21:21:34 +0000 (14:21 -0700)]
sse: implement loadoff, loadup opcodes

14 years agosse: implement mulhul
David Schleef [Thu, 5 Aug 2010 21:20:58 +0000 (14:20 -0700)]
sse: implement mulhul

14 years agoAdd loadoff[bwl], loadup[id]b opcodes
David Schleef [Thu, 5 Aug 2010 21:18:42 +0000 (14:18 -0700)]
Add loadoff[bwl], loadup[id]b opcodes