Tony Finch
21a383a8fd
General-purpose unrolled ASCII tolower() loops
...
When converting a string to lower case, the compiler is able to
autovectorize nicely, so a nice simple implementation is also very
fast, comparable to memcpy().
Comparisons are more difficult for the compiler, so we convert eight
bytes at a time using "SIMD within a register" tricks. Experiments
indicate it's best to stick to simple loops for shorter strings and
the remainder of long strings.
2022-09-12 12:18:57 +01:00
..
2022-09-08 09:15:30 +02:00
2022-09-12 12:18:57 +01:00
2022-04-04 19:27:00 +02:00
2022-08-26 09:09:24 +02:00
2022-05-25 14:44:32 +02:00
2022-08-26 09:09:24 +02:00
2022-08-26 09:09:24 +02:00
2022-08-26 09:09:24 +02:00
2022-09-12 12:18:57 +01:00
2022-03-25 08:33:43 +01:00
2022-08-09 08:19:51 +00:00
2022-07-14 16:31:01 -07:00
2022-04-01 23:50:34 +02:00
2022-04-04 19:27:00 +02:00
2022-03-25 08:33:43 +01:00
2022-08-09 08:19:51 +00:00
2022-08-31 11:33:25 -07:00
2022-03-25 08:33:43 +01:00
2022-05-23 11:36:36 +02:00
2022-05-13 13:31:17 +02:00
2022-08-25 17:17:07 +02:00
2022-03-25 08:33:43 +01:00
2022-06-09 10:47:04 +00:00
2022-03-04 14:13:58 +01:00
2022-03-18 15:06:31 +00:00
2022-03-25 08:33:43 +01:00
2022-03-25 08:33:43 +01:00
2022-06-01 13:00:40 +01:00
2022-06-28 11:56:31 +02:00
2022-06-28 11:56:31 +02:00
2022-07-05 12:29:01 +10:00
2022-07-13 00:14:13 +00:00
2022-08-09 08:19:51 +00:00
2022-08-26 09:09:24 +02:00
2022-09-06 12:47:08 +00:00
2022-09-12 12:18:57 +01:00
2022-08-09 08:19:51 +00:00
2022-08-23 11:01:31 +02:00
2022-08-22 15:55:46 +02:00
2022-08-26 09:09:24 +02:00
2022-07-18 13:38:47 +02:00
2022-07-18 13:38:47 +02:00
2022-03-25 08:33:43 +01:00
2022-03-17 18:27:45 +01:00
2022-07-25 10:32:13 -04:00
2022-03-25 08:33:43 +01:00
2022-03-25 08:33:43 +01:00
2022-07-15 10:33:46 +00:00
2022-05-02 19:47:58 +01:00
2022-09-12 12:18:57 +01:00
2022-05-03 00:41:42 +01:00
2022-09-12 12:18:57 +01:00
2022-09-12 12:18:57 +01:00
2022-08-09 08:19:51 +00:00
2022-06-01 13:00:40 +01:00
2022-05-03 12:38:59 +00:00
2022-08-09 08:19:51 +00:00
2022-08-26 09:09:24 +02:00
2022-05-03 12:38:59 +00:00
2022-08-31 08:56:03 +00:00
2022-09-08 09:15:30 +02:00
2022-08-25 17:17:07 +02:00
2022-09-12 12:18:57 +01:00
2022-03-25 08:33:43 +01:00
2022-04-04 19:27:00 +02:00
2022-03-25 08:33:43 +01:00
2022-05-28 14:53:02 -07:00
2022-05-03 12:38:59 +00:00
2022-08-16 07:36:12 +00:00
2022-05-03 17:15:43 +03:00
2022-03-25 08:33:43 +01:00
2022-08-09 08:19:51 +00:00
2022-09-12 12:18:57 +01:00
2022-04-01 23:50:34 +02:00
2022-05-13 13:36:10 -07:00
2022-08-26 09:09:24 +02:00
2022-09-06 12:47:08 +00:00
2022-08-26 09:09:24 +02:00
2022-05-02 21:11:12 +01:00