summaryrefslogtreecommitdiff
path: root/mono
diff options
context:
space:
mode:
authorLennart Sorensen <lsorense@csclub.uwaterloo.ca>2015-09-01 11:20:15 +0100
committerJo Shields <jo.shields@xamarin.com>2015-09-07 10:15:15 +0100
commit7f1a7517d26ed1641e9f1176884e85cef4081d68 (patch)
tree33f0c59a5a5392ac8d2126b2fe0defa0129460a9 /mono
parentc81f65f32d6e9a6506c74393839b6ba0ace5a235 (diff)
downloadmono-7f1a7517d26ed1641e9f1176884e85cef4081d68.tar.gz
Add move_f_to_i4 and move_i4_to_f to PowerPC
Diffstat (limited to 'mono')
-rw-r--r--mono/mini/cpu-ppc.md2
-rw-r--r--mono/mini/mini-ppc.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/mono/mini/cpu-ppc.md b/mono/mini/cpu-ppc.md
index e6baf9148f..8109c232b0 100644
--- a/mono/mini/cpu-ppc.md
+++ b/mono/mini/cpu-ppc.md
@@ -128,6 +128,8 @@ storer8_memindex: dest:b src1:i src2:i len:4
loadu4_mem: dest:i len:8
move: dest:i src1:i len:4
fmove: dest:f src1:f len:4
+move_f_to_i4: dest:i src1:f len:8
+move_i4_to_f: dest:f src1:i len:8
add_imm: dest:i src1:i len:4
sub_imm: dest:i src1:i len:4
mul_imm: dest:i src1:i len:4
diff --git a/mono/mini/mini-ppc.c b/mono/mini/mini-ppc.c
index 8748c93174..4d8fc14742 100644
--- a/mono/mini/mini-ppc.c
+++ b/mono/mini/mini-ppc.c
@@ -3745,6 +3745,14 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
if (ins->dreg != ins->sreg1)
ppc_fmr (code, ins->dreg, ins->sreg1);
break;
+ case OP_MOVE_F_TO_I4:
+ ppc_stfs (code, ins->sreg1, -4, ppc_r1);
+ ppc_ldptr (code, ins->dreg, -4, ppc_r1);
+ break;
+ case OP_MOVE_I4_TO_F:
+ ppc_stw (code, ins->sreg1, -4, ppc_r1);
+ ppc_lfs (code, ins->dreg, -4, ppc_r1);
+ break;
case OP_FCONV_TO_R4:
ppc_frsp (code, ins->dreg, ins->sreg1);
break;