projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[runtime] Add explicit (float) casts to test_0_float_precision () to make the test...
[mono.git]
/
mono
/
mini
/
support-s390x.h
diff --git
a/mono/mini/support-s390x.h
b/mono/mini/support-s390x.h
index 3ae4c48572a4c47c1d001de7d4c09191c1167ac0..8856f7745af768d911a88c4fe08150c737c7b56e 100644
(file)
--- a/
mono/mini/support-s390x.h
+++ b/
mono/mini/support-s390x.h
@@
-1,11
+1,19
@@
+/**
+ * \file
+ */
+
#ifndef __MONO_SUPPORT_S390X_H__
#define __MONO_SUPPORT_S390X_H__
#define S390_SET(loc, dr, v) \
do { \
guint64 val = (guint64) v; \
#ifndef __MONO_SUPPORT_S390X_H__
#define __MONO_SUPPORT_S390X_H__
#define S390_SET(loc, dr, v) \
do { \
guint64 val = (guint64) v; \
- if (s390_is_uimm16(val)) { \
+ if (s390_is_imm16(val)) { \
+ s390_lghi(loc, dr, val); \
+ } else if (s390_is_uimm16(val)) { \
s390_llill(loc, dr, val); \
s390_llill(loc, dr, val); \
+ } else if (s390_is_imm32(val)) { \
+ s390_lgfi(loc, dr, val); \
} else if (s390_is_uimm32(val)) { \
s390_llilf(loc, dr, val); \
} else { \
} else if (s390_is_uimm32(val)) { \
s390_llilf(loc, dr, val); \
} else { \
@@
-21,11
+29,9
@@
s390_##opy (loc, r, ix, br, off); \
} else { \
if (ix == 0) { \
s390_##opy (loc, r, ix, br, off); \
} else { \
if (ix == 0) { \
-fprintf(stderr,"\nS390_LONG - no index - r: %d br: %d off: %d\n",r,br,off); \
S390_SET(loc, s390_r13, off); \
s390_la (loc, s390_r13, s390_r13, br, 0); \
} else { \
S390_SET(loc, s390_r13, off); \
s390_la (loc, s390_r13, s390_r13, br, 0); \
} else { \
-fprintf(stderr,"\nS390_LONG - index - r: %d br: %d ix: %d off: %d\n",r,br,ix,off); \
s390_la (loc, s390_r13, ix, br, 0); \
S390_SET (loc, s390_r0, off); \
s390_agr (loc, s390_r13, s390_r0); \
s390_la (loc, s390_r13, ix, br, 0); \
S390_SET (loc, s390_r0, off); \
s390_agr (loc, s390_r13, s390_r0); \