forked from edf-hpc/verrou
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvalgrind.arm64.diff
30 lines (30 loc) · 1.09 KB
/
valgrind.arm64.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/VEX/priv/host_arm64_isel.c b/VEX/priv/host_arm64_isel.c
index b4b7d8021..33a5e0d7b 100644
--- a/VEX/priv/host_arm64_isel.c
+++ b/VEX/priv/host_arm64_isel.c
@@ -3450,6 +3450,12 @@ static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e )
addInstr(env, ARM64Instr_VUnaryD(ARM64fpu_RINTE, dst, src));
return dst;
}
+ case Iop_ReinterpI64asF64: {
+ HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
+ HReg dst = newVRegD(env);
+ addInstr(env, ARM64Instr_VDfromX(dst,src));
+ return dst;
+ }
default:
break;
}
@@ -3650,6 +3656,12 @@ static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e )
addInstr(env, ARM64Instr_VUnaryS(ARM64fpu_RINTE, dst, src));
return dst;
}
+ case Iop_ReinterpI32asF32: {
+ HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
+ HReg dst = newVRegD(env);
+ addInstr(env, ARM64Instr_VDfromX(dst,src));
+ return dst;
+ }
default:
break;
}