quakeforge/tools/qfcc/source
Bill Currie 3e142534c9 [qfcc] Clean up multi-vector addition and subtraction
Subtraction is implemented as adding a negative (with the plan of
optimizing it later). The idea is to give tree inspection and
manipulation a more consistent view without having to worry about
addition vs subtraction.

Negation is moved as high as possible in the expression, but is always
below an extend expression. The plane here is that the manipulation code
can bypass an alias-add-extend combo and see the negation.
2023-09-02 11:18:50 +09:00
..
.indent.pro indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
algebra.c [qfcc] Fix some more multi-vectors type issues 2023-08-30 15:45:44 +09:00
attribute.c [qfcc] Support multiple parameters for attributes 2023-08-25 22:13:54 +09:00
class.c [qfcc] Differentiate symtabs by intended use 2023-02-14 12:45:04 +09:00
codespace.c [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
constfold.c [qfcc] Correct handling of 64-bit comparisons 2023-08-26 23:04:34 +09:00
cpp.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dags.c [qfcc] Search for alias nodes 2023-09-02 10:43:32 +09:00
debug.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
def.c [qfcc] Fix adjusted swizzles for the same def 2023-08-26 23:08:55 +09:00
defspace.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
diagnostic.c [qfcc] Include C function in diagnostic messages 2023-08-21 17:47:55 +09:00
disassemble.c [gamecode] Rename parm to param 2022-01-27 10:55:06 +09:00
dot.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
dot_dag.c [qfcc] Keep track of reachable dag nodes 2021-06-29 09:41:03 +09:00
dot_expr.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
dot_flow.c [qfcc] Create du-chains from ud-chains 2023-06-04 11:24:52 +09:00
dot_sblock.c [qfcc] Make it a little easier to see extra info 2021-12-27 14:15:51 +09:00
dot_type.c [gamecode] Rename ev_pointer to ev_ptr 2022-01-18 14:36:06 +09:00
dump_globals.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
dump_lines.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_modules.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_strings.c [qfprogs] Dump hex for non-ascii chars 2022-12-10 21:53:00 +09:00
emit.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
evaluate.c [qfcc] Use the progs VM to help with constant folding 2023-08-21 17:47:55 +09:00
expr.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
expr_algebra.c [qfcc] Clean up multi-vector addition and subtraction 2023-09-02 11:18:50 +09:00
expr_assign.c [qfcc] Use scatter-gather for multivec expressions 2023-08-23 15:38:32 +09:00
expr_binary.c [gamecode] Switch dot products to give a scalar 2023-08-31 15:32:52 +09:00
expr_bool.c [qfcc] Handle more vector type tests 2023-08-30 14:52:38 +09:00
expr_cast.c [qfcc] Correct handling of 64-bit comparisons 2023-08-26 23:04:34 +09:00
expr_compound.c [qfcc] Implement designated initializers 2023-05-27 12:47:33 +09:00
expr_obj.c [qfcc] Make is_function_call a little more useful 2022-02-05 19:30:08 +09:00
expr_vector.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
flow.c [qfcc] Handle aliased temps better 2023-09-01 11:59:47 +09:00
function.c [qfcc] Fix declarators for pointers/functions/arrays 2023-03-09 02:22:23 +09:00
grab.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
idstuff.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
linker.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
Makemodule.am [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
method.c [qfcc] Don't free duplicate method when merging 2022-09-19 16:39:25 +01:00
obj_file.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
obj_type.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
opcodes.c [qfcc] Always initialize Ruamoko opcodes 2023-09-01 14:40:05 +09:00
options.c [qfcc] Clean up default option handling 2023-09-01 14:18:54 +09:00
pragma.c [qfcc] Allow #pragma to control warning options 2023-08-26 23:47:00 +09:00
qc-lex.l [qfcc] Add some basic 3d PGA tests 2023-08-30 17:32:02 +09:00
qc-parse.y [qfcc] Implement the regressive product 2023-08-28 20:35:03 +09:00
qfcc.c [qfcc] Clean up default option handling 2023-09-01 14:18:54 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c [util] Support utf-8 strings in Sys_Printf 2023-08-23 21:40:50 +09:00
qp-lex.l [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
qp-parse.y [qfcc] Use a hidden local variable for pascal functions 2022-02-01 16:08:58 +09:00
reloc.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
shared.c [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
statements.c [qfcc] Handle aliased temps better 2023-09-01 11:59:47 +09:00
strpool.c [qfcc] Ensure non-unicode char string is terminated 2022-12-10 21:53:45 +09:00
struct.c [qfcc] Apply member alignment to union size 2023-08-29 08:25:19 +09:00
stub.c [qfcc] Use scatter-gather for multivec expressions 2023-08-23 15:38:32 +09:00
switch.c [qfcc] Rework the functionality of address expressions 2022-01-25 23:39:17 +09:00
symtab.c [qfcc] Allow symbol tables to have procedural symbols 2023-08-21 17:47:55 +09:00
type.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
value.c [qfcc] Use the progs VM to help with constant folding 2023-08-21 17:47:55 +09:00