#include "config.h"
#include "exec.h"
+#include "host-utils.h"
#include "op_helper.h"
#define MEMSUFFIX _raw
#include "op_mem.h"
#if !defined(CONFIG_USER_ONLY)
-#define MEMSUFFIX _user
-#include "op_mem.h"
#define MEMSUFFIX _kernel
#include "op_mem.h"
-/* Those are used for supervisor, executive and pal modes */
+#define MEMSUFFIX _executive
+#include "op_mem.h"
+#define MEMSUFFIX _supervisor
+#include "op_mem.h"
+#define MEMSUFFIX _user
+#include "op_mem.h"
+/* This is used for pal modes */
#define MEMSUFFIX _data
#include "op_mem.h"
#endif
void OPPROTO op_mulq (void)
{
- T0 *= T1;
+ T0 = (int64_t)T0 * (int64_t)T1;
RETURN();
}
void OPPROTO op_umulh (void)
{
- helper_umulh();
+ uint64_t tl, th;
+
+ mulu64(&tl, &th, T0, T1);
+ T0 = th;
RETURN();
}