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

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 agoc64x: Fix compiler path
David Schleef [Thu, 15 Apr 2010 23:07:52 +0000 (16:07 -0700)]
c64x: Fix compiler path

14 years agoneon: move float rules to main library
David Schleef [Thu, 15 Apr 2010 23:07:30 +0000 (16:07 -0700)]
neon: move float rules to main library

14 years agoMerge branch 'master' into neon
David Schleef [Thu, 15 Apr 2010 20:07:20 +0000 (13:07 -0700)]
Merge branch 'master' into neon

Conflicts:
doc/table.xml
orc/orcprogram-sse.c
orc/orcprogram.h
testsuite/Makefile.am
testsuite/generate_xml_table.c

14 years agoadd header
David Schleef [Wed, 7 Apr 2010 19:23:51 +0000 (12:23 -0700)]
add header

14 years agocompiler: remove dead code
David Schleef [Wed, 7 Apr 2010 19:23:34 +0000 (12:23 -0700)]
compiler: remove dead code

14 years agoarm uses orcutils functions
David Schleef [Mon, 5 Apr 2010 05:29:12 +0000 (22:29 -0700)]
arm uses orcutils functions

14 years agoaltivec: Fix a bunch of bugs
David Schleef [Thu, 1 Apr 2010 07:48:20 +0000 (00:48 -0700)]
altivec: Fix a bunch of bugs

14 years agoAdd web pages to README
David Schleef [Tue, 30 Mar 2010 06:28:33 +0000 (23:28 -0700)]
Add web pages to README

14 years agoBack to unreleased
David Schleef [Tue, 30 Mar 2010 06:28:22 +0000 (23:28 -0700)]
Back to unreleased

14 years agoRelease 0.4.4 orc-0.4.4
David Schleef [Tue, 30 Mar 2010 06:01:56 +0000 (23:01 -0700)]
Release 0.4.4

14 years agosse: Fix movdqa on x86-64
David Schleef [Mon, 29 Mar 2010 21:00:20 +0000 (14:00 -0700)]
sse: Fix movdqa on x86-64

14 years agotests: Add exec_parse
David Schleef [Mon, 29 Mar 2010 20:46:47 +0000 (13:46 -0700)]
tests: Add exec_parse

14 years agotests: copy test.orc from schroedinger
David Schleef [Sun, 21 Mar 2010 23:10:08 +0000 (13:10 -1000)]
tests: copy test.orc from schroedinger

14 years agotests: improve tests with acc and const opcodes
David Schleef [Sun, 21 Mar 2010 19:57:01 +0000 (12:57 -0700)]
tests: improve tests with acc and const opcodes

14 years agoclean up compiler result codes
David Schleef [Sun, 21 Mar 2010 19:55:41 +0000 (12:55 -0700)]
clean up compiler result codes

14 years agoAdd static opcode flag for scalar sources
David Schleef [Sun, 21 Mar 2010 18:26:22 +0000 (11:26 -0700)]
Add static opcode flag for scalar sources

14 years agotests: remove pixel tests
David Schleef [Mon, 29 Mar 2010 19:45:43 +0000 (12:45 -0700)]
tests: remove pixel tests

14 years agoFix distcheck
David Schleef [Sat, 20 Mar 2010 20:24:38 +0000 (13:24 -0700)]
Fix distcheck

14 years agoRemove orc-pixel library. No longer needed
David Schleef [Sat, 20 Mar 2010 20:05:39 +0000 (13:05 -0700)]
Remove orc-pixel library.  No longer needed

14 years agotests: remove pixel tests
David Schleef [Sat, 20 Mar 2010 20:02:41 +0000 (13:02 -0700)]
tests: remove pixel tests

14 years agoc: add pragma to ignore strict aliasing warning
David Schleef [Sat, 20 Mar 2010 19:45:53 +0000 (12:45 -0700)]
c: add pragma to ignore strict aliasing warning

14 years agoUse VirtualAlloc() to allocate executable memory on Windows.
Ramiro Polla [Fri, 19 Mar 2010 00:11:21 +0000 (21:11 -0300)]
Use VirtualAlloc() to allocate executable memory on Windows.

14 years agoorcutils: Add to build
David Schleef [Fri, 19 Mar 2010 17:24:26 +0000 (10:24 -0700)]
orcutils: Add to build

14 years agoconfigure: Add gnu to mmap list
David Schleef [Fri, 19 Mar 2010 17:22:34 +0000 (10:22 -0700)]
configure: Add gnu to mmap list

14 years agotests: remove compile tests from TESTS
David Schleef [Fri, 19 Mar 2010 05:13:07 +0000 (22:13 -0700)]
tests: remove compile tests from TESTS

These don't work consistently, and not at all if your compiler
is not named "gcc".

14 years agotests: remove unused code
David Schleef [Fri, 19 Mar 2010 05:12:46 +0000 (22:12 -0700)]
tests: remove unused code

14 years agoFix library flags to work with --as-needed
David Schleef [Fri, 19 Mar 2010 05:12:09 +0000 (22:12 -0700)]
Fix library flags to work with --as-needed

14 years agoautogen.sh: remove --enable-maintainer-mode
David Schleef [Thu, 18 Mar 2010 23:58:08 +0000 (16:58 -0700)]
autogen.sh: remove --enable-maintainer-mode

14 years agolib: Make some functions static
David Schleef [Thu, 18 Mar 2010 23:42:29 +0000 (16:42 -0700)]
lib: Make some functions static

There's still several functions that don't have an orc_ prefix
that are leaked into the global namespace, but these were the
worst.  Fixes: #27102.

14 years agoonce: Fix mutex initialization on win32
David Schleef [Thu, 18 Mar 2010 23:32:17 +0000 (16:32 -0700)]
once: Fix mutex initialization on win32

Fixes #27104.

14 years agodoc: fix build from tarball
David Schleef [Thu, 18 Mar 2010 22:42:50 +0000 (15:42 -0700)]
doc: fix build from tarball

14 years agotools: Check target name
David Schleef [Thu, 18 Mar 2010 21:21:10 +0000 (14:21 -0700)]
tools: Check target name

14 years agoc: fix crash in compiler
David Schleef [Mon, 15 Mar 2010 19:06:27 +0000 (12:06 -0700)]
c: fix crash in compiler

14 years agocpu: Fix flags on Solaris
David Schleef [Sun, 7 Mar 2010 19:19:41 +0000 (11:19 -0800)]
cpu: Fix flags on Solaris

Patch from Milan Jurik <milan.jurik@xylab.cz>

14 years agoMake convfl work like C casting
David Schleef [Sat, 9 Jan 2010 07:31:54 +0000 (23:31 -0800)]
Make convfl work like C casting

Obviously need more/better rounding and conversion opcodes, but
this has the benefit of being implementable in C without C99
functions that don't exist on Windows.  ugh.

14 years agotests: Add test.orc
David Schleef [Sat, 9 Jan 2010 02:10:42 +0000 (18:10 -0800)]
tests: Add test.orc

14 years agotests: Add performance tests
David Schleef [Sat, 9 Jan 2010 02:03:08 +0000 (18:03 -0800)]
tests: Add performance tests

14 years agosse: Implement loop unrolling
David Schleef [Fri, 8 Jan 2010 07:15:00 +0000 (23:15 -0800)]
sse: Implement loop unrolling

Disabled by default.  Doesn't really help on Core2.

14 years agotests: remove spurious file
David Schleef [Fri, 8 Jan 2010 07:14:27 +0000 (23:14 -0800)]
tests: remove spurious file