#include "mappings.i"
static builtins _z80_builtins[] = {
- /* Disabled for now.
- { "__builtin_strcpy", "v", 2, {"cg*", "cg*" } },
- { "__builtin_memcpy", "cg*", 3, {"cg*", "cg*", "ui" } },
- */
- { NULL , NULL,0, {NULL}}
+ { "__builtin_memcpy", "vg*", 3, {"vg*", "vg*", "ui" } },
+ { NULL , NULL, 0, {NULL}}
};
static void
test = right;
val = OP_VALUE (IC_RIGHT (ic));
}
+ /* 8x8 unsigned multiplication code is shorter than
+ call overhead for the multiplication routine. */
+ else if ( IS_CHAR (right) && IS_UNSIGNED (right) &&
+ IS_CHAR (left) && IS_UNSIGNED(left) && !IS_GB)
+ {
+ return TRUE;
+ }
else
{
return FALSE;
0, /* leave == */
TRUE, /* Array initializer support. */
0, /* no CSE cost estimation yet */
- _z80_builtins, /* no builtin functions */
+ _z80_builtins, /* builtin functions */
GPOINTER, /* treat unqualified pointers as "generic" pointers */
1, /* reset labelKey to 1 */
1, /* globals & local static allowed */