platform/upstream/orc.git
13 years agoaltivec: fix div255w rule
Andreas Schwab [Sat, 19 Mar 2011 21:47:40 +0000 (22:47 +0100)]
altivec: fix div255w rule

13 years agoaltivec: fix mullw rule
Andreas Schwab [Sat, 19 Mar 2011 21:47:34 +0000 (22:47 +0100)]
altivec: fix mullw rule

13 years agopowerpc: don't clobber register r31
Andreas Schwab [Sat, 19 Mar 2011 21:47:28 +0000 (22:47 +0100)]
powerpc: don't clobber register r31

13 years agoBetter checking for codemem allocation
David Schleef [Fri, 25 Feb 2011 21:38:41 +0000 (13:38 -0800)]
Better checking for codemem allocation

13 years agocpuinsn: various codegen fixes
David Schleef [Sun, 20 Feb 2011 22:53:55 +0000 (14:53 -0800)]
cpuinsn: various codegen fixes

13 years agodocs: add extra section describing the env-vars.
Stefan Kost [Mon, 10 Jan 2011 11:08:37 +0000 (13:08 +0200)]
docs: add extra section describing the env-vars.

13 years agocpuinsn: Fix code generation breakage on x86_64
David Schleef [Mon, 6 Dec 2010 01:47:26 +0000 (17:47 -0800)]
cpuinsn: Fix code generation breakage on x86_64

13 years agosse: Fix problem on sse41
David Schleef [Sun, 23 Jan 2011 07:49:41 +0000 (23:49 -0800)]
sse: Fix problem on sse41

13 years agoneon: Add some floating point ops
Nick Foster [Thu, 13 Jan 2011 23:18:37 +0000 (15:18 -0800)]
neon: Add some floating point ops

13 years agoRevert "orc.h: remove stdint.h from includes"
David Schleef [Sun, 9 Jan 2011 00:48:20 +0000 (16:48 -0800)]
Revert "orc.h: remove stdint.h from includes"

This reverts commit 2ecfd3f1138875bd57a17bb0fb0a123f28c118d7.

13 years agoDon't use builddir, as it requires recent automake
David Schleef [Sat, 8 Jan 2011 01:59:50 +0000 (17:59 -0800)]
Don't use builddir, as it requires recent automake

13 years agoorc.h: remove stdint.h from includes
David Schleef [Sat, 8 Jan 2011 00:58:56 +0000 (16:58 -0800)]
orc.h: remove stdint.h from includes

This is technically part of the ABI.  Let's see if anyone
notices.

13 years agoupdate generated code
David Schleef [Sat, 8 Jan 2011 00:58:27 +0000 (16:58 -0800)]
update generated code

13 years agoc: don't use stdint types
David Schleef [Sat, 8 Jan 2011 00:58:12 +0000 (16:58 -0800)]
c: don't use stdint types

13 years agoneon: Fix VFP rule macro
David Schleef [Sat, 8 Jan 2011 00:22:55 +0000 (16:22 -0800)]
neon: Fix VFP rule macro

13 years agoc: Use __inline for MSVC
David Schleef [Fri, 7 Jan 2011 21:18:52 +0000 (13:18 -0800)]
c: Use __inline for MSVC

13 years agoBuild fixes for win64
David Schleef [Thu, 23 Dec 2010 07:47:39 +0000 (23:47 -0800)]
Build fixes for win64

13 years agom4: Fix ARM compiler detection
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.

13 years agoorcc: Implement --lazy-init
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.

13 years agoorcc: Use OrcCode as persistent storage
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.

13 years agoorcprogram: don't deref insn->opcode if NULL
Stefan Kost [Mon, 29 Nov 2010 14:30:10 +0000 (16:30 +0200)]
orcprogram: don't deref insn->opcode if NULL

13 years agoorcprog-c: don't deref NULL rule
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.

13 years agotests: fix copy'n'paste error
Stefan Kost [Mon, 29 Nov 2010 13:58:36 +0000 (15:58 +0200)]
tests: fix copy'n'paste error

13 years agoorcparse: don't eventually leak 'init_function'
Stefan Kost [Mon, 29 Nov 2010 13:55:00 +0000 (15:55 +0200)]
orcparse: don't eventually leak 'init_function'

13 years agoorccodemem: free 'filename' in case of error as well
Stefan Kost [Mon, 29 Nov 2010 13:51:08 +0000 (15:51 +0200)]
orccodemem: free 'filename' in case of error as well

13 years agox86: sun studio can use gcc inline asm
David Schleef [Sun, 5 Dec 2010 22:11:48 +0000 (14:11 -0800)]
x86: sun studio can use gcc inline asm

14 years agox86: cpuinsn cleanup
David Schleef [Sun, 7 Nov 2010 23:46:31 +0000 (15:46 -0800)]
x86: cpuinsn cleanup

14 years agoChange sysinsn to cpuinsn
David Schleef [Sun, 7 Nov 2010 22:12:04 +0000 (14:12 -0800)]
Change sysinsn to cpuinsn

14 years agox86: Fix sysinsn problems on x86-64
David Schleef [Sun, 7 Nov 2010 21:56:47 +0000 (13:56 -0800)]
x86: Fix sysinsn problems on x86-64

14 years agox86: more sysinsn conversion
David Schleef [Thu, 4 Nov 2010 19:59:09 +0000 (12:59 -0700)]
x86: more sysinsn conversion

14 years agox86: more sysinsn conversion
David Schleef [Thu, 4 Nov 2010 19:34:21 +0000 (12:34 -0700)]
x86: more sysinsn conversion

14 years agox86: convert misc instructions to sysinsn
David Schleef [Thu, 4 Nov 2010 16:40:38 +0000 (09:40 -0700)]
x86: convert misc instructions to sysinsn

14 years agox86: convert jumps to sysinsn
David Schleef [Thu, 4 Nov 2010 16:26:06 +0000 (09:26 -0700)]
x86: convert jumps to sysinsn

14 years agox86: convert arith instructions to sysinsn
David Schleef [Thu, 4 Nov 2010 15:12:38 +0000 (15:12 +0000)]
x86: convert arith instructions to sysinsn

14 years agosse: more conversion to sysinsn
David Schleef [Wed, 3 Nov 2010 17:54:00 +0000 (18:54 +0100)]
sse: more conversion to sysinsn

14 years agosse: Fix param order of orc_x86_emit_modrm_memoffset
David Schleef [Sun, 31 Oct 2010 12:51:47 +0000 (13:51 +0100)]
sse: Fix param order of orc_x86_emit_modrm_memoffset

14 years agosse: more conversion to sysinsn
David Schleef [Sun, 31 Oct 2010 12:38:52 +0000 (13:38 +0100)]
sse: more conversion to sysinsn

14 years agosse: More conversion to sysinsn
David Schleef [Sun, 31 Oct 2010 11:31:24 +0000 (11:31 +0000)]
sse: More conversion to sysinsn

14 years agosse: Convert to using emit_sysinsn
David Schleef [Fri, 29 Oct 2010 11:00:19 +0000 (12:00 +0100)]
sse: Convert to using emit_sysinsn

14 years agosse: convert to using orc_sse_emit_sysinsn
David Schleef [Wed, 27 Oct 2010 16:14:48 +0000 (17:14 +0100)]
sse: convert to using orc_sse_emit_sysinsn

14 years agoconfigure: it's "dragonfly" not "dragonflybsd"
David Schleef [Mon, 25 Oct 2010 15:29:11 +0000 (16:29 +0100)]
configure: it's "dragonfly" not "dragonflybsd"

14 years agoc: Fix gcc warnings in generated code
David Schleef [Fri, 15 Oct 2010 19:55:59 +0000 (12:55 -0700)]
c: Fix gcc warnings in generated code

14 years agoback to unreleased
David Schleef [Mon, 25 Oct 2010 15:28:04 +0000 (16:28 +0100)]
back to unreleased

14 years agoRelease 0.4.11 orc-0.4.11
David Schleef [Thu, 14 Oct 2010 22:32:22 +0000 (15:32 -0700)]
Release 0.4.11

14 years agotest.orc: Add function that checks 'x2 mulll'
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.

14 years agosse: Calculate insn_shift for each instruction
David Schleef [Thu, 14 Oct 2010 22:23:23 +0000 (15:23 -0700)]
sse: Calculate insn_shift for each instruction

14 years agoemulate: Fix loading of 64-bit params
David Schleef [Thu, 14 Oct 2010 22:22:32 +0000 (15:22 -0700)]
emulate: Fix loading of 64-bit params

14 years agocompiler: Allow compiling for emulation with no target
David Schleef [Thu, 14 Oct 2010 02:28:00 +0000 (19:28 -0700)]
compiler: Allow compiling for emulation with no target

Fixes #30778.

14 years agoorcc: Allow normal compilation with no target
David Schleef [Thu, 14 Oct 2010 02:27:19 +0000 (19:27 -0700)]
orcc: Allow normal compilation with no target

14 years agoFix loading of double parameters in the non-ORC C code
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

14 years agommx: Fix 64-bit param loading
David Schleef [Thu, 14 Oct 2010 01:11:58 +0000 (18:11 -0700)]
mmx: Fix 64-bit param loading

14 years agoarm: move some rules into ARM6
David Schleef [Tue, 12 Oct 2010 17:54:05 +0000 (10:54 -0700)]
arm: move some rules into ARM6

14 years agoAdd benchmorc
David Schleef [Sun, 10 Oct 2010 03:05:29 +0000 (20:05 -0700)]
Add benchmorc

14 years agoback to unreleased
David Schleef [Fri, 8 Oct 2010 00:50:03 +0000 (17:50 -0700)]
back to unreleased

14 years agoRelease 0.4.10 orc-0.4.10
David Schleef [Thu, 7 Oct 2010 23:49:19 +0000 (16:49 -0700)]
Release 0.4.10

14 years agosse,mmx: Fix mululq rule (SSE2-only)
David Schleef [Thu, 7 Oct 2010 23:47:26 +0000 (16:47 -0700)]
sse,mmx: Fix mululq rule (SSE2-only)

14 years agommx: update from sse
David Schleef [Thu, 7 Oct 2010 22:36:38 +0000 (15:36 -0700)]
mmx: update from sse

14 years agoneon: Add rules for new opcodes
David Schleef [Thu, 7 Oct 2010 18:41:36 +0000 (11:41 -0700)]
neon: Add rules for new opcodes

14 years agoAdd .doubleparam and .longparam
David Schleef [Wed, 6 Oct 2010 23:27:29 +0000 (16:27 -0700)]
Add .doubleparam and .longparam

14 years agoImplement mululq and mulslq for SSE
Sebastian Dröge [Sun, 3 Oct 2010 08:29:07 +0000 (10:29 +0200)]
Implement mululq and mulslq for SSE

14 years agoAdd mulslq and mululq opcodes
Sebastian Dröge [Sun, 3 Oct 2010 06:59:41 +0000 (08:59 +0200)]
Add mulslq and mululq opcodes

14 years agoImplement select[01]ql for SSE
Sebastian Dröge [Fri, 1 Oct 2010 07:33:24 +0000 (09:33 +0200)]
Implement select[01]ql for SSE

14 years agoImplement mergelq for SSE
Sebastian Dröge [Fri, 1 Oct 2010 06:46:11 +0000 (08:46 +0200)]
Implement mergelq for SSE

14 years agoMask lower bits of merge opcodes to prevent signedness problems
Sebastian Dröge [Fri, 1 Oct 2010 06:45:27 +0000 (08:45 +0200)]
Mask lower bits of merge opcodes to prevent signedness problems

14 years agoAdd mergelq/select0ql/select1ql opcodes
Sebastian Dröge [Thu, 30 Sep 2010 21:07:57 +0000 (23:07 +0200)]
Add mergelq/select0ql/select1ql opcodes

14 years agosse: Add 64-bit bit ops
David Schleef [Sun, 3 Oct 2010 22:28:59 +0000 (15:28 -0700)]
sse: Add 64-bit bit ops

14 years agoFix distcheck
David Schleef [Thu, 30 Sep 2010 02:58:56 +0000 (19:58 -0700)]
Fix distcheck

14 years agoFix documentation of opcodes
David Schleef [Tue, 28 Sep 2010 20:01:31 +0000 (13:01 -0700)]
Fix documentation of opcodes

14 years agoCleanups for running with ORC_CODE=emulate
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.

14 years agocompiler: Fix calculation of max var size
David Schleef [Fri, 24 Sep 2010 00:08:14 +0000 (17:08 -0700)]
compiler: Fix calculation of max var size

14 years agotest: Add disabled code to make manual testing easier
David Schleef [Fri, 24 Sep 2010 00:04:59 +0000 (17:04 -0700)]
test: Add disabled code to make manual testing easier

14 years agommx: paddq and psubq are SSE2 instructions
Sebastian Dröge [Wed, 22 Sep 2010 07:42:37 +0000 (09:42 +0200)]
mmx: paddq and psubq are SSE2 instructions

14 years agommx: reconvert from sse, plus fixes
David Schleef [Tue, 21 Sep 2010 19:51:48 +0000 (12:51 -0700)]
mmx: reconvert from sse, plus fixes

14 years agosse: Fix rex prefix
David Schleef [Mon, 20 Sep 2010 20:12:14 +0000 (13:12 -0700)]
sse: Fix rex prefix

14 years agoc: Fix C_NOEXEC destination parameter
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.

14 years agoHandle ORC_CODE=emulate to force emulation
David Schleef [Mon, 20 Sep 2010 20:09:16 +0000 (13:09 -0700)]
Handle ORC_CODE=emulate to force emulation

14 years agoc: Fix emulation loading of constants on big-endian
David Schleef [Fri, 17 Sep 2010 00:43:59 +0000 (17:43 -0700)]
c: Fix emulation loading of constants on big-endian

14 years agoRemove usage of orcbin
David Schleef [Thu, 16 Sep 2010 21:01:06 +0000 (14:01 -0700)]
Remove usage of orcbin

14 years agoConvert usage of ULL to ORC_UINT64_C()
David Schleef [Thu, 16 Sep 2010 19:35:30 +0000 (12:35 -0700)]
Convert usage of ULL to ORC_UINT64_C()

14 years agoexamples: remove mt19937ar temp files
David Schleef [Thu, 16 Sep 2010 19:35:00 +0000 (12:35 -0700)]
examples: remove mt19937ar temp files

14 years agoFix warning on OS/X
David Schleef [Thu, 16 Sep 2010 03:00:15 +0000 (20:00 -0700)]
Fix warning on OS/X

14 years agoUse MAP_ANON if MAP_ANONYMOUS is not defined
David Schleef [Thu, 16 Sep 2010 02:58:42 +0000 (19:58 -0700)]
Use MAP_ANON if MAP_ANONYMOUS is not defined

14 years agoc: Fix problems related to 64-bit constants
David Schleef [Thu, 16 Sep 2010 00:51:35 +0000 (17:51 -0700)]
c: Fix problems related to 64-bit constants

14 years agosse: implement 64-bit params and constants
David Schleef [Thu, 16 Sep 2010 00:50:44 +0000 (17:50 -0700)]
sse: implement 64-bit params and constants

14 years agoAdd various hacks to allocated codemem
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.

14 years agosse: Fix previous commit on x86_64
David Schleef [Wed, 8 Sep 2010 04:24:10 +0000 (21:24 -0700)]
sse: Fix previous commit on x86_64

14 years agotest: Add test for x2 float ops
David Schleef [Tue, 14 Sep 2010 22:14:23 +0000 (15:14 -0700)]
test: Add test for x2 float ops

14 years agosse: implement swapwl, swaplq
David Schleef [Tue, 14 Sep 2010 22:12:40 +0000 (15:12 -0700)]
sse: implement swapwl, swaplq

14 years agoperf_opcodes_sys: Use orc_test_get_program_for_opcode
David Schleef [Tue, 14 Sep 2010 22:12:11 +0000 (15:12 -0700)]
perf_opcodes_sys: Use orc_test_get_program_for_opcode

14 years agoc: Fix x2 used with float opcodes
David Schleef [Tue, 14 Sep 2010 21:45:40 +0000 (14:45 -0700)]
c: Fix x2 used with float opcodes

14 years agoAdd swapwl and swaplq opcodes
David Schleef [Mon, 13 Sep 2010 20:57:56 +0000 (13:57 -0700)]
Add swapwl and swaplq opcodes

14 years agomt19937: Bring up to date with Orc best practice
David Schleef [Sat, 11 Sep 2010 20:11:14 +0000 (13:11 -0700)]
mt19937: Bring up to date with Orc best practice

14 years agosse,neon: Error for unimplemented 64-bit constants
David Schleef [Thu, 9 Sep 2010 20:52:50 +0000 (13:52 -0700)]
sse,neon: Error for unimplemented 64-bit constants

14 years agosse: Better implementation for ldreslinl
David Schleef [Thu, 9 Sep 2010 19:02:10 +0000 (12:02 -0700)]
sse: Better implementation for ldreslinl

14 years agoorcc: Don't print out unused constant vars
David Schleef [Thu, 9 Sep 2010 19:01:12 +0000 (12:01 -0700)]
orcc: Don't print out unused constant vars

14 years agosse: Implement ldreslinl
David Schleef [Wed, 8 Sep 2010 23:22:34 +0000 (16:22 -0700)]
sse: Implement ldreslinl

14 years agosse: implement rules using pmov[sz] for SSE4.1
David Schleef [Wed, 8 Sep 2010 21:38:39 +0000 (14:38 -0700)]
sse: implement rules using pmov[sz] for SSE4.1

14 years agommx: Update from SSE again
David Schleef [Wed, 8 Sep 2010 21:20:13 +0000 (14:20 -0700)]
mmx: Update from SSE again

14 years agosse: Fix shrsq rule
David Schleef [Wed, 8 Sep 2010 21:18:59 +0000 (14:18 -0700)]
sse: Fix shrsq rule

14 years agoorc-test: Fix comparison of 64-bit types
David Schleef [Wed, 8 Sep 2010 21:18:12 +0000 (14:18 -0700)]
orc-test: Fix comparison of 64-bit types