]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
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.
Dale Weiler [Mon, 25 Nov 2013 16:29:36 +0000 (11:29 -0500)]
Fix
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).
Dale Weiler [Mon, 25 Nov 2013 07:11:45 +0000 (02:11 -0500)]
Fix CRC16
Dale Weiler [Sun, 24 Nov 2013 02:17:35 +0000 (21:17 -0500)]
Fix
Dale Weiler [Sun, 24 Nov 2013 02:14:13 +0000 (21:14 -0500)]
More compiler intrinsics for math functions
Dale Weiler [Sat, 23 Nov 2013 18:13:21 +0000 (13:13 -0500)]
strength reduct (a - (-b)) into (a + b)
Dale Weiler [Sat, 23 Nov 2013 17:45:22 +0000 (12:45 -0500)]
Better exp algorithm from divVerent
Dale Weiler [Sat, 23 Nov 2013 16:15:28 +0000 (11:15 -0500)]
Fix comments
Dale Weiler [Sat, 23 Nov 2013 16:14:42 +0000 (11:14 -0500)]
Fixed pow
Dale Weiler [Sat, 23 Nov 2013 15:58:03 +0000 (10:58 -0500)]
Guard against nullfunc
Dale Weiler [Sat, 23 Nov 2013 15:31:51 +0000 (10:31 -0500)]
Some math constants
Dale Weiler [Sat, 23 Nov 2013 15:16:48 +0000 (10:16 -0500)]
Implement isinf intrinsic
Dale Weiler [Sat, 23 Nov 2013 13:02:56 +0000 (08:02 -0500)]
Cull back on the TODO
Dale Weiler [Sat, 23 Nov 2013 12:47:16 +0000 (07:47 -0500)]
Undefine macros after using them
Dale Weiler [Sat, 23 Nov 2013 12:45:45 +0000 (07:45 -0500)]
Mark restrict on input too
Dale Weiler [Sat, 23 Nov 2013 12:44:34 +0000 (07:44 -0500)]
Mark const for better generated code
Dale Weiler [Sat, 23 Nov 2013 12:42:38 +0000 (07:42 -0500)]
Add comment abotu CRC16
Dale Weiler [Sat, 23 Nov 2013 12:37:26 +0000 (07:37 -0500)]
Implemented exp2 intrinsic
Dale Weiler [Sat, 23 Nov 2013 12:27:09 +0000 (07:27 -0500)]
Simplify
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
Dale Weiler [Sat, 23 Nov 2013 12:21:12 +0000 (07:21 -0500)]
Fix intrinsics for self-inclusion of other intrinsics.
Dale Weiler [Sat, 23 Nov 2013 12:02:45 +0000 (07:02 -0500)]
Cleaner handling since intrin_func deals with alias
Dale Weiler [Sat, 23 Nov 2013 11:57:40 +0000 (06:57 -0500)]
Resolve undefined functions to compiler builtins if they exist.
Dale Weiler [Sat, 23 Nov 2013 11:41:24 +0000 (06:41 -0500)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
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.
Wolfgang Bumiller [Sat, 23 Nov 2013 10:58:20 +0000 (11:58 +0100)]
crc16 slice-by-8 table generator code included for reference
Wolfgang Bumiller [Sat, 23 Nov 2013 10:50:30 +0000 (11:50 +0100)]
slice-by-8 crc16
Dale Weiler [Sat, 23 Nov 2013 08:54:11 +0000 (03:54 -0500)]
indent
Dale Weiler [Sat, 23 Nov 2013 08:53:07 +0000 (03:53 -0500)]
A better mod implementation
Dale Weiler [Sat, 23 Nov 2013 08:10:09 +0000 (03:10 -0500)]
Add reference tool
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.
Wolfgang Bumiller [Sat, 16 Nov 2013 13:34:24 +0000 (14:34 +0100)]
now it parses and has the desired precedence
Wolfgang Bumiller [Sat, 16 Nov 2013 13:26:46 +0000 (14:26 +0100)]
** precedence was wrong
Wolfgang Bumiller [Thu, 14 Nov 2013 10:41:11 +0000 (11:41 +0100)]
folder: change ~ for floats too
Dale Weiler [Wed, 13 Nov 2013 13:57:14 +0000 (08:57 -0500)]
Fix unary minus on vector
Dale Weiler [Wed, 13 Nov 2013 09:57:18 +0000 (04:57 -0500)]
Use a branch instead of math on enum types
Wolfgang Bumiller [Tue, 12 Nov 2013 15:28:11 +0000 (16:28 +0100)]
bit more concise
Wolfgang Bumiller [Tue, 12 Nov 2013 15:15:02 +0000 (16:15 +0100)]
working fold_op_cmp implementation
Wolfgang Bumiller [Tue, 12 Nov 2013 15:05:54 +0000 (16:05 +0100)]
vec3_not: be consistent with compile-time behavior here
Wolfgang Bumiller [Tue, 12 Nov 2013 14:56:04 +0000 (15:56 +0100)]
vec3_pbool: or, not and
Wolfgang Bumiller [Tue, 12 Nov 2013 13:39:25 +0000 (14:39 +0100)]
folder: fix -fperl-logic
Wolfgang Bumiller [Tue, 12 Nov 2013 13:31:11 +0000 (14:31 +0100)]
subtracting != adding
Wolfgang Bumiller [Wed, 6 Nov 2013 15:57:04 +0000 (16:57 +0100)]
fix 0-x being turned into x
Wolfgang Bumiller [Thu, 31 Oct 2013 21:17:53 +0000 (22:17 +0100)]
regular procedure... bumping PKGBUILDs, GMQCC_VERSION macros, adding back GMQCC_VERSION_TYPE_DEVEL
Wolfgang Bumiller [Thu, 31 Oct 2013 21:13:42 +0000 (22:13 +0100)]
0.3.5 commit
Dale Weiler [Thu, 31 Oct 2013 12:22:54 +0000 (08:22 -0400)]
Merge branch 'cooking'
Wolfgang Bumiller [Mon, 28 Oct 2013 10:37:08 +0000 (11:37 +0100)]
Nothing in there requires unistd.h
Wolfgang Bumiller [Sun, 27 Oct 2013 19:11:41 +0000 (20:11 +0100)]
Revert "oh my god, make it stop >.<"
This reverts commit
a120209567913afa4b1ad4224988bc5ad1091b4f .
Wolfgang Bumiller [Sun, 27 Oct 2013 18:19:11 +0000 (19:19 +0100)]
oh my god, make it stop >.<
Wolfgang Bumiller [Fri, 25 Oct 2013 11:40:31 +0000 (13:40 +0200)]
fold_binary now used instead of ast_binary_new, which calls fold_superfluous
Dale Weiler [Thu, 24 Oct 2013 15:56:23 +0000 (11:56 -0400)]
Disable it on master too since Xonotic compiles are failing.
Wolfgang Bumiller [Wed, 23 Oct 2013 12:04:20 +0000 (14:04 +0200)]
build again
Wolfgang Bumiller [Wed, 23 Oct 2013 12:01:56 +0000 (14:01 +0200)]
This is not allowed
Dale Weiler [Sun, 20 Oct 2013 03:39:37 +0000 (23:39 -0400)]
Some correctly-sized type flags for the AST and IR, this culls back memory usage a little.
Dale Weiler [Sat, 19 Oct 2013 06:53:46 +0000 (02:53 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sat, 19 Oct 2013 06:52:47 +0000 (02:52 -0400)]
Make preprocessor predefs use their own context opposed to the lexer context.
Wolfgang Bumiller [Fri, 18 Oct 2013 14:28:28 +0000 (16:28 +0200)]
type and argument parsing improved to handle the field/vararg ambiguity; tests added
Dale Weiler [Fri, 18 Oct 2013 09:37:26 +0000 (05:37 -0400)]
We're doing it this way.
Wolfgang Bumiller [Fri, 18 Oct 2013 09:26:41 +0000 (11:26 +0200)]
replacing the current [[accumulate]] implementation: shorter and simpler, and also supports non-void return types
Dale Weiler [Fri, 18 Oct 2013 00:35:56 +0000 (20:35 -0400)]
Fix
Dale Weiler [Fri, 18 Oct 2013 00:34:16 +0000 (20:34 -0400)]
Undo fix and actually use a macro in the accumulation test .. just incase.
Dale Weiler [Fri, 18 Oct 2013 00:25:02 +0000 (20:25 -0400)]
Does this fix it?
Dale Weiler [Thu, 17 Oct 2013 09:17:30 +0000 (05:17 -0400)]
Implement support for octal constants, this closes #97.
Dale Weiler [Thu, 17 Oct 2013 09:06:09 +0000 (05:06 -0400)]
Fix 'declaration does not declare anything' regression i.e this closes #132.
Dale Weiler [Thu, 17 Oct 2013 08:45:24 +0000 (04:45 -0400)]
Ignore generating a return instruction in accumulated functions, eventually we'll have a way to merge these into one function but for now the RETURN is a waste.
Dale Weiler [Thu, 17 Oct 2013 08:27:34 +0000 (04:27 -0400)]
Update deps
Dale Weiler [Thu, 17 Oct 2013 08:23:53 +0000 (04:23 -0400)]
Cleaner traces
Dale Weiler [Thu, 17 Oct 2013 08:21:25 +0000 (04:21 -0400)]
Fix memory dump console printing alignment and also trace expressions for allocations.
Dale Weiler [Thu, 17 Oct 2013 07:47:26 +0000 (03:47 -0400)]
Use "##" to ensure the names of the accumulated functions are striped by the IR.
Dale Weiler [Thu, 17 Oct 2013 07:44:33 +0000 (03:44 -0400)]
Update changes
Dale Weiler [Thu, 17 Oct 2013 07:43:05 +0000 (03:43 -0400)]
Add a test for function accumulation attribute
Dale Weiler [Thu, 17 Oct 2013 07:39:14 +0000 (03:39 -0400)]
Enforce void type on accumulatable functions.
Dale Weiler [Thu, 17 Oct 2013 07:21:30 +0000 (03:21 -0400)]
Implemented [[accumulate]] attribute. This will hopefully be used by Xonotic to replace it's ACCUMULATE_FUNCTION stuff.
Dale Weiler [Thu, 17 Oct 2013 04:18:07 +0000 (00:18 -0400)]
Use .dat extension on generated binaries in testsuite to prevent them from being sourced as task template files. This will fix the async builds on travis.ci
Dale Weiler [Thu, 17 Oct 2013 04:14:42 +0000 (00:14 -0400)]
Fix handling on intrinsic folding, this closes #118.
Dale Weiler [Thu, 17 Oct 2013 03:37:39 +0000 (23:37 -0400)]
Prevent aliasing functions through forward declared prototypes. This closes #125
Dale Weiler [Thu, 17 Oct 2013 01:47:12 +0000 (21:47 -0400)]
Another one
Dale Weiler [Thu, 17 Oct 2013 01:32:31 +0000 (21:32 -0400)]
float and double shouldn't be used here, this is what qcfloat_t is for. This fixes the memcmp bug in the folder.
Dale Weiler [Thu, 17 Oct 2013 00:14:49 +0000 (20:14 -0400)]
Fix option string allocated/non allocated storage.
Dale Weiler [Wed, 16 Oct 2013 23:54:21 +0000 (19:54 -0400)]
Make it valid C++ code, such that it can compile as C++ code.
Dale Weiler [Wed, 16 Oct 2013 04:04:39 +0000 (00:04 -0400)]
Some intrinsic code cleanup. The args check is handled anyways in the parser. We use a generated array alongside to prevent generating the intrinsic multiple times instead of using static storage. Other various cleanups as well.
Dale Weiler [Tue, 15 Oct 2013 02:40:36 +0000 (22:40 -0400)]
divVerent suggestion to use memcmp here
Dale Weiler [Tue, 15 Oct 2013 02:31:37 +0000 (22:31 -0400)]
Make divVerent happy about handling divison by zero/inf/nan and negitive versions. This code now assumes IEEE 754.
Dale Weiler [Tue, 15 Oct 2013 01:03:24 +0000 (21:03 -0400)]
Clang is so anal
Dale Weiler [Tue, 15 Oct 2013 00:58:36 +0000 (20:58 -0400)]
Cleanups
Dale Weiler [Mon, 14 Oct 2013 06:17:45 +0000 (02:17 -0400)]
Cleanup for builds
Wolfgang Bumiller [Fri, 11 Oct 2013 13:53:53 +0000 (15:53 +0200)]
who let the cat out?
Dale Weiler [Fri, 11 Oct 2013 13:51:08 +0000 (09:51 -0400)]
Fix windows builds, add strip target for makefiles, update distro build makefiles to use it for release builds.
Dale Weiler [Fri, 11 Oct 2013 13:32:46 +0000 (09:32 -0400)]
Some cleanups
Dale Weiler [Fri, 11 Oct 2013 12:14:37 +0000 (08:14 -0400)]
Update README
Wolfgang Bumiller [Fri, 11 Oct 2013 12:11:40 +0000 (14:11 +0200)]
Merge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Fri, 11 Oct 2013 12:10:57 +0000 (14:10 +0200)]
Merge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Fri, 11 Oct 2013 12:10:47 +0000 (14:10 +0200)]
first part of parsing TOKEN_DOTS as part of a type when needed; allows declarations like: ...float x;
Dale Weiler [Fri, 11 Oct 2013 12:10:32 +0000 (08:10 -0400)]
Update dependencies
Dale Weiler [Fri, 11 Oct 2013 12:08:36 +0000 (08:08 -0400)]
I need to test this code on msvc now.
Dale Weiler [Fri, 11 Oct 2013 12:06:10 +0000 (08:06 -0400)]
Fix that (newer clang will fail on it)
Dale Weiler [Fri, 11 Oct 2013 12:04:02 +0000 (08:04 -0400)]
Merge branch 'cleanup' into cooking
Dale Weiler [Fri, 11 Oct 2013 12:02:28 +0000 (08:02 -0400)]
Last piece of documentation for platform.h
Dale Weiler [Fri, 11 Oct 2013 11:40:31 +0000 (07:40 -0400)]
More documentation for platform.h