platform/upstream/orc.git
14 years agox86: More cpuid improvements
David Schleef [Sun, 5 Sep 2010 02:26:24 +0000 (19:26 -0700)]
x86: More cpuid improvements

14 years agox86: cpuid improvements
David Schleef [Sun, 5 Sep 2010 01:05:51 +0000 (18:05 -0700)]
x86: cpuid improvements

Attempt to detect microarchitecture.

14 years agoorc-bugreport: Fix program generation
David Schleef [Sun, 5 Sep 2010 01:05:12 +0000 (18:05 -0700)]
orc-bugreport: Fix program generation

14 years agoExtract cpu name/family/model/stepping
David Schleef [Sat, 4 Sep 2010 22:51:39 +0000 (15:51 -0700)]
Extract cpu name/family/model/stepping

14 years agotest: disabled unused code
David Schleef [Sat, 4 Sep 2010 22:50:41 +0000 (15:50 -0700)]
test: disabled unused code

14 years agoonce: Use constructor on Windows for initialization
David Schleef [Sat, 4 Sep 2010 19:41:39 +0000 (12:41 -0700)]
once: Use constructor on Windows for initialization

14 years agoc: Fix ldreslinl rule (again)
David Schleef [Sat, 4 Sep 2010 07:33:58 +0000 (00:33 -0700)]
c: Fix ldreslinl rule (again)

14 years agotestsuite: Add compatibility check
David Schleef [Sat, 4 Sep 2010 00:16:28 +0000 (17:16 -0700)]
testsuite: Add compatibility check

14 years agoAdd some random files
David Schleef [Fri, 3 Sep 2010 20:42:06 +0000 (13:42 -0700)]
Add some random files

14 years agosse: Fix register handling on Win64
David Schleef [Sat, 4 Sep 2010 02:16:42 +0000 (19:16 -0700)]
sse: Fix register handling on Win64

14 years agoimplement constant folding
David Schleef [Fri, 3 Sep 2010 19:29:36 +0000 (12:29 -0700)]
implement constant folding

14 years agoAdd -version-info to libs
David Schleef [Fri, 3 Sep 2010 19:29:15 +0000 (12:29 -0700)]
Add -version-info to libs

14 years agoFix static linking
David Schleef [Fri, 3 Sep 2010 06:22:05 +0000 (23:22 -0700)]
Fix static linking

14 years agoAdd needed file (again)
David Schleef [Tue, 31 Aug 2010 06:37:01 +0000 (23:37 -0700)]
Add needed file (again)

14 years agoAdd needed file
David Schleef [Tue, 31 Aug 2010 06:36:00 +0000 (23:36 -0700)]
Add needed file

14 years agoRelease 0.4.8 orc-0.4.8
David Schleef [Mon, 30 Aug 2010 05:25:45 +0000 (22:25 -0700)]
Release 0.4.8

14 years agoc: Handle 64-bit parameters
David Schleef [Mon, 30 Aug 2010 01:12:51 +0000 (18:12 -0700)]
c: Handle 64-bit parameters

14 years agotest.orc: remove glib types
David Schleef [Mon, 30 Aug 2010 01:10:32 +0000 (18:10 -0700)]
test.orc: remove glib types

14 years agoorcc: Fix code generation of test
David Schleef [Mon, 30 Aug 2010 01:09:20 +0000 (18:09 -0700)]
orcc: Fix code generation of test

14 years agotestsuite: Fix cross compiling of orcc test
David Schleef [Mon, 30 Aug 2010 01:01:58 +0000 (18:01 -0700)]
testsuite: Fix cross compiling of orcc test

14 years agoFix typo in function name
David Schleef [Sat, 28 Aug 2010 06:38:47 +0000 (23:38 -0700)]
Fix typo in function name

14 years agoFix MSVC build errors
David Schleef [Sat, 28 Aug 2010 06:37:54 +0000 (23:37 -0700)]
Fix MSVC build errors

14 years agoc: Fix denormal handling
David Schleef [Sat, 28 Aug 2010 06:36:25 +0000 (23:36 -0700)]
c: Fix denormal handling

Turns out the previous macro was using a gcc extension.  MSVC
didn't like that.

14 years agoneon: Fix shift in loadpl
David Schleef [Fri, 27 Aug 2010 23:33:28 +0000 (16:33 -0700)]
neon: Fix shift in loadpl

14 years agoChange constant values to orc_union64 internally
David Schleef [Fri, 27 Aug 2010 22:26:19 +0000 (15:26 -0700)]
Change constant values to orc_union64 internally

Also update the MMX backend.  This implements much of the
infrastructure for 64-bit constants, but parsing of 64-bit
integer constants is broken (no portable strtoll implementation),
and the backends probably don't load 64-bit constants correctly.

14 years agoImplement parsing of float constants
David Schleef [Fri, 27 Aug 2010 21:04:23 +0000 (14:04 -0700)]
Implement parsing of float constants

14 years agoChange meaning of convfl/convdl to be saturated
David Schleef [Fri, 27 Aug 2010 19:42:44 +0000 (12:42 -0700)]
Change meaning of convfl/convdl to be saturated

Some architectures (powerpc) clamp out-of-range values to the
integer range when converting from float to int.  Others (x86)
maps out-of-range values to 0x80000000.  Since we have to choose
one, saturating seems like the better choice.

14 years agoAdd splitql opcode
David Schleef [Fri, 27 Aug 2010 17:45:57 +0000 (10:45 -0700)]
Add splitql opcode

14 years agoc: Fix code for ldreslinl
David Schleef [Fri, 27 Aug 2010 17:45:09 +0000 (10:45 -0700)]
c: Fix code for ldreslinl

14 years agoc: Fix loading of float params
David Schleef [Fri, 27 Aug 2010 00:58:42 +0000 (17:58 -0700)]
c: Fix loading of float params

Float params are loaded from orc_union32 pointers into orc_union32
temporaries, so it's important to not to a float->int conversion
in there.

14 years agoneon: Add a few double rules
David Schleef [Thu, 26 Aug 2010 23:14:42 +0000 (16:14 -0700)]
neon: Add a few double rules

14 years agoAdd int64 and double parameters
David Schleef [Thu, 26 Aug 2010 22:02:53 +0000 (15:02 -0700)]
Add int64 and double parameters

14 years agoUse ULL as qualifier for 64 bit integer constants
Sebastian Dröge [Thu, 26 Aug 2010 19:30:24 +0000 (21:30 +0200)]
Use ULL as qualifier for 64 bit integer constants

14 years agoAdd copyq opcode
Sebastian Dröge [Thu, 26 Aug 2010 16:26:37 +0000 (18:26 +0200)]
Add copyq opcode

14 years agoAdd SSE2 implementations of all double opcodes
Sebastian Dröge [Thu, 26 Aug 2010 16:18:42 +0000 (18:18 +0200)]
Add SSE2 implementations of all double opcodes

14 years agoAdd support for comparing double arrays
Sebastian Dröge [Thu, 26 Aug 2010 16:18:26 +0000 (18:18 +0200)]
Add support for comparing double arrays

14 years agoAdd 64 bit floating point opcodes
Sebastian Dröge [Thu, 26 Aug 2010 15:28:10 +0000 (17:28 +0200)]
Add 64 bit floating point opcodes

14 years agoAdd swapq opcode
Sebastian Dröge [Thu, 26 Aug 2010 14:40:22 +0000 (16:40 +0200)]
Add swapq opcode

14 years agocompiler: allocate correct size for code memory
David Schleef [Thu, 26 Aug 2010 01:37:30 +0000 (18:37 -0700)]
compiler: allocate correct size for code memory

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