David Schleef [Fri, 13 Aug 2010 18:52:35 +0000 (11:52 -0700)]
Add ldresnear[bl] and ldreslin[bl] opcodes
David Schleef [Fri, 13 Aug 2010 18:50:04 +0000 (11:50 -0700)]
Fixes to handle opcodes with 3 sources
David Schleef [Fri, 13 Aug 2010 11:36:24 +0000 (04:36 -0700)]
Rename splatw0q to splatw3q
David Schleef [Fri, 13 Aug 2010 02:27:28 +0000 (19:27 -0700)]
test: Remove #undef so it can be overridden in CFLAGS
David Schleef [Fri, 13 Aug 2010 02:20:56 +0000 (19:20 -0700)]
tests: Fix code to not trip new sanity check
David Schleef [Fri, 13 Aug 2010 02:20:24 +0000 (19:20 -0700)]
test: Decrease n for performance testing
David Schleef [Fri, 13 Aug 2010 02:19:44 +0000 (19:19 -0700)]
neon: new rules, tuning of code generation
David Schleef [Fri, 13 Aug 2010 02:18:19 +0000 (19:18 -0700)]
arm: Better checking, add data and nops
David Schleef [Thu, 12 Aug 2010 01:22:43 +0000 (18:22 -0700)]
sse: be more careful about keeping stack aligned
David Schleef [Thu, 12 Aug 2010 01:04:02 +0000 (18:04 -0700)]
Update generated code due to orcc changes
David Schleef [Thu, 12 Aug 2010 01:03:14 +0000 (18:03 -0700)]
orcc: Don't use ORC_INLINE for inline generation
David Schleef [Thu, 12 Aug 2010 00:46:30 +0000 (17:46 -0700)]
parser: Add .init directive
David Schleef [Thu, 12 Aug 2010 00:31:23 +0000 (17:31 -0700)]
orcc: Add --inline and --init-function
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.
David Schleef [Wed, 11 Aug 2010 22:04:51 +0000 (15:04 -0700)]
c: implement x2/x4 prefix
David Schleef [Wed, 11 Aug 2010 22:04:00 +0000 (15:04 -0700)]
orcc: Handle x2/x4 prefix for tests
David Schleef [Wed, 11 Aug 2010 20:44:10 +0000 (13:44 -0700)]
autogen: remove --enable-gtk-doc
David Schleef [Wed, 11 Aug 2010 20:43:51 +0000 (13:43 -0700)]
configure: fix AC_HELP_STRING
David Schleef [Wed, 11 Aug 2010 10:02:50 +0000 (03:02 -0700)]
tests: Add more programs to test.orc
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.
David Schleef [Wed, 11 Aug 2010 10:00:54 +0000 (03:00 -0700)]
Use instruction size for loadp, not var size
David Schleef [Wed, 11 Aug 2010 08:37:40 +0000 (01:37 -0700)]
Use ORC_N_COMPILER_VARIABLES where appropriate
David Schleef [Wed, 11 Aug 2010 08:36:45 +0000 (01:36 -0700)]
c: Fix generation of loadoff, loadup code
David Schleef [Wed, 11 Aug 2010 08:35:38 +0000 (01:35 -0700)]
Fix warnings
David Schleef [Wed, 11 Aug 2010 07:26:19 +0000 (00:26 -0700)]
orcc: Fix warning in generated code
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.
David Schleef [Wed, 11 Aug 2010 06:31:15 +0000 (23:31 -0700)]
sse: use fewer temporary registers
David Schleef [Wed, 11 Aug 2010 06:30:19 +0000 (23:30 -0700)]
Make sure there are enough registers for temps
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.
David Schleef [Wed, 11 Aug 2010 06:17:17 +0000 (23:17 -0700)]
Fix sanity check for loadp
David Schleef [Wed, 11 Aug 2010 05:16:50 +0000 (22:16 -0700)]
Better constant loading
David Schleef [Wed, 11 Aug 2010 05:15:33 +0000 (22:15 -0700)]
compiler: additional sanity check for loadp
David Schleef [Wed, 11 Aug 2010 03:42:36 +0000 (20:42 -0700)]
sse: switch to orc_compiler_get_temp_reg()
David Schleef [Wed, 11 Aug 2010 02:39:41 +0000 (19:39 -0700)]
Dynamically allocate temporary registers
David Schleef [Wed, 11 Aug 2010 02:38:33 +0000 (19:38 -0700)]
sse: improve constant loading
David Schleef [Wed, 11 Aug 2010 00:06:57 +0000 (17:06 -0700)]
sse: fix divluw implementation
Also slightly faster.
David Schleef [Mon, 9 Aug 2010 23:56:13 +0000 (16:56 -0700)]
Add orc_program_append_2() for instruction flags
David Schleef [Mon, 9 Aug 2010 23:47:38 +0000 (16:47 -0700)]
Add divluw opcode
David Schleef [Mon, 9 Aug 2010 23:45:39 +0000 (16:45 -0700)]
Fix splatw0q opcode to be useful for pixman
David Schleef [Mon, 9 Aug 2010 23:39:57 +0000 (16:39 -0700)]
test: Add x4 prefix program
David Schleef [Mon, 9 Aug 2010 23:31:58 +0000 (16:31 -0700)]
Refactor instruction flags
David Schleef [Sun, 8 Aug 2010 19:56:46 +0000 (12:56 -0700)]
sse: Fix recently broken convsuslw rule
David Schleef [Sat, 7 Aug 2010 01:43:41 +0000 (18:43 -0700)]
Add low-level opcodes for compositing
David Schleef [Sat, 7 Aug 2010 00:50:39 +0000 (17:50 -0700)]
Add some 64-bit opcodes, and SSE rules
David Schleef [Fri, 6 Aug 2010 20:42:49 +0000 (13:42 -0700)]
remove old style of opcode emulation
David Schleef [Fri, 6 Aug 2010 20:33:32 +0000 (13:33 -0700)]
Generate header file for opcode emulation
David Schleef [Fri, 6 Aug 2010 20:03:51 +0000 (13:03 -0700)]
sse: better implementation of addssl
David Schleef [Fri, 6 Aug 2010 18:46:57 +0000 (11:46 -0700)]
sse: implement more rules
David Schleef [Fri, 6 Aug 2010 02:52:52 +0000 (19:52 -0700)]
c: Fix loadupib code
David Schleef [Fri, 6 Aug 2010 01:08:25 +0000 (18:08 -0700)]
sse: Add more slow rules
David Schleef [Thu, 5 Aug 2010 21:22:40 +0000 (14:22 -0700)]
test.orc: Add a function with loadupdb
David Schleef [Thu, 5 Aug 2010 21:22:15 +0000 (14:22 -0700)]
tests: don't run compare programs
For MMX/SSE only.
David Schleef [Thu, 5 Aug 2010 21:21:34 +0000 (14:21 -0700)]
sse: implement loadoff, loadup opcodes
David Schleef [Thu, 5 Aug 2010 21:20:58 +0000 (14:20 -0700)]
sse: implement mulhul
David Schleef [Thu, 5 Aug 2010 21:18:42 +0000 (14:18 -0700)]
Add loadoff[bwl], loadup[id]b opcodes
David Schleef [Thu, 5 Aug 2010 21:16:12 +0000 (14:16 -0700)]
emulation: Add offset to emulation functions
David Schleef [Thu, 5 Aug 2010 21:10:19 +0000 (14:10 -0700)]
Add OrcCode structure
Jan Schmidt [Sat, 31 Jul 2010 07:04:15 +0000 (17:04 +1000)]
Update gitignore
Jan Schmidt [Sat, 31 Jul 2010 06:51:21 +0000 (16:51 +1000)]
Use AM_PROG_CC_C_O to support per-target compilation flags.
Fixes an automake warning.
Jan Schmidt [Sat, 31 Jul 2010 06:49:34 +0000 (16:49 +1000)]
Fix dependencies of the generate-emulation binary.
Makes parallel builds succeed.
Jan Schmidt [Sat, 31 Jul 2010 06:46:28 +0000 (16:46 +1000)]
Fix distcheck
Add orcemulateopcodes.h to the dist.
Fix gtk-doc.make copying version.entities to the srcdir.
David Schleef [Tue, 3 Aug 2010 07:56:33 +0000 (00:56 -0700)]
c: cleanup pointer updating
David Schleef [Tue, 3 Aug 2010 07:45:25 +0000 (00:45 -0700)]
sse: Fix accsadubl rule
David Schleef [Tue, 3 Aug 2010 07:44:47 +0000 (00:44 -0700)]
test: Add disabled code for Cortex-A8 benchmarking
David Schleef [Tue, 3 Aug 2010 07:42:02 +0000 (00:42 -0700)]
c: convert to load/store opcodes
David Schleef [Tue, 3 Aug 2010 02:30:52 +0000 (19:30 -0700)]
altivec: implement load/store opcodes
David Schleef [Tue, 3 Aug 2010 01:00:10 +0000 (18:00 -0700)]
arm: Add runtime detection of EDSP
David Schleef [Tue, 3 Aug 2010 00:59:54 +0000 (17:59 -0700)]
arm: Add load/store opcodes
David Schleef [Tue, 3 Aug 2010 00:04:58 +0000 (17:04 -0700)]
neon: improve select1wb/lw rules
David Schleef [Mon, 2 Aug 2010 23:09:46 +0000 (16:09 -0700)]
neon: Add more rules
David Schleef [Mon, 2 Aug 2010 23:09:02 +0000 (16:09 -0700)]
Fix mulhul opcode and update generated code
David Schleef [Mon, 2 Aug 2010 22:23:47 +0000 (15:23 -0700)]
neon: Add splitwb/splitlw
David Schleef [Mon, 2 Aug 2010 21:59:15 +0000 (14:59 -0700)]
neon: add load/store opcodes
David Schleef [Mon, 2 Aug 2010 19:31:47 +0000 (12:31 -0700)]
sse: Fix pmulld emission
David Schleef [Mon, 2 Aug 2010 19:31:19 +0000 (12:31 -0700)]
sse: Fix mxcsr save/restore on x86-64
David Schleef [Mon, 2 Aug 2010 19:30:58 +0000 (12:30 -0700)]
compiler: increase number of temp variables
David Schleef [Mon, 2 Aug 2010 19:22:57 +0000 (12:22 -0700)]
configure: Add dragonflybsd to mmap code alloc
David Schleef [Mon, 2 Aug 2010 01:34:41 +0000 (18:34 -0700)]
mmx: Fix problems in recent commit
David Schleef [Mon, 2 Aug 2010 01:33:27 +0000 (18:33 -0700)]
Add performance comparison tests
David Schleef [Mon, 2 Aug 2010 01:02:48 +0000 (18:02 -0700)]
test: Fix perf_opcodes_sys for acc opcodes
David Schleef [Mon, 2 Aug 2010 00:36:30 +0000 (17:36 -0700)]
mmx: update from sse
David Schleef [Mon, 2 Aug 2010 00:35:48 +0000 (17:35 -0700)]
Changes to allow generation of mmx code from sse
David Schleef [Sun, 1 Aug 2010 22:41:36 +0000 (15:41 -0700)]
Better handling of invariants
David Schleef [Sun, 1 Aug 2010 22:22:26 +0000 (15:22 -0700)]
compiler: add flag for allowing gp regs on stack
David Schleef [Fri, 30 Jul 2010 23:19:08 +0000 (16:19 -0700)]
compiler: don't load constants for scalar opcodes
David Schleef [Fri, 30 Jul 2010 23:17:01 +0000 (16:17 -0700)]
tests: handle scalar opcodes in perf test
David Schleef [Fri, 30 Jul 2010 23:16:31 +0000 (16:16 -0700)]
sse: Add more fallback rules
David Schleef [Fri, 30 Jul 2010 01:34:58 +0000 (18:34 -0700)]
Don't allocate registers for const and param
David Schleef [Fri, 30 Jul 2010 01:34:03 +0000 (18:34 -0700)]
sse: implement faster permute rules
David Schleef [Fri, 30 Jul 2010 00:13:02 +0000 (17:13 -0700)]
tests: Add more test orc code
David Schleef [Thu, 29 Jul 2010 22:36:06 +0000 (15:36 -0700)]
tests: fix program name
David Schleef [Thu, 29 Jul 2010 22:35:33 +0000 (15:35 -0700)]
Add loadpb/loadpw/loadpl instructions
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.
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.
David Schleef [Wed, 28 Jul 2010 00:22:53 +0000 (17:22 -0700)]
Remove constant folding, it's broken
David Schleef [Wed, 28 Jul 2010 00:21:48 +0000 (17:21 -0700)]
sse: only set mxcsr if float opcodes are used
David Schleef [Wed, 28 Jul 2010 00:21:08 +0000 (17:21 -0700)]
tests: quiet test output
David Schleef [Wed, 28 Jul 2010 00:08:02 +0000 (17:08 -0700)]
Reimplement emulation
David Schleef [Tue, 27 Jul 2010 23:55:42 +0000 (16:55 -0700)]
update orcfunctions.c
David Schleef [Tue, 27 Jul 2010 02:27:31 +0000 (19:27 -0700)]
test: quiet test_accsadubl