platform/upstream/orc.git
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.

14 years agoFix ABI issues caused by 5bfde389c78155
David Schleef [Mon, 14 Jun 2010 22:54:15 +0000 (15:54 -0700)]
Fix ABI issues caused by 5bfde389c78155

Although OrcVariable and OrcProgram are completely private,
orcc generates code that digs deep into OrcProgram for code_exec.
We're requiring that generated code is ABI compatible, so that
means the offset of code_exec in OrcProgram is part of the ABI.

Oops.

14 years agoorcc: Add --compat
David Schleef [Mon, 14 Jun 2010 19:05:12 +0000 (12:05 -0700)]
orcc: Add --compat

This enables checking of parsed orc code for compatibility with
older versions of Orc.  Right now, this means that if --compat 0.4.5
is specified, you cannot use float parameters, since that feature
was introduced after 0.4.5.

14 years agommx: Only mark the MMX target as executable if the CPU has MMX support
Sebastian Dröge [Mon, 14 Jun 2010 12:47:04 +0000 (14:47 +0200)]
mmx: Only mark the MMX target as executable if the CPU has MMX support

14 years agoc: Fix code for int parameters
David Schleef [Mon, 14 Jun 2010 19:11:23 +0000 (12:11 -0700)]
c: Fix code for int parameters

Bug caused by 5bfde389

14 years agologging: remove double newlines from logging
Stefan Kost [Thu, 10 Jun 2010 19:11:55 +0000 (22:11 +0300)]
logging: remove double newlines from logging

14 years agocompiler: output the target name in errors too
Stefan Kost [Thu, 10 Jun 2010 19:08:34 +0000 (22:08 +0300)]
compiler: output the target name in errors too

14 years agoAdd float parameters
David Schleef [Mon, 14 Jun 2010 18:37:29 +0000 (11:37 -0700)]
Add float parameters

14 years agoorcc: make test program quieter
David Schleef [Mon, 14 Jun 2010 17:38:41 +0000 (10:38 -0700)]
orcc: make test program quieter

14 years agosse: Fix leal emission on x86-64
David Schleef [Mon, 14 Jun 2010 18:36:24 +0000 (11:36 -0700)]
sse: Fix leal emission on x86-64

Reported by slomo.

14 years agommx,sse: use shuffle macros
David Schleef [Sun, 13 Jun 2010 21:18:50 +0000 (14:18 -0700)]
mmx,sse: use shuffle macros

14 years agommx: port sse backend to mmx again
David Schleef [Sun, 13 Jun 2010 20:54:09 +0000 (13:54 -0700)]
mmx: port sse backend to mmx again

Main differences between SSE and MMX backends:
 - different loop_shift
 - mmx emits emms
 - handling the accumulator before storing
 - different default flags
 - mmx only has 8 registers even on x86-64

14 years agoAdd SSE implementation of muluwl
Sebastian Dröge [Sat, 12 Jun 2010 10:36:35 +0000 (12:36 +0200)]
Add SSE implementation of muluwl

14 years agoclean up memcpy_speed
David Schleef [Sun, 13 Jun 2010 19:26:32 +0000 (12:26 -0700)]
clean up memcpy_speed

14 years agotodo: update
David Schleef [Sun, 13 Jun 2010 19:26:07 +0000 (12:26 -0700)]
todo: update

14 years agosse: set target as not executable if no SSE2
David Schleef [Sun, 13 Jun 2010 19:17:07 +0000 (12:17 -0700)]
sse: set target as not executable if no SSE2

14 years agoc: Use 'int' for parameters, not orc_union32
David Schleef [Sat, 12 Jun 2010 22:18:50 +0000 (15:18 -0700)]
c: Use 'int' for parameters, not orc_union32

14 years agosse: use register for loop counter
David Schleef [Sat, 12 Jun 2010 22:17:42 +0000 (15:17 -0700)]
sse: use register for loop counter

14 years agosse: use leal for non-recorded addition
David Schleef [Sat, 12 Jun 2010 22:15:45 +0000 (15:15 -0700)]
sse: use leal for non-recorded addition

14 years agorevert removal of orc-stdint.h
David Schleef [Sat, 12 Jun 2010 05:37:48 +0000 (22:37 -0700)]
revert removal of orc-stdint.h

Turns out this is part of the API.  Oops.

14 years agodoc: NEON backend is open source
David Schleef [Thu, 10 Jun 2010 17:52:20 +0000 (10:52 -0700)]
doc: NEON backend is open source

14 years agoorcc: put typedefs before prototypes
David Schleef [Thu, 10 Jun 2010 06:03:30 +0000 (23:03 -0700)]
orcc: put typedefs before prototypes

14 years agomore conversion to orc int types
David Schleef [Thu, 10 Jun 2010 02:14:08 +0000 (19:14 -0700)]
more conversion to orc int types

14 years agoorcc: remove unused declaration
David Schleef [Thu, 10 Jun 2010 01:30:02 +0000 (18:30 -0700)]
orcc: remove unused declaration

14 years agomore conversion to orc int types
David Schleef [Thu, 10 Jun 2010 01:29:34 +0000 (18:29 -0700)]
more conversion to orc int types

14 years agoremove code for reading /proc
David Schleef [Thu, 10 Jun 2010 01:29:10 +0000 (18:29 -0700)]
remove code for reading /proc

14 years agotest: Use rdtsc when available
David Schleef [Thu, 10 Jun 2010 01:27:16 +0000 (18:27 -0700)]
test: Use rdtsc when available

14 years agoregenerate generated code
David Schleef [Wed, 9 Jun 2010 23:19:09 +0000 (16:19 -0700)]
regenerate generated code

14 years agoconvert from stdint types to orc types
David Schleef [Wed, 9 Jun 2010 23:14:32 +0000 (16:14 -0700)]
convert from stdint types to orc types

14 years agoc: fix check for stdc, prevent conflicts with orc
David Schleef [Wed, 9 Jun 2010 23:12:17 +0000 (16:12 -0700)]
c: fix check for stdc, prevent conflicts with orc

14 years agodon't use c99 types in generated code
David Schleef [Wed, 9 Jun 2010 03:21:38 +0000 (20:21 -0700)]
don't use c99 types in generated code

14 years agoremove some unistd.h usage
David Schleef [Wed, 9 Jun 2010 03:20:08 +0000 (20:20 -0700)]
remove some unistd.h usage

14 years agodocumentation updates
David Schleef [Wed, 9 Jun 2010 03:22:37 +0000 (20:22 -0700)]
documentation updates

14 years agoback to unreleased
David Schleef [Wed, 9 Jun 2010 23:10:36 +0000 (16:10 -0700)]
back to unreleased

14 years agorelease 0.4.5 orc-0.4.5
David Schleef [Tue, 8 Jun 2010 06:27:22 +0000 (23:27 -0700)]
release 0.4.5

14 years agotests: fix neon tests
David Schleef [Tue, 8 Jun 2010 02:05:31 +0000 (19:05 -0700)]
tests: fix neon tests

Lack of arm compiler means the test is indeterminate.

14 years agodocumentation updates
David Schleef [Tue, 8 Jun 2010 01:05:29 +0000 (18:05 -0700)]
documentation updates

14 years agoAllow some functions to be called with target=NULL
David Schleef [Tue, 8 Jun 2010 01:04:20 +0000 (18:04 -0700)]
Allow some functions to be called with target=NULL

14 years agoRemove orc-float library
David Schleef [Tue, 8 Jun 2010 01:04:03 +0000 (18:04 -0700)]
Remove orc-float library

14 years agotests: fix distcheck
David Schleef [Mon, 7 Jun 2010 23:42:31 +0000 (16:42 -0700)]
tests: fix distcheck

14 years agotests: remove accidental commit of liboil cflags
David Schleef [Mon, 7 Jun 2010 23:39:57 +0000 (16:39 -0700)]
tests: remove accidental commit of liboil cflags

14 years agoupdate gtk-doc
David Schleef [Mon, 7 Jun 2010 23:38:32 +0000 (16:38 -0700)]
update gtk-doc

14 years agoAdd --enable-backend
David Schleef [Mon, 7 Jun 2010 23:37:39 +0000 (16:37 -0700)]
Add --enable-backend

14 years agotests: fix orc source for test
David Schleef [Mon, 7 Jun 2010 23:34:38 +0000 (16:34 -0700)]
tests: fix orc source for test

14 years agotests: improve memcpy_speed
David Schleef [Mon, 7 Jun 2010 21:39:08 +0000 (14:39 -0700)]
tests: improve memcpy_speed

14 years agoallocate a loop counter variable
David Schleef [Mon, 7 Jun 2010 21:04:04 +0000 (14:04 -0700)]
allocate a loop counter variable

14 years agotests: Add compile_parse
David Schleef [Mon, 7 Jun 2010 18:42:07 +0000 (11:42 -0700)]
tests: Add compile_parse

14 years agox86: Add alternate rep movs memcpy implementation
David Schleef [Mon, 7 Jun 2010 18:41:35 +0000 (11:41 -0700)]
x86: Add alternate rep movs memcpy implementation

14 years agoc: Fix initialization of union values
David Schleef [Mon, 7 Jun 2010 18:21:27 +0000 (11:21 -0700)]
c: Fix initialization of union values

14 years agosse: don't emit spurious moves
David Schleef [Thu, 3 Jun 2010 06:00:23 +0000 (23:00 -0700)]
sse: don't emit spurious moves

14 years agocentralize definition of out-of-bound value
David Schleef [Wed, 2 Jun 2010 06:55:37 +0000 (23:55 -0700)]
centralize definition of out-of-bound value

14 years agoFix problems with strict aliasing
David Schleef [Wed, 2 Jun 2010 05:36:39 +0000 (22:36 -0700)]
Fix problems with strict aliasing

In generated code.

14 years agoCall orc_init() from orc_program_new()
David Schleef [Tue, 1 Jun 2010 23:37:20 +0000 (16:37 -0700)]
Call orc_init() from orc_program_new()

14 years agoorcc: Fix warnings in generated code
David Schleef [Tue, 1 Jun 2010 23:24:19 +0000 (16:24 -0700)]
orcc: Fix warnings in generated code

14 years agoneon: Fix compile warning on 64-bit
David Schleef [Tue, 1 Jun 2010 22:52:01 +0000 (15:52 -0700)]
neon: Fix compile warning on 64-bit

14 years agoorcc: Add prototypes to c code
David Schleef [Thu, 27 May 2010 19:14:48 +0000 (12:14 -0700)]
orcc: Add prototypes to c code

This allows GStreamer to use -Wmissing-declarations

14 years agoMerge branch 'neon'
David Schleef [Wed, 12 May 2010 20:42:54 +0000 (13:42 -0700)]
Merge branch 'neon'

14 years agoc64x: remove c64x target
David Schleef [Fri, 16 Apr 2010 00:08:12 +0000 (17:08 -0700)]
c64x: remove c64x target

It was replaced with c64x-c long ago.

14 years agofloat: remove 32-bit float ops
David Schleef [Thu, 15 Apr 2010 23:14:34 +0000 (16:14 -0700)]
float: remove 32-bit float ops

14 years agoneon: remove pixel tests
David Schleef [Thu, 15 Apr 2010 23:14:57 +0000 (16:14 -0700)]
neon: remove pixel tests