: ?>
BEGIN
SOURCE >IN @ /STRING 2DUP
S" <?" SEARCH NIP
IF
NIP OVER -
DUP 2 + >IN +!
STATE @ IF
POSTPONE SLITERAL
['] TYPE COMPILE,
ELSE
TYPE
THEN
TRUE
ELSE
DROP
STATE @ IF
POSTPONE SLITERAL
['] TYPE COMPILE,
['] CR COMPILE,
ELSE
TYPE CR
THEN
REFILL 0=
THEN
UNTIL
; IMMEDIATE
:noname ?>
void add_SSE(uint8_t a[static 7], uint8_t b[static 7], uint8_t out[static 7])
{
uint64_t a_64 = 0;
uint64_t b_64 = 0;
<? 7 0 do ?>
a_64 |= (uint64_t)a[ <? i . ?> ] << ( <? i . ?> *9);
b_64 |= (uint64_t)b[ <? i . ?> ] << ( <? i . ?> *9);
<? loop ?>
uint64_t c_64 = a_64 + b_64;
<? 7 0 do ?>
out[ <? i . ?> ] = (uint64_t)c_64 >> ( <? i . ?> *9);
<? loop ?>
} <? ; execute
OiA/PgogIEJFR0lOCiAgICBTT1VSQ0UgPklOIEAgL1NUUklORyAyRFVQCiAgICBTIiA8PyIgU0VBUkNIIE5JUAogICAgSUYKICAgICAgTklQIE9WRVIgLQogICAgICBEVVAgMiArID5JTiArIQogICAgICBTVEFURSBAIElGCiAgICAgICAgUE9TVFBPTkUgU0xJVEVSQUwKICAgICAgICBbJ10gVFlQRSBDT01QSUxFLAogICAgICBFTFNFCiAgICAgICAgVFlQRQogICAgICBUSEVOCiAgICAgIFRSVUUKICAgIEVMU0UKICAgICAgRFJPUCAKICAgICAgU1RBVEUgQCBJRgogICAgICAgIFBPU1RQT05FIFNMSVRFUkFMCiAgICAgICAgWyddIFRZUEUgQ09NUElMRSwKICAgICAgICBbJ10gQ1IgQ09NUElMRSwKICAgICAgRUxTRQogICAgICAgIFRZUEUgQ1IKICAgICAgVEhFTgogICAgICBSRUZJTEwgMD0KICAgIFRIRU4KICBVTlRJTAo7IElNTUVESUFURQoKOm5vbmFtZSA/Pgp2b2lkIGFkZF9TU0UodWludDhfdCBhW3N0YXRpYyA3XSwgdWludDhfdCBiW3N0YXRpYyA3XSwgdWludDhfdCBvdXRbc3RhdGljIDddKQp7CiAgdWludDY0X3QgYV82NCA9IDA7CiAgdWludDY0X3QgYl82NCA9IDA7CiAgPD8gNyAwIGRvID8+CiAgICBhXzY0IHw9ICh1aW50NjRfdClhWyA8PyBpIC4gPz4gXSA8PCAoIDw/IGkgLiA/PiAqOSk7CiAgICBiXzY0IHw9ICh1aW50NjRfdCliWyA8PyBpIC4gPz4gXSA8PCAoIDw/IGkgLiA/PiAqOSk7CiAgPD8gbG9vcCA/PgogIAogIHVpbnQ2NF90IGNfNjQgPSBhXzY0ICsgYl82NDsKICAKICA8PyA3IDAgZG8gPz4KICAgIG91dFsgPD8gaSAuID8+IF0gPSAodWludDY0X3QpY182NCA+PiAoIDw/IGkgLiA/PiAqOSk7CiAgPD8gbG9vcCA/Pgp9IDw/IDsgZXhlY3V0ZQ==