Can you shrink it further?
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 11 08:01:47 PDT 2016
On 10/11/2016 10:49 AM, Matthias Bentrup wrote:
>
> void popFrontAsmIntel(ref char[] s) @trusted pure nothrow {
> immutable c = s[0];
> if (c < 0x80) {
> s = s[1 .. $];
> } else {
> uint l = void;
> asm pure nothrow @nogc {
> mov EAX, 1;
> mov BL, 0xf8-1;
> sub BL, c;
> cmp BL, 0xf8-0xc0;
> adc EAX, 0;
> cmp BL, 0xf8-0xe0;
> adc EAX, 0;
> cmp BL, 0xf8-0xf0;
> adc EAX, 0;
> mov l, EAX;
> }
> s = s[l <= $ ? l : $ .. $];
> }
> }
Did you take a look at the codegen on http://ldc.acomirei.ru? It's huge.
-- Andrei
More information about the Digitalmars-d
mailing list