| Summary: | de-spacer demo algorithm | ||
|---|---|---|---|
| Product: | Libre-SOC's first SoC | Reporter: | Luke Kenneth Casson Leighton <lkcl> |
| Component: | Source Code | Assignee: | Luke Kenneth Casson Leighton <lkcl> |
| Status: | CONFIRMED --- | ||
| Severity: | enhancement | CC: | libre-soc-bugs |
| Priority: | --- | ||
| Version: | unspecified | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| URL: | https://lemire.me/blog/2017/01/20/how-quickly-can-you-remove-spaces-from-a-string/ | ||
| See Also: |
https://bugs.libre-soc.org/show_bug.cgi?id=659 https://bugs.libre-soc.org/show_bug.cgi?id=242 https://bugs.libre-soc.org/show_bug.cgi?id=213 https://bugs.libre-soc.org/show_bug.cgi?id=252 |
||
| NLnet milestone: | --- | total budget (EUR) for completion of task and all subtasks: | 0 |
| budget (EUR) for this task, excluding subtasks' budget: | 0 | parent task for budget allocation: | |
| child tasks for budget allocation: | The table of payments (in EUR) for this task; TOML format: | ||
| Bug Depends on: | |||
| Bug Blocks: | 952, 953, 213 | ||
|
Description
Luke Kenneth Casson Leighton
2022-07-30 22:38:29 BST
this one should be possible to do with three sv.cmpi's for each character (space, backslash, newline) followed by a crweird ORing them all together into an INT, which is then popcnt'd to find the number of bits actually copied using a VCOMPRESS mv (or ST). another way might be to use sv.bc CTR mode which should automatically decrement CTR by the number of bits in the predicate, saving on a popcnt. |