#include "main_globals.h"
#include "guest_generic_bb_to_IR.h"
#include "guest_s390_defs.h"
-#include "host_s390_defs.h" /* S390_ROUND_xyzzy */
+#include "host_s390_defs.h" /* S390_BFP_ROUND_xyzzy */
void
LibVEX_GuestS390X_initialise(VexGuestS390XState *state)
ULong
s390x_dirtyhelper_STCK(ULong *addr)
{
- int cc;
+ UInt cc;
asm volatile("stck %0\n"
"ipm %1\n"
ULong
s390x_dirtyhelper_STCKE(ULong *addr)
{
- int cc;
+ UInt cc;
asm volatile("stcke %0\n"
"ipm %1\n"
ULong s390x_dirtyhelper_STCKF(ULong *addr)
{
- int cc;
+ UInt cc;
asm volatile(".insn s,0xb27c0000,%0\n"
"ipm %1\n"
#include "guest_generic_bb_to_IR.h" /* DisResult */
#include "guest_s390_defs.h" /* prototypes for this file's functions */
#include "s390_disasm.h"
-#include "host_s390_defs.h" /* S390_ROUND_xyzzy */
+#include "host_s390_defs.h" /* S390_BFP_ROUND_xyzzy */
/*------------------------------------------------------------*/
static void
s390_irgen_EX_SS(UChar r, IRTemp addr2,
void (*irgen)(IRTemp length, IRTemp start1, IRTemp start2),
- int lensize)
+ UInt lensize)
{
struct SS {
unsigned int op : 8;
/* To store the bytes construct 4 dirty helper calls. The helper calls
are guarded (num_bytes == 1, num_bytes == 2, etc) such that only
one of them will be called at runtime. */
- int i;
+ UInt i;
for (i = 1; i <= 4; ++i) {
IRDirty *d;
/* To store the bytes construct 4 dirty helper calls. The helper calls
are guarded (num_bytes == 1, num_bytes == 2, etc) such that only
one of them will be called at runtime. */
- int i;
+ UInt i;
for (i = 1; i <= 4; ++i) {
IRDirty *d;
vassert(sizeof(formats) == 2);
- ((char *)(&ovl.value))[0] = bytes[0];
- ((char *)(&ovl.value))[1] = bytes[1];
+ ((UChar *)(&ovl.value))[0] = bytes[0];
+ ((UChar *)(&ovl.value))[1] = bytes[1];
switch (ovl.value & 0xffff) {
case 0x0101: /* PR */ goto unimplemented;
vassert(sizeof(formats) == 4);
- ((char *)(&ovl.value))[0] = bytes[0];
- ((char *)(&ovl.value))[1] = bytes[1];
- ((char *)(&ovl.value))[2] = bytes[2];
- ((char *)(&ovl.value))[3] = bytes[3];
+ ((UChar *)(&ovl.value))[0] = bytes[0];
+ ((UChar *)(&ovl.value))[1] = bytes[1];
+ ((UChar *)(&ovl.value))[2] = bytes[2];
+ ((UChar *)(&ovl.value))[3] = bytes[3];
switch ((ovl.value & 0xff0f0000) >> 16) {
case 0xa500: s390_format_RI_RU(s390_irgen_IIHH, ovl.fmt.RI.r1,
vassert(sizeof(formats) == 6);
- ((char *)(&ovl.value))[0] = bytes[0];
- ((char *)(&ovl.value))[1] = bytes[1];
- ((char *)(&ovl.value))[2] = bytes[2];
- ((char *)(&ovl.value))[3] = bytes[3];
- ((char *)(&ovl.value))[4] = bytes[4];
- ((char *)(&ovl.value))[5] = bytes[5];
- ((char *)(&ovl.value))[6] = 0x0;
- ((char *)(&ovl.value))[7] = 0x0;
+ ((UChar *)(&ovl.value))[0] = bytes[0];
+ ((UChar *)(&ovl.value))[1] = bytes[1];
+ ((UChar *)(&ovl.value))[2] = bytes[2];
+ ((UChar *)(&ovl.value))[3] = bytes[3];
+ ((UChar *)(&ovl.value))[4] = bytes[4];
+ ((UChar *)(&ovl.value))[5] = bytes[5];
+ ((UChar *)(&ovl.value))[6] = 0x0;
+ ((UChar *)(&ovl.value))[7] = 0x0;
switch ((ovl.value >> 16) & 0xff00000000ffULL) {
case 0xe30000000002ULL: s390_format_RXY_RRRD(s390_irgen_LTG, ovl.fmt.RXY.r1,
}
-/* Return 1, if EXPR represents the cosntant 0 */
-static int
+/* Return 1, if EXPR represents the constant 0 */
+static Bool
s390_expr_is_const_zero(IRExpr *expr)
{
ULong value;
/*---------------------------------------------------------*/
static void
-iselNext(ISelEnv *env, IRExpr *next, IRJumpKind jk, int offsIP)
+iselNext(ISelEnv *env, IRExpr *next, IRJumpKind jk, Int offsIP)
{
if (vex_traceflags & VEX_TRACE_VCODE) {
vex_printf("\n-- PUT(%d) = ", offsIP);