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

13 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"

13 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

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

13 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

13 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.

13 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

13 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

13 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.

13 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

13 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

13 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

13 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

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

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

13 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

13 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)

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

13 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

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

13 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

13 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

13 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

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

13 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

13 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

13 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

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

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

13 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.

13 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

13 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

13 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

13 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

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

13 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.

13 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

13 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

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

13 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()

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

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

13 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

13 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

13 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

13 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.

13 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

13 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

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

13 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

13 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

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

13 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

13 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

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

13 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

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

13 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

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

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

13 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

13 years agoAdd orc_compiler_try_get_constant_long()
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.)

13 years agoImplement shrsq for SSE
Sebastian Dröge [Wed, 8 Sep 2010 05:21:33 +0000 (07:21 +0200)]
Implement shrsq for SSE

Doesn't really work yet

13 years agoImplement SSE versions of shlq/shruq
Sebastian Dröge [Mon, 6 Sep 2010 09:22:18 +0000 (11:22 +0200)]
Implement SSE versions of shlq/shruq

13 years agoAdd 64 bit shlq/shrsq/shruq opcodes
Sebastian Dröge [Mon, 6 Sep 2010 09:02:56 +0000 (11:02 +0200)]
Add 64 bit shlq/shrsq/shruq opcodes

13 years agoImplement SSE versions of addq/subq
Sebastian Dröge [Mon, 6 Sep 2010 08:54:29 +0000 (10:54 +0200)]
Implement SSE versions of addq/subq

13 years agoAdd 64 bit addq/subq opcodes
Sebastian Dröge [Mon, 6 Sep 2010 08:53:26 +0000 (10:53 +0200)]
Add 64 bit addq/subq opcodes

13 years agoImplement SSE versions of andq/andnq/orq/xorq/cmpeqq/cmpgtsq
Sebastian Dröge [Mon, 6 Sep 2010 08:50:51 +0000 (10:50 +0200)]
Implement SSE versions of andq/andnq/orq/xorq/cmpeqq/cmpgtsq

13 years agoAdd 64 bit andq/andnq/orq/xorq/cmpeqq/cmpgtsq opcodes
Sebastian Dröge [Mon, 6 Sep 2010 08:50:04 +0000 (10:50 +0200)]
Add 64 bit andq/andnq/orq/xorq/cmpeqq/cmpgtsq opcodes

13 years agoAdd ORC_TARGET_CLEAN_COMPILE and use it
David Schleef [Wed, 8 Sep 2010 20:12:07 +0000 (13:12 -0700)]
Add ORC_TARGET_CLEAN_COMPILE and use it

13 years agommx: Update from sse
David Schleef [Wed, 8 Sep 2010 20:11:34 +0000 (13:11 -0700)]
mmx: Update from sse

13 years agosse: Reenable rules that use pshufb
David Schleef [Wed, 8 Sep 2010 19:28:10 +0000 (12:28 -0700)]
sse: Reenable rules that use pshufb

13 years agoorcc: Delete output file if there's an error
David Schleef [Wed, 8 Sep 2010 04:54:47 +0000 (21:54 -0700)]
orcc: Delete output file if there's an error

13 years agosse: Implement ldresnearl
David Schleef [Wed, 8 Sep 2010 04:11:23 +0000 (21:11 -0700)]
sse: Implement ldresnearl

13 years agocompiler: Implement long (128-bit) constants
David Schleef [Wed, 8 Sep 2010 04:09:51 +0000 (21:09 -0700)]
compiler: Implement long (128-bit) constants

13 years agosse: More fixes for X86_ECX -> gp_tmpreg
David Schleef [Mon, 6 Sep 2010 23:37:38 +0000 (16:37 -0700)]
sse: More fixes for X86_ECX -> gp_tmpreg

13 years agosse: Use temp space in exec struct, not stack
David Schleef [Mon, 6 Sep 2010 22:53:21 +0000 (15:53 -0700)]
sse: Use temp space in exec struct, not stack

13 years agosse: Fix register usage on Win64
David Schleef [Mon, 6 Sep 2010 21:58:25 +0000 (14:58 -0700)]
sse: Fix register usage on Win64

13 years agox86: Don't call rdtsc in prologue/epilogue
David Schleef [Mon, 6 Sep 2010 21:57:22 +0000 (14:57 -0700)]
x86: Don't call rdtsc in prologue/epilogue

13 years agoBump version to 0.4.9.1
David Schleef [Mon, 6 Sep 2010 21:57:53 +0000 (14:57 -0700)]
Bump version to 0.4.9.1

13 years agoRelease 0.4.9 orc-0.4.9
David Schleef [Mon, 6 Sep 2010 08:20:12 +0000 (01:20 -0700)]
Release 0.4.9

13 years agoEliminate usage of %lld, etc.
David Schleef [Mon, 6 Sep 2010 07:15:32 +0000 (00:15 -0700)]
Eliminate usage of %lld, etc.

13 years agoImplement handling of 64 bit constants in the C backend
Sebastian Dröge [Sun, 5 Sep 2010 12:51:32 +0000 (14:51 +0200)]
Implement handling of 64 bit constants in the C backend

This uses %lx and %ld to print 64 bit integers but on 32
bit architectures something like %llx and %lld would be
needed.

13 years agoorcc: Implement handling of 64 bit constants
Sebastian Dröge [Sun, 5 Sep 2010 12:50:35 +0000 (14:50 +0200)]
orcc: Implement handling of 64 bit constants

This uses %lx for printing 64 bit integers but on
32 bit architectures something like %llx would be
needed.

13 years agoUse strtoll() when parsing constants and support 64 bit intermediates
Sebastian Dröge [Sun, 5 Sep 2010 12:49:49 +0000 (14:49 +0200)]
Use strtoll() when parsing constants and support 64 bit intermediates

13 years agoImplement strtoll() for 64 bit integer constants
Sebastian Dröge [Sun, 5 Sep 2010 12:48:59 +0000 (14:48 +0200)]
Implement strtoll() for 64 bit integer constants

13 years agoBump version to 0.4.8.1
Sebastian Dröge [Sun, 5 Sep 2010 12:52:25 +0000 (14:52 +0200)]
Bump version to 0.4.8.1

13 years agoc: Fix convdf opcode
David Schleef [Mon, 6 Sep 2010 06:52:46 +0000 (23:52 -0700)]
c: Fix convdf opcode

13 years agoAdd AMD microarchitecture definitions
David Schleef [Mon, 6 Sep 2010 06:14:53 +0000 (23:14 -0700)]
Add AMD microarchitecture definitions

13 years agoparse: Add some bounds checking
David Schleef [Sun, 5 Sep 2010 19:57:56 +0000 (12:57 -0700)]
parse: Add some bounds checking

13 years agox86: Add AMD microarchitectures
David Schleef [Sun, 5 Sep 2010 19:09:58 +0000 (12:09 -0700)]
x86: Add AMD microarchitectures

13 years agoorcc: Handle compatibility for ORC_VAR_T16
David Schleef [Sun, 5 Sep 2010 18:55:35 +0000 (11:55 -0700)]
orcc: Handle compatibility for ORC_VAR_T16

13 years agox86: use movzx instead of movb
David Schleef [Sun, 5 Sep 2010 03:50:02 +0000 (20:50 -0700)]
x86: use movzx instead of movb

13 years agox86: More cpuid improvements
David Schleef [Sun, 5 Sep 2010 02:26:24 +0000 (19:26 -0700)]
x86: More cpuid improvements

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

Attempt to detect microarchitecture.

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

13 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

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

13 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

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