platform/upstream/orc.git
11 years agomips: addedsupport for bltz,bgtz with immediate offset
Guillaume Emont [Thu, 15 Nov 2012 15:32:00 +0000 (16:32 +0100)]
mips: addedsupport for bltz,bgtz with immediate offset

11 years agomips: _assemble: ensure we load n after LABEL_OUTER_LOOP
Guillaume Emont [Thu, 15 Nov 2012 12:29:44 +0000 (13:29 +0100)]
mips: _assemble: ensure we load n after LABEL_OUTER_LOOP

11 years agomips: handle 2d loops
Guillaume Emont [Mon, 12 Nov 2012 19:31:01 +0000 (20:31 +0100)]
mips: handle 2d loops

11 years agomips: generate loops for all (or most) alignment cases
Guillaume Emont [Fri, 9 Nov 2012 18:27:32 +0000 (19:27 +0100)]
mips: generate loops for all (or most) alignment cases

11 years agomips: addede orc_mips_emit_conditional_branch_with_offset()
Guillaume Emont [Fri, 9 Nov 2012 17:32:49 +0000 (18:32 +0100)]
mips: addede orc_mips_emit_conditional_branch_with_offset()

11 years agomips: added emit for beq, or, ori
Guillaume Emont [Fri, 9 Nov 2012 17:32:15 +0000 (18:32 +0100)]
mips: added emit for beq, or, ori

11 years agomips: a1-a3 registers do not need to be saved
Guillaume Emont [Fri, 9 Nov 2012 17:27:23 +0000 (18:27 +0100)]
mips: a1-a3 registers do not need to be saved

11 years agomips: introduced orc_mips_emit_full_loop() to avoid cut and pasted code
Guillaume Emont [Fri, 2 Nov 2012 17:51:11 +0000 (18:51 +0100)]
mips: introduced orc_mips_emit_full_loop() to avoid cut and pasted code

11 years agomips: added a special version of the region1 loop for the case where we can have...
Guillaume Emont [Fri, 2 Nov 2012 11:24:06 +0000 (12:24 +0100)]
mips: added a special version of the region1 loop for the case where we can have all the variables aligned

11 years agomips: Fix detection of mipsel host
Guillaume Emont [Thu, 1 Nov 2012 16:29:37 +0000 (17:29 +0100)]
mips: Fix detection of mipsel host

11 years agoAdd detection of mipsel host
Guillaume Emont [Thu, 1 Nov 2012 15:57:04 +0000 (16:57 +0100)]
Add detection of mipsel host

11 years agomips: error when trying to use load with a constant
Guillaume Emont [Tue, 30 Oct 2012 11:43:29 +0000 (12:43 +0100)]
mips: error when trying to use load with a constant

11 years agomips: added test for binary code generation
Guillaume Emont [Mon, 29 Oct 2012 15:54:33 +0000 (16:54 +0100)]
mips: added test for binary code generation

11 years agomips: add binary code generation
Guillaume Emont [Fri, 26 Oct 2012 15:19:15 +0000 (17:19 +0200)]
mips: add binary code generation

Also refactor a bit the branch emission code and handle labels properly.

11 years agomips: fix load and store for the unaligned cases
Guillaume Emont [Fri, 26 Oct 2012 09:32:20 +0000 (11:32 +0200)]
mips: fix load and store for the unaligned cases

Still, something needs to be done (probably in _assemble()) to use the aligned
load/store operations when we can.

11 years agomips: fix counters for loop_shift==0
Guillaume Emont [Fri, 26 Oct 2012 09:31:24 +0000 (11:31 +0200)]
mips: fix counters for loop_shift==0

11 years agomips: fix label naming in generated assembly
Guillaume Emont [Thu, 25 Oct 2012 14:43:30 +0000 (16:43 +0200)]
mips: fix label naming in generated assembly

Label names need to be function specific, else they clash when we have more
than one function in a file.

11 years agomips: fix mips_rule_addw() for the SIMD case
Guillaume Emont [Wed, 24 Oct 2012 17:24:26 +0000 (19:24 +0200)]
mips: fix mips_rule_addw() for the SIMD case

11 years agomips: reworked _assemble() to handle properly data sizes > 2
Guillaume Emont [Wed, 24 Oct 2012 17:14:28 +0000 (19:14 +0200)]
mips: reworked _assemble() to handle properly data sizes > 2

11 years agomips: factorised and mostly fixed load and store rules
Guillaume Emont [Wed, 24 Oct 2012 17:03:47 +0000 (19:03 +0200)]
mips: factorised and mostly fixed load and store rules

Code is assuming that all data is correctly aligned for now.

11 years agomips: add emitters for more instructions
Guillaume Emont [Wed, 24 Oct 2012 17:02:17 +0000 (19:02 +0200)]
mips: add emitters for more instructions

11 years agomips: added emit functions for beqz, addi, sub, srl, andi
Guillaume Emont [Wed, 17 Oct 2012 10:23:40 +0000 (11:23 +0100)]
mips: added emit functions for beqz, addi, sub, srl, andi

11 years agomips: add forgotten argument to lw
Guillaume Emont [Wed, 17 Oct 2012 10:17:12 +0000 (11:17 +0100)]
mips: add forgotten argument to lw

11 years agomips: started work for a proper loop organisation to handle simd instructions
Guillaume Emont [Tue, 16 Oct 2012 12:19:04 +0000 (13:19 +0100)]
mips: started work for a proper loop organisation to handle simd instructions

11 years agomips: added rules for loadb, storel, storeb and copyb
Guillaume Emont [Tue, 16 Oct 2012 12:17:41 +0000 (13:17 +0100)]
mips: added rules for loadb, storel, storeb and copyb

11 years agomips: added copyl
Guillaume Emont [Tue, 9 Oct 2012 15:47:43 +0000 (17:47 +0200)]
mips: added copyl

11 years agomips: do not trust ORC_STRUCT_OFFSET when we cross-compile into asm code
Guillaume Emont [Fri, 5 Oct 2012 16:22:19 +0000 (18:22 +0200)]
mips: do not trust ORC_STRUCT_OFFSET when we cross-compile into asm code

11 years agoFirst version of mips target
Guillaume Emont [Fri, 5 Oct 2012 14:03:32 +0000 (16:03 +0200)]
First version of mips target

Only generates asm code, and only support loadl, storel and addl for now.

11 years agocompile fix
David Schleef [Sat, 8 Dec 2012 20:08:37 +0000 (12:08 -0800)]
compile fix

11 years agoFix multiple typedefs
David Schleef [Sat, 8 Dec 2012 19:53:56 +0000 (11:53 -0800)]
Fix multiple typedefs

11 years agofix for more than one accumulator
Jonathan Rosser [Mon, 3 Dec 2012 21:08:27 +0000 (13:08 -0800)]
fix for more than one accumulator

11 years agoFix altivec implementation of cmpltf and cmplef operations
Andreas Schwab [Sun, 2 Dec 2012 01:15:03 +0000 (17:15 -0800)]
Fix altivec implementation of cmpltf and cmplef operations

11 years agoAdds support for PowerPC64
Andreas Schwab [Sun, 2 Dec 2012 01:12:53 +0000 (17:12 -0800)]
Adds support for PowerPC64

11 years agocompiler: remove redundant declaration
David Schleef [Tue, 28 Aug 2012 19:07:02 +0000 (12:07 -0700)]
compiler: remove redundant declaration

11 years agoLink to pthreads library
David Schleef [Sat, 18 Aug 2012 02:08:18 +0000 (19:08 -0700)]
Link to pthreads library

12 years agoAdd line numbers to errors
Cedric BAIL [Sat, 28 Apr 2012 18:15:39 +0000 (11:15 -0700)]
Add line numbers to errors

12 years agotest: allocate aligned memory on windows
David Schleef [Sun, 1 Apr 2012 22:31:05 +0000 (15:31 -0700)]
test: allocate aligned memory on windows

12 years agoSplit headers out of orcprogram.h
David Schleef [Mon, 26 Mar 2012 17:23:14 +0000 (10:23 -0700)]
Split headers out of orcprogram.h

12 years agobytecode: Add bytecode for instruction flags
David Schleef [Thu, 1 Mar 2012 07:54:47 +0000 (23:54 -0800)]
bytecode: Add bytecode for instruction flags

12 years agoorcc: Add --no-backup
David Schleef [Sat, 4 Feb 2012 21:33:31 +0000 (13:33 -0800)]
orcc: Add --no-backup

12 years agobytecode: Add bytecode parsing
David Schleef [Sat, 28 Jan 2012 22:18:11 +0000 (14:18 -0800)]
bytecode: Add bytecode parsing

12 years agotest: fix unused variable warning
David Schleef [Sat, 15 Oct 2011 18:52:18 +0000 (11:52 -0700)]
test: fix unused variable warning

12 years agox86insn: switch to ultra-conservative nops
David Schleef [Sat, 15 Oct 2011 18:51:17 +0000 (11:51 -0700)]
x86insn: switch to ultra-conservative nops

12 years agox86insn: quick fix for lack of nopl support
David Schleef [Fri, 14 Oct 2011 06:02:00 +0000 (23:02 -0700)]
x86insn: quick fix for lack of nopl support

Geode (as well as others) don't have nopl.  So don't use it
for alignment.

12 years agoorcc: Fix n min/max/multiple code generation
David Schleef [Sun, 9 Oct 2011 06:42:15 +0000 (23:42 -0700)]
orcc: Fix n min/max/multiple code generation

12 years agodebug: include stdlib
David Schleef [Sun, 9 Oct 2011 06:37:12 +0000 (23:37 -0700)]
debug: include stdlib

12 years agobytecode: Add bytecode
David Schleef [Sun, 9 Oct 2011 06:17:10 +0000 (23:17 -0700)]
bytecode: Add bytecode

12 years agoback to unreleased
David Schleef [Mon, 3 Oct 2011 15:01:06 +0000 (08:01 -0700)]
back to unreleased

12 years agoFix distcheck orc-0.4.16
David Schleef [Mon, 3 Oct 2011 04:09:45 +0000 (21:09 -0700)]
Fix distcheck

12 years agoRelease 0.4.15
David Schleef [Mon, 3 Oct 2011 04:09:45 +0000 (21:09 -0700)]
Release 0.4.15

12 years agoAdd orc.m4
David Schleef [Mon, 3 Oct 2011 03:38:20 +0000 (20:38 -0700)]
Add orc.m4

12 years agoorcfunctions: update generated code
David Schleef [Mon, 3 Oct 2011 03:26:32 +0000 (20:26 -0700)]
orcfunctions: update generated code

12 years agotest: Add (disabled) ability to test 64-bit pointers
David Schleef [Mon, 3 Oct 2011 02:45:32 +0000 (19:45 -0700)]
test: Add (disabled) ability to test 64-bit pointers

12 years agommx: update from sse
David Schleef [Mon, 3 Oct 2011 02:44:45 +0000 (19:44 -0700)]
mmx: update from sse

12 years agosse: Fix mov of pointer values
David Schleef [Mon, 3 Oct 2011 01:56:50 +0000 (18:56 -0700)]
sse: Fix mov of pointer values

Fixes Fedora bug #742534.

12 years agoparse: check for empty source file
David Schleef [Sun, 2 Oct 2011 23:25:22 +0000 (16:25 -0700)]
parse: check for empty source file

12 years agoparse: skip whitespace
David Schleef [Sun, 2 Oct 2011 20:11:39 +0000 (13:11 -0700)]
parse: skip whitespace

12 years agotest: disable complaints about codegen failures
David Schleef [Sun, 2 Oct 2011 20:07:11 +0000 (13:07 -0700)]
test: disable complaints about codegen failures

12 years agoorcc: cosmetic fixes
Martin Bosmans [Sun, 2 Oct 2011 20:04:52 +0000 (13:04 -0700)]
orcc: cosmetic fixes

12 years agoinit: Use global mutex, not once mutex
David Schleef [Sun, 2 Oct 2011 19:04:57 +0000 (12:04 -0700)]
init: Use global mutex, not once mutex

Um, duh.  orc_init() can be called when the once mutex is held.

12 years agoorc: fix some more unused-but-set-variable warnings with gcc 4.6
Tim-Philipp Müller [Sat, 16 Jul 2011 13:27:47 +0000 (14:27 +0100)]
orc: fix some more unused-but-set-variable warnings with gcc 4.6

12 years agoback to unreleased
David Schleef [Tue, 27 Sep 2011 19:10:22 +0000 (12:10 -0700)]
back to unreleased

12 years agoRelease 0.4.15 orc-0.4.15
David Schleef [Sun, 25 Sep 2011 21:17:59 +0000 (14:17 -0700)]
Release 0.4.15

12 years agox86insn: Do not emit opcode for STACK
Maarten Bosmans [Thu, 22 Sep 2011 13:37:16 +0000 (15:37 +0200)]
x86insn: Do not emit opcode for STACK

This fixes a bug introduced in
86ab82d6182b641aeac13b2b9b8b99ad74cec5a0 x86insn: regularize codegen output

12 years agoFix error messages when compilation is disabled
David Schleef [Sat, 24 Sep 2011 23:01:02 +0000 (16:01 -0700)]
Fix error messages when compilation is disabled

12 years agoFix up c64x-c backend
David Schleef [Sat, 24 Sep 2011 23:00:25 +0000 (16:00 -0700)]
Fix up c64x-c backend

12 years agoProtect codemem globals with mutex
David Schleef [Sun, 28 Aug 2011 03:51:37 +0000 (20:51 -0700)]
Protect codemem globals with mutex

12 years agoUse orc_once functions in orc_init()
David Schleef [Sun, 21 Aug 2011 22:28:56 +0000 (15:28 -0700)]
Use orc_once functions in orc_init()

12 years agoparse: initialize log buffer
Christian Weisgerber [Mon, 1 Aug 2011 20:51:19 +0000 (13:51 -0700)]
parse: initialize log buffer

Make sure the log buffer starts out with a valid zero-length
string.

13 years agoMove ORC_GNUC_UNUSED to orcutils.h and use it
David Schleef [Sun, 10 Jul 2011 02:35:27 +0000 (19:35 -0700)]
Move ORC_GNUC_UNUSED to orcutils.h and use it

13 years agoFix a bunch of unused-but-set-variable compiler warnings with gcc 4.6
Tim-Philipp Müller [Fri, 8 Jul 2011 23:27:31 +0000 (00:27 +0100)]
Fix a bunch of unused-but-set-variable compiler warnings with gcc 4.6

Which cause compilation with -Werror to fail.

13 years agoMinor configure clean-up: ORC_CVS -> ORC_GIT
Tim-Philipp Müller [Thu, 30 Jun 2011 16:44:52 +0000 (17:44 +0100)]
Minor configure clean-up: ORC_CVS -> ORC_GIT

13 years agoAdd benchmorc binary to .gitignore
Tim-Philipp Müller [Thu, 30 Jun 2011 16:43:51 +0000 (17:43 +0100)]
Add benchmorc binary to .gitignore

13 years agocodemem: also try XDG_RUNTIME_DIR before falling back on HOME
Tim-Philipp Müller [Thu, 30 Jun 2011 16:42:24 +0000 (17:42 +0100)]
codemem: also try XDG_RUNTIME_DIR before falling back on HOME

13 years agoPut -Werror in separate ERROR_CFLAGS
Tim-Philipp Müller [Thu, 30 Jun 2011 16:40:23 +0000 (17:40 +0100)]
Put -Werror in separate ERROR_CFLAGS

So it can more easily be overridden with make ERROR_CFLAGS=''.

13 years agocodemem: Fix order to check /tmp before $HOME
David Schleef [Thu, 9 Jun 2011 04:38:04 +0000 (21:38 -0700)]
codemem: Fix order to check /tmp before $HOME

13 years agotest: add msvc define for snprintf
David Schleef [Wed, 1 Jun 2011 02:39:09 +0000 (19:39 -0700)]
test: add msvc define for snprintf

13 years agox86insn: clear allocated memory
David Schleef [Wed, 1 Jun 2011 02:36:57 +0000 (19:36 -0700)]
x86insn: clear allocated memory

13 years agox86insn: fix msvc error
David Schleef [Wed, 1 Jun 2011 02:36:36 +0000 (19:36 -0700)]
x86insn: fix msvc error

13 years agodocs: tell what ORC_CODE=debug is for
Stefan Kost [Wed, 23 Feb 2011 10:31:35 +0000 (12:31 +0200)]
docs: tell what ORC_CODE=debug is for

13 years agox86: use orc_compiler_error()
David Schleef [Wed, 18 May 2011 02:42:02 +0000 (19:42 -0700)]
x86: use orc_compiler_error()

13 years agox86insn: Fix SSE-4.1 instructions
David Schleef [Tue, 17 May 2011 19:56:32 +0000 (12:56 -0700)]
x86insn: Fix SSE-4.1 instructions

13 years agosse: implement aligned arrays
David Schleef [Mon, 16 May 2011 19:46:04 +0000 (12:46 -0700)]
sse: implement aligned arrays

13 years agotests: Handle new modifiers
David Schleef [Mon, 16 May 2011 19:45:22 +0000 (12:45 -0700)]
tests: Handle new modifiers

13 years agoparse: Add n modifiers
David Schleef [Mon, 16 May 2011 18:52:19 +0000 (11:52 -0700)]
parse: Add n modifiers

13 years agoparse: Add n modifiers
David Schleef [Mon, 16 May 2011 18:52:19 +0000 (11:52 -0700)]
parse: Add n modifiers

13 years agoparse: Add 'align %d' for array alignment
David Schleef [Sun, 15 May 2011 23:43:42 +0000 (16:43 -0700)]
parse: Add 'align %d' for array alignment

13 years agotests: remove offsets from memcpy_speed
David Schleef [Sat, 14 May 2011 19:07:09 +0000 (12:07 -0700)]
tests: remove offsets from memcpy_speed

13 years agoAdd ORC_CODE=randomize to randomize registers
David Schleef [Fri, 6 May 2011 19:02:37 +0000 (12:02 -0700)]
Add ORC_CODE=randomize to randomize registers

13 years agotests: better presentation
David Schleef [Fri, 13 May 2011 23:22:10 +0000 (16:22 -0700)]
tests: better presentation

13 years agotests: print error message in test failures
David Schleef [Fri, 13 May 2011 23:21:43 +0000 (16:21 -0700)]
tests: print error message in test failures

13 years agoAdd error message to compiler and program
David Schleef [Fri, 13 May 2011 23:20:40 +0000 (16:20 -0700)]
Add error message to compiler and program

13 years agox86insn: fixes for SSE
David Schleef [Fri, 13 May 2011 20:10:44 +0000 (13:10 -0700)]
x86insn: fixes for SSE

13 years agox86insn: Convert mmx backend to x86insn
David Schleef [Thu, 12 May 2011 21:38:40 +0000 (14:38 -0700)]
x86insn: Convert mmx backend to x86insn

13 years agox86insn: cleanup
David Schleef [Thu, 12 May 2011 19:30:40 +0000 (12:30 -0700)]
x86insn: cleanup

13 years agox86insn: rename some functions
David Schleef [Thu, 12 May 2011 19:23:25 +0000 (12:23 -0700)]
x86insn: rename some functions

13 years agommx: convert from sse
David Schleef [Thu, 12 May 2011 18:28:32 +0000 (11:28 -0700)]
mmx: convert from sse

13 years agox86: Add branch relaxation
David Schleef [Thu, 12 May 2011 18:18:30 +0000 (11:18 -0700)]
x86: Add branch relaxation

13 years agosse: Fix mulhsl rule
David Schleef [Thu, 12 May 2011 17:23:11 +0000 (10:23 -0700)]
sse: Fix mulhsl rule

13 years agox86: separate out final code generation
David Schleef [Wed, 11 May 2011 06:00:01 +0000 (23:00 -0700)]
x86: separate out final code generation