platform/upstream/orc.git
14 years agoneon: improve select1wb/lw rules
David Schleef [Tue, 3 Aug 2010 00:04:58 +0000 (17:04 -0700)]
neon: improve select1wb/lw rules

14 years agoneon: Add more rules
David Schleef [Mon, 2 Aug 2010 23:09:46 +0000 (16:09 -0700)]
neon: Add more rules

14 years agoFix mulhul opcode and update generated code
David Schleef [Mon, 2 Aug 2010 23:09:02 +0000 (16:09 -0700)]
Fix mulhul opcode and update generated code

14 years agoneon: Add splitwb/splitlw
David Schleef [Mon, 2 Aug 2010 22:23:47 +0000 (15:23 -0700)]
neon: Add splitwb/splitlw

14 years agoneon: add load/store opcodes
David Schleef [Mon, 2 Aug 2010 21:59:15 +0000 (14:59 -0700)]
neon: add load/store opcodes

14 years agosse: Fix pmulld emission
David Schleef [Mon, 2 Aug 2010 19:31:47 +0000 (12:31 -0700)]
sse: Fix pmulld emission

14 years agosse: Fix mxcsr save/restore on x86-64
David Schleef [Mon, 2 Aug 2010 19:31:19 +0000 (12:31 -0700)]
sse: Fix mxcsr save/restore on x86-64

14 years agocompiler: increase number of temp variables
David Schleef [Mon, 2 Aug 2010 19:30:58 +0000 (12:30 -0700)]
compiler: increase number of temp variables

14 years agoconfigure: Add dragonflybsd to mmap code alloc
David Schleef [Mon, 2 Aug 2010 19:22:57 +0000 (12:22 -0700)]
configure: Add dragonflybsd to mmap code alloc

14 years agommx: Fix problems in recent commit
David Schleef [Mon, 2 Aug 2010 01:34:41 +0000 (18:34 -0700)]
mmx: Fix problems in recent commit

14 years agoAdd performance comparison tests
David Schleef [Mon, 2 Aug 2010 01:33:27 +0000 (18:33 -0700)]
Add performance comparison tests

14 years agotest: Fix perf_opcodes_sys for acc opcodes
David Schleef [Mon, 2 Aug 2010 01:02:48 +0000 (18:02 -0700)]
test: Fix perf_opcodes_sys for acc opcodes

14 years agommx: update from sse
David Schleef [Mon, 2 Aug 2010 00:36:30 +0000 (17:36 -0700)]
mmx: update from sse

14 years agoChanges to allow generation of mmx code from sse
David Schleef [Mon, 2 Aug 2010 00:35:48 +0000 (17:35 -0700)]
Changes to allow generation of mmx code from sse

14 years agoBetter handling of invariants
David Schleef [Sun, 1 Aug 2010 22:41:36 +0000 (15:41 -0700)]
Better handling of invariants

14 years agocompiler: add flag for allowing gp regs on stack
David Schleef [Sun, 1 Aug 2010 22:22:26 +0000 (15:22 -0700)]
compiler: add flag for allowing gp regs on stack

14 years agocompiler: don't load constants for scalar opcodes
David Schleef [Fri, 30 Jul 2010 23:19:08 +0000 (16:19 -0700)]
compiler: don't load constants for scalar opcodes

14 years agotests: handle scalar opcodes in perf test
David Schleef [Fri, 30 Jul 2010 23:17:01 +0000 (16:17 -0700)]
tests: handle scalar opcodes in perf test

14 years agosse: Add more fallback rules
David Schleef [Fri, 30 Jul 2010 23:16:31 +0000 (16:16 -0700)]
sse: Add more fallback rules

14 years agoDon't allocate registers for const and param
David Schleef [Fri, 30 Jul 2010 01:34:58 +0000 (18:34 -0700)]
Don't allocate registers for const and param

14 years agosse: implement faster permute rules
David Schleef [Fri, 30 Jul 2010 01:34:03 +0000 (18:34 -0700)]
sse: implement faster permute rules

14 years agotests: Add more test orc code
David Schleef [Fri, 30 Jul 2010 00:13:02 +0000 (17:13 -0700)]
tests: Add more test orc code

14 years agotests: fix program name
David Schleef [Thu, 29 Jul 2010 22:36:06 +0000 (15:36 -0700)]
tests: fix program name

14 years agoAdd loadpb/loadpw/loadpl instructions
David Schleef [Thu, 29 Jul 2010 22:35:33 +0000 (15:35 -0700)]
Add loadpb/loadpw/loadpl instructions

14 years agoAdd load/store opcodes
David Schleef [Thu, 29 Jul 2010 04:15:07 +0000 (21:15 -0700)]
Add load/store opcodes

Also rewrite programs to use them instead of having the
backends separately handle load/stores.  Breaks non-SSE
backends.

14 years agoAdd logging to orc_parse
David Schleef [Wed, 28 Jul 2010 07:57:23 +0000 (00:57 -0700)]
Add logging to orc_parse

And (finally) some error reporting in orcc.

14 years agoRemove constant folding, it's broken
David Schleef [Wed, 28 Jul 2010 00:22:53 +0000 (17:22 -0700)]
Remove constant folding, it's broken

14 years agosse: only set mxcsr if float opcodes are used
David Schleef [Wed, 28 Jul 2010 00:21:48 +0000 (17:21 -0700)]
sse: only set mxcsr if float opcodes are used

14 years agotests: quiet test output
David Schleef [Wed, 28 Jul 2010 00:21:08 +0000 (17:21 -0700)]
tests: quiet test output

14 years agoReimplement emulation
David Schleef [Wed, 28 Jul 2010 00:08:02 +0000 (17:08 -0700)]
Reimplement emulation

14 years agoupdate orcfunctions.c
David Schleef [Tue, 27 Jul 2010 23:55:42 +0000 (16:55 -0700)]
update orcfunctions.c

14 years agotest: quiet test_accsadubl
David Schleef [Tue, 27 Jul 2010 02:27:31 +0000 (19:27 -0700)]
test: quiet test_accsadubl

14 years agoUse TMPDIR for temporary code memory files
David Schleef [Mon, 26 Jul 2010 21:52:52 +0000 (14:52 -0700)]
Use TMPDIR for temporary code memory files

Also better error reporting.

14 years agoarm: more fixes for ARMv6 rules
Stuart Henderson [Wed, 21 Jul 2010 21:08:49 +0000 (14:08 -0700)]
arm: more fixes for ARMv6 rules

Signed-off-by: David Schleef <ds@schleef.org>
14 years agomemcpy_speed: make default upper limit lower
David Schleef [Wed, 21 Jul 2010 20:53:29 +0000 (13:53 -0700)]
memcpy_speed: make default upper limit lower

If the cache size is not known, max out at 1 MB.
Better for slow systems.

14 years ago.gitignore: ignore more stuff
Tim-Philipp Müller [Sat, 26 Jun 2010 11:51:03 +0000 (12:51 +0100)]
.gitignore: ignore more stuff

14 years agodocs: fix version.entities include problems
Tim-Philipp Müller [Sat, 26 Jun 2010 11:46:26 +0000 (12:46 +0100)]
docs: fix version.entities include problems

Copy the generated version.entities file into the xml/ directory,
which is where it's expected. Fixes include warnings when building
docs. There doesn't seem to be a way to achieve this without
modifying the original gtk-doc.make file yet.

14 years agoarm: Another try with ARMv6 rules
David Schleef [Wed, 21 Jul 2010 05:07:11 +0000 (22:07 -0700)]
arm: Another try with ARMv6 rules

14 years agoarm: move more opcodes that use ARMv6 instructions
David Schleef [Wed, 21 Jul 2010 00:07:41 +0000 (17:07 -0700)]
arm: move more opcodes that use ARMv6 instructions

Noticed by Brad <brad@comstyle.com>.

14 years agoback to unreleased
David Schleef [Tue, 20 Jul 2010 20:59:15 +0000 (13:59 -0700)]
back to unreleased

14 years agoarm: mark some rules as ARM v6 only
David Schleef [Tue, 20 Jul 2010 20:58:38 +0000 (13:58 -0700)]
arm: mark some rules as ARM v6 only

14 years agoRelease 0.4.6 orc-0.4.6
David Schleef [Wed, 14 Jul 2010 00:45:03 +0000 (17:45 -0700)]
Release 0.4.6

14 years agowin32: Fix DllMain definition
David Schleef [Wed, 14 Jul 2010 00:43:45 +0000 (17:43 -0700)]
win32: Fix DllMain definition

14 years agotests: don't run neon tests
David Schleef [Tue, 13 Jul 2010 23:10:59 +0000 (16:10 -0700)]
tests: don't run neon tests

14 years agoupdate release docs
David Schleef [Tue, 13 Jul 2010 21:12:50 +0000 (14:12 -0700)]
update release docs

14 years agodon't unlink tmp file if debug flag is used
David Schleef [Tue, 13 Jul 2010 20:54:10 +0000 (13:54 -0700)]
don't unlink tmp file if debug flag is used

14 years agoRemove orc-float
David Schleef [Sat, 10 Jul 2010 21:17:09 +0000 (14:17 -0700)]
Remove orc-float

14 years agoAdd cache information
David Schleef [Sun, 11 Jul 2010 02:24:27 +0000 (19:24 -0700)]
Add cache information

14 years agoneon: Fix aligned load
David Schleef [Sat, 10 Jul 2010 00:20:35 +0000 (17:20 -0700)]
neon: Fix aligned load

14 years agomemcpy_speed: inline orc_memcpy
David Schleef [Fri, 9 Jul 2010 20:47:49 +0000 (13:47 -0700)]
memcpy_speed: inline orc_memcpy

14 years agomemcpy_speed: flush/populate cache for hot/cold testing
David Schleef [Fri, 9 Jul 2010 20:45:19 +0000 (13:45 -0700)]
memcpy_speed: flush/populate cache for hot/cold testing

14 years agoneon: Add short-array unaligned speedup
David Schleef [Thu, 8 Jul 2010 23:53:29 +0000 (16:53 -0700)]
neon: Add short-array unaligned speedup

14 years agoneon: Add load/store of 256-bit vectors
David Schleef [Thu, 8 Jul 2010 02:52:27 +0000 (19:52 -0700)]
neon: Add load/store of 256-bit vectors

14 years agoneon: Only preload for each cache line
David Schleef [Thu, 8 Jul 2010 03:40:59 +0000 (20:40 -0700)]
neon: Only preload for each cache line

14 years agoneon: Add handling of different size regions
David Schleef [Thu, 8 Jul 2010 02:41:02 +0000 (19:41 -0700)]
neon: Add handling of different size regions

14 years agoarm/neon: use subs for loop counter
David Schleef [Wed, 7 Jul 2010 02:06:37 +0000 (19:06 -0700)]
arm/neon: use subs for loop counter

14 years agoneon: add preload
David Schleef [Tue, 6 Jul 2010 23:48:29 +0000 (16:48 -0700)]
neon: add preload

14 years agoneon: add loop unrolling
David Schleef [Tue, 6 Jul 2010 23:35:51 +0000 (16:35 -0700)]
neon: add loop unrolling

14 years agoneon: Fix rules for quad usage
David Schleef [Tue, 6 Jul 2010 21:55:50 +0000 (14:55 -0700)]
neon: Fix rules for quad usage

14 years agomemcpy_speed: take unalignment parameter on cmd line
David Schleef [Tue, 6 Jul 2010 19:32:20 +0000 (12:32 -0700)]
memcpy_speed: take unalignment parameter on cmd line

14 years agoneon: Fix store of l vectors
David Schleef [Tue, 6 Jul 2010 21:01:00 +0000 (14:01 -0700)]
neon: Fix store of l vectors

14 years agoneon: Add quad load/store
David Schleef [Tue, 6 Jul 2010 20:19:00 +0000 (13:19 -0700)]
neon: Add quad load/store

14 years agoneon: Use faster opcodes for aligned store
David Schleef [Tue, 6 Jul 2010 19:39:09 +0000 (12:39 -0700)]
neon: Use faster opcodes for aligned store

14 years agoAdd simple constant folding
David Schleef [Tue, 6 Jul 2010 19:33:28 +0000 (12:33 -0700)]
Add simple constant folding

14 years agoneon: Use unaligned ops instead of mask register
David Schleef [Tue, 6 Jul 2010 19:31:47 +0000 (12:31 -0700)]
neon: Use unaligned ops instead of mask register

14 years agoImprove compile debugging
David Schleef [Tue, 6 Jul 2010 19:29:23 +0000 (12:29 -0700)]
Improve compile debugging

14 years agotest: remove adjustment of performance number
David Schleef [Tue, 6 Jul 2010 19:28:49 +0000 (12:28 -0700)]
test: remove adjustment of performance number

14 years agotest: switch neon test back to neon
David Schleef [Tue, 6 Jul 2010 19:56:47 +0000 (12:56 -0700)]
test: switch neon test back to neon

14 years agowin32: Fix initialization of once mutex
David Schleef [Fri, 9 Jul 2010 08:05:19 +0000 (01:05 -0700)]
win32: Fix initialization of once mutex

14 years agoarm: Fix register moving
David Schleef [Mon, 5 Jul 2010 22:21:20 +0000 (15:21 -0700)]
arm: Fix register moving

14 years agoarm: fix some compile mismatches
David Schleef [Mon, 5 Jul 2010 21:44:29 +0000 (14:44 -0700)]
arm: fix some compile mismatches

14 years agoarm: Fix a bunch of rules
David Schleef [Thu, 1 Jul 2010 16:49:29 +0000 (09:49 -0700)]
arm: Fix a bunch of rules

14 years agoarm: fix compile error
David Schleef [Thu, 1 Jul 2010 16:41:25 +0000 (09:41 -0700)]
arm: fix compile error

14 years agoarm: mark rules known to be buggy
David Schleef [Thu, 1 Jul 2010 02:34:01 +0000 (19:34 -0700)]
arm: mark rules known to be buggy

14 years agoarm: Implement 2d support
David Schleef [Thu, 1 Jul 2010 02:33:39 +0000 (19:33 -0700)]
arm: Implement 2d support

14 years agoarm: implement load/store of b, l
David Schleef [Thu, 1 Jul 2010 02:09:00 +0000 (19:09 -0700)]
arm: implement load/store of b, l

14 years agoarm: arm backend code gen fixes
David Schleef [Thu, 1 Jul 2010 01:41:00 +0000 (18:41 -0700)]
arm: arm backend code gen fixes

14 years agoneon: check for NEON support on CPU
David Schleef [Thu, 1 Jul 2010 00:14:54 +0000 (17:14 -0700)]
neon: check for NEON support on CPU

14 years agosse: handle NANs and denormals
David Schleef [Wed, 30 Jun 2010 02:43:50 +0000 (19:43 -0700)]
sse: handle NANs and denormals

Set the DAZ and FTZ flags in the MXCSR, to set proper
denormal behavior.  Implement NAN handling for maxf and
minf.

14 years agoopcodes: Make flushing denormals the default behavior
David Schleef [Wed, 30 Jun 2010 02:37:11 +0000 (19:37 -0700)]
opcodes: Make flushing denormals the default behavior

Flushing denormals is a better default behavior for SIMD
engines, since they tend handle denormals slowly (SSE,
Altivec) or not at all (NEON).  Unfortunately, that
behavior is expensive to emulate on IEEE-compliant FPUs,
since you need to check for denormal before and after
every operation.  At this point, the emulator flushes
denormals and C code does not.

14 years agox86: Fix register popping for x86_64
David Schleef [Tue, 29 Jun 2010 06:29:41 +0000 (23:29 -0700)]
x86: Fix register popping for x86_64

14 years agoopcodes: Add code for handling denormals
David Schleef [Tue, 29 Jun 2010 06:22:35 +0000 (23:22 -0700)]
opcodes: Add code for handling denormals

14 years agoopcodes: check for NaN in maxf/minf
David Schleef [Tue, 29 Jun 2010 05:51:48 +0000 (22:51 -0700)]
opcodes: check for NaN in maxf/minf

14 years agotests: better float comparison
David Schleef [Tue, 29 Jun 2010 05:49:13 +0000 (22:49 -0700)]
tests: better float comparison

Allow denormals to be flushed to 0.  Check for NaNs.

14 years agoneon: Fix accumulator opcodes
David Schleef [Tue, 29 Jun 2010 05:29:36 +0000 (22:29 -0700)]
neon: Fix accumulator opcodes

14 years agoneon: implement 2d arrays
David Schleef [Tue, 29 Jun 2010 02:16:23 +0000 (19:16 -0700)]
neon: implement 2d arrays

14 years agoFix segfaults if no targets are available
David Schleef [Mon, 28 Jun 2010 20:43:31 +0000 (13:43 -0700)]
Fix segfaults if no targets are available

14 years agoAdd support for OpenBSD in CPU detection
David Schleef [Mon, 28 Jun 2010 20:09:32 +0000 (13:09 -0700)]
Add support for OpenBSD in CPU detection

From Brad <brad@comstyle.com>.

14 years agotools: add orc-bugreport
David Schleef [Sat, 26 Jun 2010 21:34:17 +0000 (14:34 -0700)]
tools: add orc-bugreport

14 years agoorcc: Add --quiet and --benchmark parameters to generated test programs
Sebastian Dröge [Sat, 26 Jun 2010 07:54:51 +0000 (09:54 +0200)]
orcc: Add --quiet and --benchmark parameters to generated test programs

14 years agoorcc: Improve test program generation
Sebastian Dröge [Wed, 16 Jun 2010 06:00:12 +0000 (08:00 +0200)]
orcc: Improve test program generation

Output something if a check has passed instead of being completely silent

14 years agotarget: add function to return flag names
David Schleef [Sat, 26 Jun 2010 20:53:45 +0000 (13:53 -0700)]
target: add function to return flag names

14 years agoarm: disable unused CPU detection
David Schleef [Thu, 24 Jun 2010 19:52:15 +0000 (12:52 -0700)]
arm: disable unused CPU detection

14 years agoorcc: make the test program quieter
David Schleef [Tue, 15 Jun 2010 19:21:04 +0000 (12:21 -0700)]
orcc: make the test program quieter

14 years agotests: Fix compilation of the ABI test on 64 bit architectures
Sebastian Dröge [Tue, 15 Jun 2010 09:40:38 +0000 (11:40 +0200)]
tests: Fix compilation of the ABI test on 64 bit architectures

Casting a pointer to a plain int will cause a compiler error, use long instead.

14 years agoAdd handling of ORC_CODE environment variable
David Schleef [Tue, 15 Jun 2010 05:57:36 +0000 (22:57 -0700)]
Add handling of ORC_CODE environment variable

A comma delimited string of values that control how the
compiler works.  Possible values are "backup", which causes
backup functions to be used instead of compiling, and "debug",
which causes the SSE backend to create frame pointers, which
produces slower code, but allows backtraces in a debugger.

14 years agotests: scripts to build/run against old versions
David Schleef [Tue, 15 Jun 2010 01:22:14 +0000 (18:22 -0700)]
tests: scripts to build/run against old versions

14 years agotests: Fix 2-dest opcodes
David Schleef [Tue, 15 Jun 2010 00:38:45 +0000 (17:38 -0700)]
tests: Fix 2-dest opcodes

14 years agotests: Add ABI check for code_exec
David Schleef [Mon, 14 Jun 2010 23:20:41 +0000 (16:20 -0700)]
tests: Add ABI check for code_exec

14 years agoFix API for 2-dest opcodes
David Schleef [Mon, 14 Jun 2010 22:57:57 +0000 (15:57 -0700)]
Fix API for 2-dest opcodes

Without this, splitwb and splitlw are effectively useless.