132 Commits

Author SHA1 Message Date
Justin Viiret
d94bf2fd62 fdr_confirm_compile: wrap comment 2017-08-21 10:39:00 +10:00
Justin Viiret
2b9b2ca911 fdr/teddy: remove padding from structures 2017-08-21 10:39:00 +10:00
Justin Viiret
71bd1c8dfe teddy: clean up compile to match fdr style 2017-08-21 10:39:00 +10:00
Justin Viiret
e9d85f7b51 fdr_confirm: renumber FDR_LIT_FLAG_NOREPEAT 2017-08-21 10:39:00 +10:00
Justin Viiret
b126cbf556 fdr/teddy: simplify computing of confirm base 2017-08-21 10:39:00 +10:00
Justin Viiret
06bafae81d fdr_confirm: clean up use of flags 2017-08-21 10:39:00 +10:00
Justin Viiret
c878d5ec66 fdr: further tidy up layout 2017-08-21 10:39:00 +10:00
Justin Viiret
549062ec2b fdr_confirm: start FDRConfirm structs at cacheline 2017-08-21 10:38:59 +10:00
Justin Viiret
4f32a167d5 teddy: align major structures to cachelines 2017-08-21 10:38:59 +10:00
Justin Viiret
9bdd370163 fdr: align major structures to cachelines 2017-08-21 10:38:59 +10:00
Justin Viiret
c36c071564 fdr_confirm: remove dead flags
- Caseless was unused
 - NoFlags is a bit redundant
2017-08-21 10:38:59 +10:00
Justin Viiret
e8c0b5685f fdr_confirm: remove complex confirm 2017-08-21 10:38:59 +10:00
Justin Viiret
dedfc34515 fdr_confirm_compile: fix bug in table sizing 2017-06-15 15:41:30 +10:00
Matthew Barr
f6b688fc06 rename pshufb to pshufb_m128 2017-05-30 13:59:23 +10:00
Matthew Barr
a295c96198 rename vpshufb to pshufb_m256 2017-05-30 13:59:23 +10:00
Justin Viiret
d4146059db bytecode_ptr: add shrink() member function 2017-04-26 15:19:43 +10:00
Justin Viiret
63fe84c3f1 bytecode_ptr: add make_zeroed_bytecode_ptr
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
d9bac2bdb3 teddy: fix forward decl (namespace ue2) 2017-04-26 15:19:36 +10:00
Justin Viiret
3590f73151 fdr: use bytecode_ptr in fdr/teddy compilers 2017-04-26 15:19:36 +10:00
Justin Viiret
2698e534e4 fdr_confirm_compile: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
97516eccb6 fdr: use bytecode_ptr internally 2017-04-26 15:19:35 +10:00
Justin Viiret
1ef87c43ee noncopyable: switch over from boost 2017-04-26 15:18:26 +10:00
Matthew Barr
cd418ea6a8 Wrapper for system intrin header 2017-04-26 15:18:26 +10:00
Matthew Barr
8201183138 Check compiler architecture flags in one place 2017-04-26 15:18:26 +10:00
Wang, Xiang W
448ce8a496 UE-3098: add unaligned load for andn without BMI 2017-04-26 15:17:03 +10:00
Wang, Xiang W
ffab97ca8c FDR: delete dead confirm code 2017-04-26 15:16:27 +10:00
Wang, Xiang W
90216921b0 FDR: front end loop improvement 2017-04-26 15:11:10 +10:00
Justin Viiret
1be1293491 fdr: add grey box control for flood detection 2017-04-26 14:59:22 +10:00
Matthew Barr
9363ae7486 Clear upper half of AVX register before libm call
Clearing the upper half of the AVX register is required before calling SSE
code to avoid AVX-to-SSE transition penalties.
2017-04-26 14:59:22 +10:00
Alex Coyte
8af4850d85 remove 'fast teddy' models 2017-04-26 14:43:43 +10:00
Justin Viiret
05b5265aff fdr: remove dead code to do with link structures 2017-04-26 14:43:43 +10:00
Wang, Xiang W
df7bc22ae0 fdr: remove confirm split and pull-back 2017-04-26 14:43:09 +10:00
Justin Viiret
a55bbe657c fdr: remove clamp on confirm size 2017-04-26 14:41:30 +10:00
Justin Viiret
12edb07f6e fdr_compile: remove dead var 2017-04-26 14:41:29 +10:00
Justin Viiret
7984b26b14 fdr: rely on fixed size confirm structures 2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda fdr: simplify confirm for 8-byte fragments 2017-04-26 14:41:29 +10:00
Justin Viiret
07a6b6510c rose/hwlm: limit literals to eight bytes
Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.
2017-04-26 14:41:29 +10:00
Justin Viiret
22edaad1dd fdr: compile algo/heuristics improvements
These changes fix a small bug in the algorithm used for bucket
assignment in FDR's compile process, and also tweak a few of the
heuristics governing it.
2017-04-26 14:41:29 +10:00
Justin Viiret
f7cc8a618d fdr: reduce confirm size to a u8
Also removes the flexible array member from the LitInfo structure.
2016-10-28 14:52:52 +11:00
Justin Viiret
68bf473e2e fdr: move long literal handling into Rose
Move the hash table used for long literal support in streaming mode from
FDR to Rose, and introduce new instructions CHECK_LONG_LIT and
CHECK_LONG_LIT_NOCASE for doing literal confirm for long literals.

This simplifies FDR confirm, and guarantees that HWLM matchers will only
be used for literals < 256 bytes long.
2016-10-28 14:52:26 +11:00
Matthew Barr
89ddb85637 Remove enum typedef 2016-08-10 15:07:01 +10:00
Matthew Barr
cbd115f7fe Don't shadow names 2016-08-10 15:06:57 +10:00
Justin Viiret
04634f2e87 flood_compile: escape chars in debugging 2016-08-10 15:06:05 +10:00
Justin Viiret
3d9a60d023 teddy: apply poison mask after prep_conf_ work
This simplifies the code, and removes all the all-ones p_mask uses,
which we were otherwise trusting the optimizer to remove.
2016-08-10 15:05:23 +10:00
Justin Viiret
9346a9090e fdr: remove groups from struct FDR_Runtime_Args 2016-08-10 14:55:52 +10:00
Justin Viiret
42f23c2c91 teddy: no need to write control out at the end 2016-08-10 14:55:51 +10:00
Justin Viiret
b6a77b7329 teddy: remove extra control ptr 2016-08-10 14:55:51 +10:00
Justin Viiret
85f049edb2 fdr: remove extra control ptr 2016-08-10 14:55:51 +10:00
Matthew Barr
e3d416a6ea Apply some consistency to the names we give shifts 2016-07-08 11:07:50 +10:00
Matthew Barr
1b3e795fc9 teddy: we only need the upper lane
Just use an extract, no need to shuffle first.
2016-07-08 11:07:50 +10:00