X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=target-openrisc%2Fhelper.h;h=2af97901ce88903fe2135547d54c91d6ca4ae1d6;hb=60aad298cb6de52f2716b2e82e1353ea9de95fd6;hp=7ced5eaaec4ba43d52f02c6787cdd9e4ac6ebd46;hpb=b6a71ef7e01bcac7aeb47d8de4082704fbc6479c;p=qemu.git diff --git a/target-openrisc/helper.h b/target-openrisc/helper.h index 7ced5eaae..2af97901c 100644 --- a/target-openrisc/helper.h +++ b/target-openrisc/helper.h @@ -17,9 +17,54 @@ * License along with this library; if not, see . */ -#include "def-helper.h" +#include "exec/def-helper.h" + +/* exception */ +DEF_HELPER_FLAGS_2(exception, 0, void, env, i32) + +/* float */ +DEF_HELPER_FLAGS_2(itofd, 0, i64, env, i64) +DEF_HELPER_FLAGS_2(itofs, 0, i32, env, i32) +DEF_HELPER_FLAGS_2(ftoid, 0, i64, env, i64) +DEF_HELPER_FLAGS_2(ftois, 0, i32, env, i32) + +#define FOP_MADD(op) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _s, 0, i32, env, i32, i32) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _d, 0, i64, env, i64, i64) +FOP_MADD(muladd) +#undef FOP_MADD + +#define FOP_CALC(op) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _s, 0, i32, env, i32, i32) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _d, 0, i64, env, i64, i64) +FOP_CALC(add) +FOP_CALC(sub) +FOP_CALC(mul) +FOP_CALC(div) +FOP_CALC(rem) +#undef FOP_CALC + +#define FOP_CMP(op) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _s, 0, i32, env, i32, i32) \ +DEF_HELPER_FLAGS_3(float_ ## op ## _d, 0, i64, env, i64, i64) +FOP_CMP(eq) +FOP_CMP(lt) +FOP_CMP(le) +FOP_CMP(ne) +FOP_CMP(gt) +FOP_CMP(ge) +#undef FOP_CMP + +/* int */ +DEF_HELPER_FLAGS_1(ff1, 0, tl, tl) +DEF_HELPER_FLAGS_1(fl1, 0, tl, tl) +DEF_HELPER_FLAGS_3(mul32, 0, i32, env, i32, i32) /* interrupt */ DEF_HELPER_FLAGS_1(rfe, 0, void, env) -#include "def-helper.h" +/* sys */ +DEF_HELPER_FLAGS_4(mtspr, 0, void, env, tl, tl, tl) +DEF_HELPER_FLAGS_4(mfspr, 0, tl, env, tl, tl, tl) + +#include "exec/def-helper.h"