David Schleef [Sat, 8 Jan 2011 00:58:12 +0000 (16:58 -0800)]
c: don't use stdint types
David Schleef [Sat, 8 Jan 2011 00:22:55 +0000 (16:22 -0800)]
neon: Fix VFP rule macro
David Schleef [Fri, 7 Jan 2011 21:18:52 +0000 (13:18 -0800)]
c: Use __inline for MSVC
David Schleef [Thu, 23 Dec 2010 07:47:39 +0000 (23:47 -0800)]
Build fixes for win64
Arun Raghavan [Tue, 21 Dec 2010 20:03:03 +0000 (12:03 -0800)]
m4: Fix ARM compiler detection
The assumption that the host_cpu will be 'arm' is incorrect. It can also
be 'armel', 'armv7a' or something else along these lines.
David Schleef [Mon, 6 Dec 2010 00:37:59 +0000 (16:37 -0800)]
orcc: Implement --lazy-init
Causes code generator to delay runtime code generation to when
the function is executed, as if no init function is specified.
This may not last until the release: it's better to generate
code that makes this an #ifdef.
David Schleef [Mon, 6 Dec 2010 00:28:07 +0000 (16:28 -0800)]
orcc: Use OrcCode as persistent storage
Pull the OrcCode object out of a compiled program and hold on
to that instead of the (large) OrcProgram. This requires a few
lib changes, so requires --compat=0.4.11.1.
Stefan Kost [Mon, 29 Nov 2010 14:30:10 +0000 (16:30 +0200)]
orcprogram: don't deref insn->opcode if NULL
Stefan Kost [Mon, 29 Nov 2010 14:09:52 +0000 (16:09 +0200)]
orcprog-c: don't deref NULL rule
Continue with next instruction if rule is NULL. Remove setting
compiler->error=TRUE twice, the macro does that already.
Stefan Kost [Mon, 29 Nov 2010 13:58:36 +0000 (15:58 +0200)]
tests: fix copy'n'paste error
Stefan Kost [Mon, 29 Nov 2010 13:55:00 +0000 (15:55 +0200)]
orcparse: don't eventually leak 'init_function'
Stefan Kost [Mon, 29 Nov 2010 13:51:08 +0000 (15:51 +0200)]
orccodemem: free 'filename' in case of error as well
David Schleef [Sun, 5 Dec 2010 22:11:48 +0000 (14:11 -0800)]
x86: sun studio can use gcc inline asm
David Schleef [Sun, 7 Nov 2010 23:46:31 +0000 (15:46 -0800)]
x86: cpuinsn cleanup
David Schleef [Sun, 7 Nov 2010 22:12:04 +0000 (14:12 -0800)]
Change sysinsn to cpuinsn
David Schleef [Sun, 7 Nov 2010 21:56:47 +0000 (13:56 -0800)]
x86: Fix sysinsn problems on x86-64
David Schleef [Thu, 4 Nov 2010 19:59:09 +0000 (12:59 -0700)]
x86: more sysinsn conversion
David Schleef [Thu, 4 Nov 2010 19:34:21 +0000 (12:34 -0700)]
x86: more sysinsn conversion
David Schleef [Thu, 4 Nov 2010 16:40:38 +0000 (09:40 -0700)]
x86: convert misc instructions to sysinsn
David Schleef [Thu, 4 Nov 2010 16:26:06 +0000 (09:26 -0700)]
x86: convert jumps to sysinsn
David Schleef [Thu, 4 Nov 2010 15:12:38 +0000 (15:12 +0000)]
x86: convert arith instructions to sysinsn
David Schleef [Wed, 3 Nov 2010 17:54:00 +0000 (18:54 +0100)]
sse: more conversion to sysinsn
David Schleef [Sun, 31 Oct 2010 12:51:47 +0000 (13:51 +0100)]
sse: Fix param order of orc_x86_emit_modrm_memoffset
David Schleef [Sun, 31 Oct 2010 12:38:52 +0000 (13:38 +0100)]
sse: more conversion to sysinsn
David Schleef [Sun, 31 Oct 2010 11:31:24 +0000 (11:31 +0000)]
sse: More conversion to sysinsn
David Schleef [Fri, 29 Oct 2010 11:00:19 +0000 (12:00 +0100)]
sse: Convert to using emit_sysinsn
David Schleef [Wed, 27 Oct 2010 16:14:48 +0000 (17:14 +0100)]
sse: convert to using orc_sse_emit_sysinsn
David Schleef [Mon, 25 Oct 2010 15:29:11 +0000 (16:29 +0100)]
configure: it's "dragonfly" not "dragonflybsd"
David Schleef [Fri, 15 Oct 2010 19:55:59 +0000 (12:55 -0700)]
c: Fix gcc warnings in generated code
David Schleef [Mon, 25 Oct 2010 15:28:04 +0000 (16:28 +0100)]
back to unreleased
David Schleef [Thu, 14 Oct 2010 22:32:22 +0000 (15:32 -0700)]
Release 0.4.11
David Schleef [Thu, 14 Oct 2010 22:24:03 +0000 (15:24 -0700)]
test.orc: Add function that checks 'x2 mulll'
Triggers bug fixed in previous commit.
David Schleef [Thu, 14 Oct 2010 22:23:23 +0000 (15:23 -0700)]
sse: Calculate insn_shift for each instruction
David Schleef [Thu, 14 Oct 2010 22:22:32 +0000 (15:22 -0700)]
emulate: Fix loading of 64-bit params
David Schleef [Thu, 14 Oct 2010 02:28:00 +0000 (19:28 -0700)]
compiler: Allow compiling for emulation with no target
Fixes #30778.
David Schleef [Thu, 14 Oct 2010 02:27:19 +0000 (19:27 -0700)]
orcc: Allow normal compilation with no target
Sebastian Dröge [Fri, 8 Oct 2010 10:29:27 +0000 (12:29 +0200)]
Fix loading of double parameters in the non-ORC C code
David Schleef [Thu, 14 Oct 2010 01:11:58 +0000 (18:11 -0700)]
mmx: Fix 64-bit param loading
David Schleef [Tue, 12 Oct 2010 17:54:05 +0000 (10:54 -0700)]
arm: move some rules into ARM6
David Schleef [Sun, 10 Oct 2010 03:05:29 +0000 (20:05 -0700)]
Add benchmorc
David Schleef [Fri, 8 Oct 2010 00:50:03 +0000 (17:50 -0700)]
back to unreleased
David Schleef [Thu, 7 Oct 2010 23:49:19 +0000 (16:49 -0700)]
Release 0.4.10
David Schleef [Thu, 7 Oct 2010 23:47:26 +0000 (16:47 -0700)]
sse,mmx: Fix mululq rule (SSE2-only)
David Schleef [Thu, 7 Oct 2010 22:36:38 +0000 (15:36 -0700)]
mmx: update from sse
David Schleef [Thu, 7 Oct 2010 18:41:36 +0000 (11:41 -0700)]
neon: Add rules for new opcodes
David Schleef [Wed, 6 Oct 2010 23:27:29 +0000 (16:27 -0700)]
Add .doubleparam and .longparam
Sebastian Dröge [Sun, 3 Oct 2010 08:29:07 +0000 (10:29 +0200)]
Implement mululq and mulslq for SSE
Sebastian Dröge [Sun, 3 Oct 2010 06:59:41 +0000 (08:59 +0200)]
Add mulslq and mululq opcodes
Sebastian Dröge [Fri, 1 Oct 2010 07:33:24 +0000 (09:33 +0200)]
Implement select[01]ql for SSE
Sebastian Dröge [Fri, 1 Oct 2010 06:46:11 +0000 (08:46 +0200)]
Implement mergelq for SSE
Sebastian Dröge [Fri, 1 Oct 2010 06:45:27 +0000 (08:45 +0200)]
Mask lower bits of merge opcodes to prevent signedness problems
Sebastian Dröge [Thu, 30 Sep 2010 21:07:57 +0000 (23:07 +0200)]
Add mergelq/select0ql/select1ql opcodes
David Schleef [Sun, 3 Oct 2010 22:28:59 +0000 (15:28 -0700)]
sse: Add 64-bit bit ops
David Schleef [Thu, 30 Sep 2010 02:58:56 +0000 (19:58 -0700)]
Fix distcheck
David Schleef [Tue, 28 Sep 2010 20:01:31 +0000 (13:01 -0700)]
Fix documentation of opcodes
David Schleef [Mon, 27 Sep 2010 01:48:10 +0000 (18:48 -0700)]
Cleanups for running with ORC_CODE=emulate
Fix memleak, check for misaligned arrays.
David Schleef [Fri, 24 Sep 2010 00:08:14 +0000 (17:08 -0700)]
compiler: Fix calculation of max var size
David Schleef [Fri, 24 Sep 2010 00:04:59 +0000 (17:04 -0700)]
test: Add disabled code to make manual testing easier
Sebastian Dröge [Wed, 22 Sep 2010 07:42:37 +0000 (09:42 +0200)]
mmx: paddq and psubq are SSE2 instructions
David Schleef [Tue, 21 Sep 2010 19:51:48 +0000 (12:51 -0700)]
mmx: reconvert from sse, plus fixes
David Schleef [Mon, 20 Sep 2010 20:12:14 +0000 (13:12 -0700)]
sse: Fix rex prefix
Edward Hervey [Mon, 20 Sep 2010 14:18:07 +0000 (14:18 +0000)]
c: Fix C_NOEXEC destination parameter
in C_NOEXEC, if the argument is a float we need to store it as
a float.
David Schleef [Mon, 20 Sep 2010 20:09:16 +0000 (13:09 -0700)]
Handle ORC_CODE=emulate to force emulation
David Schleef [Fri, 17 Sep 2010 00:43:59 +0000 (17:43 -0700)]
c: Fix emulation loading of constants on big-endian
David Schleef [Thu, 16 Sep 2010 21:01:06 +0000 (14:01 -0700)]
Remove usage of orcbin
David Schleef [Thu, 16 Sep 2010 19:35:30 +0000 (12:35 -0700)]
Convert usage of ULL to ORC_UINT64_C()
David Schleef [Thu, 16 Sep 2010 19:35:00 +0000 (12:35 -0700)]
examples: remove mt19937ar temp files
David Schleef [Thu, 16 Sep 2010 03:00:15 +0000 (20:00 -0700)]
Fix warning on OS/X
David Schleef [Thu, 16 Sep 2010 02:58:42 +0000 (19:58 -0700)]
Use MAP_ANON if MAP_ANONYMOUS is not defined
David Schleef [Thu, 16 Sep 2010 00:51:35 +0000 (17:51 -0700)]
c: Fix problems related to 64-bit constants
David Schleef [Thu, 16 Sep 2010 00:50:44 +0000 (17:50 -0700)]
sse: implement 64-bit params and constants
David Schleef [Wed, 15 Sep 2010 06:15:44 +0000 (23:15 -0700)]
Add various hacks to allocated codemem
First check $TMPDIR, then $HOME, then try an anonymous map.
David Schleef [Wed, 8 Sep 2010 04:24:10 +0000 (21:24 -0700)]
sse: Fix previous commit on x86_64
David Schleef [Tue, 14 Sep 2010 22:14:23 +0000 (15:14 -0700)]
test: Add test for x2 float ops
David Schleef [Tue, 14 Sep 2010 22:12:40 +0000 (15:12 -0700)]
sse: implement swapwl, swaplq
David Schleef [Tue, 14 Sep 2010 22:12:11 +0000 (15:12 -0700)]
perf_opcodes_sys: Use orc_test_get_program_for_opcode
David Schleef [Tue, 14 Sep 2010 21:45:40 +0000 (14:45 -0700)]
c: Fix x2 used with float opcodes
David Schleef [Mon, 13 Sep 2010 20:57:56 +0000 (13:57 -0700)]
Add swapwl and swaplq opcodes
David Schleef [Sat, 11 Sep 2010 20:11:14 +0000 (13:11 -0700)]
mt19937: Bring up to date with Orc best practice
David Schleef [Thu, 9 Sep 2010 20:52:50 +0000 (13:52 -0700)]
sse,neon: Error for unimplemented 64-bit constants
David Schleef [Thu, 9 Sep 2010 19:02:10 +0000 (12:02 -0700)]
sse: Better implementation for ldreslinl
David Schleef [Thu, 9 Sep 2010 19:01:12 +0000 (12:01 -0700)]
orcc: Don't print out unused constant vars
David Schleef [Wed, 8 Sep 2010 23:22:34 +0000 (16:22 -0700)]
sse: Implement ldreslinl
David Schleef [Wed, 8 Sep 2010 21:38:39 +0000 (14:38 -0700)]
sse: implement rules using pmov[sz] for SSE4.1
David Schleef [Wed, 8 Sep 2010 21:20:13 +0000 (14:20 -0700)]
mmx: Update from SSE again
David Schleef [Wed, 8 Sep 2010 21:18:59 +0000 (14:18 -0700)]
sse: Fix shrsq rule
David Schleef [Wed, 8 Sep 2010 21:18:12 +0000 (14:18 -0700)]
orc-test: Fix comparison of 64-bit types
David Schleef [Wed, 8 Sep 2010 20:29:02 +0000 (13:29 -0700)]
Add orc_compiler_try_get_constant_long()
For loading long constants if it happens to be fast. Use case is
for when there's a backup rule that is almost as fast. (The
assumption is that loading long constants is slow.)
Sebastian Dröge [Wed, 8 Sep 2010 05:21:33 +0000 (07:21 +0200)]
Implement shrsq for SSE
Doesn't really work yet
Sebastian Dröge [Mon, 6 Sep 2010 09:22:18 +0000 (11:22 +0200)]
Implement SSE versions of shlq/shruq
Sebastian Dröge [Mon, 6 Sep 2010 09:02:56 +0000 (11:02 +0200)]
Add 64 bit shlq/shrsq/shruq opcodes
Sebastian Dröge [Mon, 6 Sep 2010 08:54:29 +0000 (10:54 +0200)]
Implement SSE versions of addq/subq
Sebastian Dröge [Mon, 6 Sep 2010 08:53:26 +0000 (10:53 +0200)]
Add 64 bit addq/subq opcodes
Sebastian Dröge [Mon, 6 Sep 2010 08:50:51 +0000 (10:50 +0200)]
Implement SSE versions of andq/andnq/orq/xorq/cmpeqq/cmpgtsq
Sebastian Dröge [Mon, 6 Sep 2010 08:50:04 +0000 (10:50 +0200)]
Add 64 bit andq/andnq/orq/xorq/cmpeqq/cmpgtsq opcodes
David Schleef [Wed, 8 Sep 2010 20:12:07 +0000 (13:12 -0700)]
Add ORC_TARGET_CLEAN_COMPILE and use it
David Schleef [Wed, 8 Sep 2010 20:11:34 +0000 (13:11 -0700)]
mmx: Update from sse
David Schleef [Wed, 8 Sep 2010 19:28:10 +0000 (12:28 -0700)]
sse: Reenable rules that use pshufb
David Schleef [Wed, 8 Sep 2010 04:54:47 +0000 (21:54 -0700)]
orcc: Delete output file if there's an error
David Schleef [Wed, 8 Sep 2010 04:11:23 +0000 (21:11 -0700)]
sse: Implement ldresnearl