xonotic/gmqcc.git
8 years agoTweak for coding convention
Jim Thoenen [Sun, 23 Feb 2014 03:22:41 +0000 (21:22 -0600)]
Tweak for coding convention

8 years agoAllow testsuite to pass on big endian
Jim Thoenen [Mon, 3 Feb 2014 01:24:59 +0000 (19:24 -0600)]
Allow testsuite to pass on big endian

Move the progs header and body byteswapping into util functions and
call those functions when either reading or writing the progs.

8 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Sat, 8 Feb 2014 09:33:50 +0000 (10:33 +0100)]
Merge branch 'master' into cooking

8 years agos/atanhf/atanh/
Dale Weiler [Sat, 8 Feb 2014 07:50:06 +0000 (02:50 -0500)]
s/atanhf/atanh/

8 years agomoving the length multiplication for 64 bit types from util_endianswap into util_swap...
Wolfgang Bumiller [Sun, 2 Feb 2014 10:04:18 +0000 (11:04 +0100)]
moving the length multiplication for 64 bit types from util_endianswap into util_swap64; renaming length parameter to count

8 years agoMerge pull request #141 from CurrentResident/big_endian_swap_fix
Dale Weiler [Sun, 2 Feb 2014 10:00:15 +0000 (02:00 -0800)]
Merge pull request #141 from CurrentResident/big_endian_swap_fix

Big endian swap fix

8 years agoUpdate per IRC peer review feedback
Jim Thoenen [Sun, 2 Feb 2014 08:32:50 +0000 (02:32 -0600)]
Update per IRC peer review feedback

Restore the swap function's original name, remove convenience function,
use %u in log message, whitespace tweak.

8 years agoOops, scale int64 count into int32 count for swapper.
Jim Thoenen [Sun, 2 Feb 2014 07:52:50 +0000 (01:52 -0600)]
Oops, scale int64 count into int32 count for swapper.

8 years agoBig-endian: Byteswap only the field contents when writing progs.dat
Jim Thoenen [Sun, 2 Feb 2014 06:57:02 +0000 (00:57 -0600)]
Big-endian: Byteswap only the field contents when writing progs.dat

The previous code swapped not just the fields' contents themselves, but
also field positions within several of the structs, resulting in a
non-working progs.dat when compiled on big endian (ppc in my case).
Swapping on a field-by-field basis now.

Also:
* Addresses weird swap size requests (30+ bytes in one case)

* Take a guess at the right way to log a weird swap request before dying

* Fix swap array length scaling

* Rename the main swap function to reflect its native->little-endian
  purpose.  Figued that was okay because progs.dat is required to be
  always little-endian...

* Add a non-array version of the swap function for convenience

8 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Sun, 26 Jan 2014 11:38:00 +0000 (12:38 +0100)]
Merge branch 'master' into cooking

8 years agoMerge pull request #140 from Sicness/gmqcc.1-hyphen
Wolfgang Bumiller [Sun, 26 Jan 2014 11:37:33 +0000 (03:37 -0800)]
Merge pull request #140 from Sicness/gmqcc.1-hyphen

Fix hyphen-used-as-minus-sign in gmqcc.1

8 years agoFix hyphen-used-as-minus-sign in gmqcc.1
Anton Balashov [Sun, 26 Jan 2014 08:14:18 +0000 (12:14 +0400)]
Fix hyphen-used-as-minus-sign in gmqcc.1

I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:338
N:
N:    This manual page seems to contain a hyphen where a minus sign was
N:    intended. By default, "-" chars are interpreted as hyphens (U+2010) by
N:    groff, not as minus signs (U+002D). Since options to programs use
minus
N:    signs (U+002D), this means for example in UTF-8 locales that you
cannot
N:    cut and paste options, nor search for them easily. The Debian
groff
N:    package currently forces "-" to be interpreted as a minus sign due
to
N:    the number of manual pages with this problem, but this is a
N:    Debian-specific modification and hopefully eventually can be
removed.
N:
N:    "-" must be escaped ("\-") to be interpreted as minus. If you
really
N:    intend a hyphen (normally you don't), write it as "\(hy" to
emphasise
N:    that fact. See groff(7) and especially groff_char(7) for details,
and
N:    also the thread starting with
N:
http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg01481.html
N:
N:    If you use some tool that converts your documentation to groff
format,
N:    this tag may indicate a bug in the tool. Some tools convert dashes
of
N:    any kind to hyphens. The safe way of converting dashes is to
convert
N:    them to "\-".
N:
N:    Because this error can occur very often, Lintian shows only the
first 10
N:    occurrences for each man page and give the number of suppressed
N:    occurrences. If you want to see all warnings, run Lintian with the
N:    -d/--debug option.
N:
N:    Refer to /usr/share/doc/groff-base/README.Debian and the
groff_char(7)
N:    manual page for details.
N:
N:    Severity: wishlist, Certainty: possible")"

8 years agoScrew clang
Dale Weiler [Tue, 7 Jan 2014 18:13:25 +0000 (13:13 -0500)]
Screw clang

8 years agoFix lshift/rshift for runtime and const-fold consistency.
Dale Weiler [Tue, 7 Jan 2014 17:58:53 +0000 (12:58 -0500)]
Fix lshift/rshift for runtime and const-fold consistency.

8 years agosometimes I hate travis
Wolfgang Bumiller [Tue, 7 Jan 2014 14:04:29 +0000 (15:04 +0100)]
sometimes I hate travis

8 years agoDo not create coverage calls on array accessors.
Wolfgang Bumiller [Tue, 7 Jan 2014 14:01:52 +0000 (15:01 +0100)]
Do not create coverage calls on array accessors.

8 years agoAdding coverage support:
Wolfgang Bumiller [Tue, 7 Jan 2014 13:33:26 +0000 (14:33 +0100)]
Adding coverage support:
The -coverage option causes all values have AST_FLAG_BLOCK_COVERAGE
set by default.
The coverage attribute can be used to control coverage:
It takes an optional list of coverage types, currently only "block"
and "none" is recognized.
[[coverage]] defaults to [[coverage(block)]].
Use [[coverage(none)]] or [[coverage()]] to disable.

8 years agoHappy new year redux!
Dale Weiler [Wed, 1 Jan 2014 11:25:00 +0000 (06:25 -0500)]
Happy new year redux!

8 years agoHappy new year!
Dale Weiler [Wed, 1 Jan 2014 11:24:16 +0000 (06:24 -0500)]
Happy new year!

8 years agoThat's not how it should fail :P
Wolfgang Bumiller [Wed, 1 Jan 2014 11:21:00 +0000 (12:21 +0100)]
That's not how it should fail :P

8 years agoimproved test of last attribute
Wolfgang Bumiller [Wed, 1 Jan 2014 11:18:54 +0000 (12:18 +0100)]
improved test of last attribute

8 years agodefinite -> last keyword; testcase updated too
Wolfgang Bumiller [Wed, 1 Jan 2014 11:16:19 +0000 (12:16 +0100)]
definite -> last keyword; testcase updated too

8 years agoCleanup some code duplication. This whole parser ugh I just want to rm -rf all of...
Dale Weiler [Wed, 1 Jan 2014 10:32:24 +0000 (05:32 -0500)]
Cleanup some code duplication. This whole parser ugh I just want to rm -rf all of it. Time for GMQCC2.

8 years agoRemove final attribute and bareword. [[definite]] is now old [[final]]. There is...
Dale Weiler [Wed, 1 Jan 2014 10:12:21 +0000 (05:12 -0500)]
Remove final attribute and bareword. [[definite]] is now old [[final]]. There is no bareword definite either.

8 years agoMore cleanup
Dale Weiler [Sun, 15 Dec 2013 06:45:36 +0000 (01:45 -0500)]
More cleanup

8 years agohash cleanups.
Dale Weiler [Sun, 15 Dec 2013 06:37:24 +0000 (01:37 -0500)]
hash cleanups.

8 years agoRemove SSE hash, t's just too much effort to maintain.
Dale Weiler [Sat, 14 Dec 2013 22:30:51 +0000 (17:30 -0500)]
Remove SSE hash, t's just too much effort to maintain.

8 years agoFix some stuff
Dale Weiler [Sat, 14 Dec 2013 20:07:04 +0000 (15:07 -0500)]
Fix some stuff

8 years agoPartially fix that.
Dale Weiler [Sat, 14 Dec 2013 19:57:10 +0000 (14:57 -0500)]
Partially fix that.

8 years agotypo
Dale Weiler [Sat, 14 Dec 2013 11:02:39 +0000 (06:02 -0500)]
typo

8 years agoDo not include this function unless !defined(__SSE__)
Dale Weiler [Sat, 14 Dec 2013 06:34:33 +0000 (01:34 -0500)]
Do not include this function unless !defined(__SSE__)

8 years agoFaster hashing reaching 16 GB/s on Phenom II X4.
Dale Weiler [Sat, 14 Dec 2013 06:23:39 +0000 (01:23 -0500)]
Faster hashing reaching 16 GB/s on Phenom II X4.

8 years agoOnly optimize (a - (-b)) into (a + b) when the unary operand is a negation. This...
Dale Weiler [Mon, 9 Dec 2013 00:01:44 +0000 (19:01 -0500)]
Only optimize (a - (-b)) into (a + b) when the unary operand is a negation. This fixes (a - (!b)) being turned into (a + b).

8 years agoadding 'final'
Wolfgang Bumiller [Fri, 6 Dec 2013 21:41:15 +0000 (22:41 +0100)]
adding 'final'

8 years agoBitshifting operators <<, >>, and compound assignment versions now work in non-consta...
Dale Weiler [Tue, 3 Dec 2013 22:40:15 +0000 (17:40 -0500)]
Bitshifting operators <<, >>, and compound assignment versions now work in non-constant expressions

8 years agoMask out the math constant precedence stuff unless -fftepp-mathdefs
Dale Weiler [Sun, 1 Dec 2013 15:52:42 +0000 (10:52 -0500)]
Mask out the math constant precedence stuff unless -fftepp-mathdefs

8 years agoMask ftepp math constants with a compiler flag
Dale Weiler [Sun, 1 Dec 2013 15:45:43 +0000 (10:45 -0500)]
Mask ftepp math constants with a compiler flag

8 years agoUser supplied math constants take precedence
Dale Weiler [Sun, 1 Dec 2013 15:30:24 +0000 (10:30 -0500)]
User supplied math constants take precedence

8 years agoIgnore emitting implicit math constants in the preprocessor if they exist.
Dale Weiler [Sun, 1 Dec 2013 15:26:36 +0000 (10:26 -0500)]
Ignore emitting implicit math constants in the preprocessor if they exist.

8 years agoMerge branch 'master' into cooking
Dale Weiler [Sat, 30 Nov 2013 18:14:04 +0000 (13:14 -0500)]
Merge branch 'master' into cooking

8 years agoMerge pull request #139 from ignatenkobrain/update_fedora
Dale Weiler [Sat, 30 Nov 2013 18:13:26 +0000 (10:13 -0800)]
Merge pull request #139 from ignatenkobrain/update_fedora

fedora: Update .spec and INSTALL

8 years agoMerge pull request #138 from ignatenkobrain/fix_authors
Dale Weiler [Sat, 30 Nov 2013 18:13:19 +0000 (10:13 -0800)]
Merge pull request #138 from ignatenkobrain/fix_authors

s/brian/brain/ ;)

8 years agoMerge pull request #137 from ignatenkobrain/fix_build_big_endian
Dale Weiler [Sat, 30 Nov 2013 18:13:12 +0000 (10:13 -0800)]
Merge pull request #137 from ignatenkobrain/fix_build_big_endian

fix build on big endian arches

8 years agofedora: Update .spec and INSTALL
Igor Gnatenko [Sat, 30 Nov 2013 08:35:07 +0000 (12:35 +0400)]
fedora: Update .spec and INSTALL

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
8 years agos/brian/brain/ ;)
Igor Gnatenko [Sat, 30 Nov 2013 08:31:21 +0000 (12:31 +0400)]
s/brian/brain/ ;)

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
8 years agofix build on big endian arches
Igor Gnatenko [Sat, 30 Nov 2013 08:28:59 +0000 (12:28 +0400)]
fix build on big endian arches

Signed-off-by: Dan HorĂ¡k <dan@danny.cz>
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
8 years agoSimplify
Dale Weiler [Fri, 29 Nov 2013 18:50:06 +0000 (13:50 -0500)]
Simplify

8 years agoFix fold_op_cmp
Dale Weiler [Fri, 29 Nov 2013 18:48:03 +0000 (13:48 -0500)]
Fix fold_op_cmp

8 years agoFixes
Dale Weiler [Fri, 29 Nov 2013 18:36:35 +0000 (13:36 -0500)]
Fixes

8 years agooops
Dale Weiler [Fri, 29 Nov 2013 18:18:50 +0000 (13:18 -0500)]
oops

8 years agocleanup
Dale Weiler [Fri, 29 Nov 2013 18:13:39 +0000 (13:13 -0500)]
cleanup

8 years agoCleanup lexer old cruft
Dale Weiler [Fri, 29 Nov 2013 12:15:49 +0000 (07:15 -0500)]
Cleanup lexer old cruft

8 years agoHandle byte order mark for unicode. (0xEFBBBF)
Dale Weiler [Fri, 29 Nov 2013 12:03:55 +0000 (07:03 -0500)]
Handle byte order mark for unicode. (0xEFBBBF)

8 years agostatic variables now don't get re-initialized in functions; cannot be initialized...
Wolfgang Bumiller [Thu, 28 Nov 2013 11:04:01 +0000 (12:04 +0100)]
static variables now don't get re-initialized in functions; cannot be initialized with non-constants anymore; and a counter has been added so you can use the same name in a different scope for another static variable again.

8 years agoMake log use the slightly improved algorithm for small values.
Dale Weiler [Mon, 25 Nov 2013 19:08:05 +0000 (14:08 -0500)]
Make log use the slightly improved algorithm for small values.

8 years agoReorder intrinsics table
Dale Weiler [Mon, 25 Nov 2013 18:44:00 +0000 (13:44 -0500)]
Reorder intrinsics table

8 years agoout isn't used
Dale Weiler [Mon, 25 Nov 2013 18:42:17 +0000 (13:42 -0500)]
out isn't used

8 years agoNever mind
Dale Weiler [Mon, 25 Nov 2013 18:32:02 +0000 (13:32 -0500)]
Never mind

8 years agoOnly g++ is this retarded
Dale Weiler [Mon, 25 Nov 2013 18:30:45 +0000 (13:30 -0500)]
Only g++ is this retarded

8 years agoAnother one
Dale Weiler [Mon, 25 Nov 2013 18:26:24 +0000 (13:26 -0500)]
Another one

8 years agoPregenerate 2.0 for const folder since it's used often
Dale Weiler [Mon, 25 Nov 2013 18:25:29 +0000 (13:25 -0500)]
Pregenerate 2.0 for const folder since it's used often

8 years agoImplemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builti...
Dale Weiler [Mon, 25 Nov 2013 18:21:27 +0000 (13:21 -0500)]
Implemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builtin_logb. This algorithm is nuts.

8 years agoFix
Dale Weiler [Mon, 25 Nov 2013 16:29:36 +0000 (11:29 -0500)]
Fix

8 years agoImplement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine...
Dale Weiler [Mon, 25 Nov 2013 16:26:16 +0000 (11:26 -0500)]
Implement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine nan, inf and epsilon values (at runtime).

8 years agoFix CRC16
Dale Weiler [Mon, 25 Nov 2013 07:11:45 +0000 (02:11 -0500)]
Fix CRC16

8 years agoFix
Dale Weiler [Sun, 24 Nov 2013 02:17:35 +0000 (21:17 -0500)]
Fix

8 years agoMore compiler intrinsics for math functions
Dale Weiler [Sun, 24 Nov 2013 02:14:13 +0000 (21:14 -0500)]
More compiler intrinsics for math functions

8 years agostrength reduct (a - (-b)) into (a + b)
Dale Weiler [Sat, 23 Nov 2013 18:13:21 +0000 (13:13 -0500)]
strength reduct (a - (-b)) into (a + b)

8 years agoBetter exp algorithm from divVerent
Dale Weiler [Sat, 23 Nov 2013 17:45:22 +0000 (12:45 -0500)]
Better exp algorithm from divVerent

8 years agoFix comments
Dale Weiler [Sat, 23 Nov 2013 16:15:28 +0000 (11:15 -0500)]
Fix comments

8 years agoFixed pow
Dale Weiler [Sat, 23 Nov 2013 16:14:42 +0000 (11:14 -0500)]
Fixed pow

8 years agoGuard against nullfunc
Dale Weiler [Sat, 23 Nov 2013 15:58:03 +0000 (10:58 -0500)]
Guard against nullfunc

8 years agoSome math constants
Dale Weiler [Sat, 23 Nov 2013 15:31:51 +0000 (10:31 -0500)]
Some math constants

8 years agoImplement isinf intrinsic
Dale Weiler [Sat, 23 Nov 2013 15:16:48 +0000 (10:16 -0500)]
Implement isinf intrinsic

8 years agoCull back on the TODO
Dale Weiler [Sat, 23 Nov 2013 13:02:56 +0000 (08:02 -0500)]
Cull back on the TODO

8 years agoUndefine macros after using them
Dale Weiler [Sat, 23 Nov 2013 12:47:16 +0000 (07:47 -0500)]
Undefine macros after using them

8 years agoMark restrict on input too
Dale Weiler [Sat, 23 Nov 2013 12:45:45 +0000 (07:45 -0500)]
Mark restrict on input too

8 years agoMark const for better generated code
Dale Weiler [Sat, 23 Nov 2013 12:44:34 +0000 (07:44 -0500)]
Mark const for better generated code

8 years agoAdd comment abotu CRC16
Dale Weiler [Sat, 23 Nov 2013 12:42:38 +0000 (07:42 -0500)]
Add comment abotu CRC16

8 years agoImplemented exp2 intrinsic
Dale Weiler [Sat, 23 Nov 2013 12:37:26 +0000 (07:37 -0500)]
Implemented exp2 intrinsic

8 years agoSimplify
Dale Weiler [Sat, 23 Nov 2013 12:27:09 +0000 (07:27 -0500)]
Simplify

8 years agoUse '#' in nullfun identifier to prevent it from being used in code
Dale Weiler [Sat, 23 Nov 2013 12:25:24 +0000 (07:25 -0500)]
Use '#' in nullfun identifier to prevent it from being used in code

8 years agoFix intrinsics for self-inclusion of other intrinsics.
Dale Weiler [Sat, 23 Nov 2013 12:21:12 +0000 (07:21 -0500)]
Fix intrinsics for self-inclusion of other intrinsics.

8 years agoCleaner handling since intrin_func deals with alias
Dale Weiler [Sat, 23 Nov 2013 12:02:45 +0000 (07:02 -0500)]
Cleaner handling since intrin_func deals with alias

8 years agoResolve undefined functions to compiler builtins if they exist.
Dale Weiler [Sat, 23 Nov 2013 11:57:40 +0000 (06:57 -0500)]
Resolve undefined functions to compiler builtins if they exist.

8 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sat, 23 Nov 2013 11:41:24 +0000 (06:41 -0500)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

8 years agoFixed pow/exp using fast approximation until the fractional part is hit. Once fractio...
Dale Weiler [Sat, 23 Nov 2013 11:40:27 +0000 (06:40 -0500)]
Fixed pow/exp using fast approximation until the fractional part is hit. Once fractional is reached a binary search is used to get close to the value.

8 years agocrc16 slice-by-8 table generator code included for reference
Wolfgang Bumiller [Sat, 23 Nov 2013 10:58:20 +0000 (11:58 +0100)]
crc16 slice-by-8 table generator code included for reference

8 years agoslice-by-8 crc16
Wolfgang Bumiller [Sat, 23 Nov 2013 10:50:30 +0000 (11:50 +0100)]
slice-by-8 crc16

8 years agoindent
Dale Weiler [Sat, 23 Nov 2013 08:54:11 +0000 (03:54 -0500)]
indent

8 years agoA better mod implementation
Dale Weiler [Sat, 23 Nov 2013 08:53:07 +0000 (03:53 -0500)]
A better mod implementation

8 years agoAdd reference tool
Dale Weiler [Sat, 23 Nov 2013 08:10:09 +0000 (03:10 -0500)]
Add reference tool

8 years agoFaster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis...
Dale Weiler [Sat, 23 Nov 2013 06:00:32 +0000 (01:00 -0500)]
Faster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis and Frank L. Berry from Intel Corp.

8 years agonow it parses and has the desired precedence
Wolfgang Bumiller [Sat, 16 Nov 2013 13:34:24 +0000 (14:34 +0100)]
now it parses and has the desired precedence

8 years ago** precedence was wrong
Wolfgang Bumiller [Sat, 16 Nov 2013 13:26:46 +0000 (14:26 +0100)]
** precedence was wrong

8 years agofolder: change ~ for floats too
Wolfgang Bumiller [Thu, 14 Nov 2013 10:41:11 +0000 (11:41 +0100)]
folder: change ~ for floats too

8 years agoFix unary minus on vector
Dale Weiler [Wed, 13 Nov 2013 13:57:14 +0000 (08:57 -0500)]
Fix unary minus on vector

8 years agoUse a branch instead of math on enum types
Dale Weiler [Wed, 13 Nov 2013 09:57:18 +0000 (04:57 -0500)]
Use a branch instead of math on enum types

8 years agobit more concise
Wolfgang Bumiller [Tue, 12 Nov 2013 15:28:11 +0000 (16:28 +0100)]
bit more concise

8 years agoworking fold_op_cmp implementation
Wolfgang Bumiller [Tue, 12 Nov 2013 15:15:02 +0000 (16:15 +0100)]
working fold_op_cmp implementation