From c212ab7a8adea516db72f17d818393629dbde1b3 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Tue, 22 Sep 2015 13:25:57 +0200 Subject: Use R10 in atomic compare and exchange for the rlwinm. --- powerpc/Asmexpand.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'powerpc/Asmexpand.ml') diff --git a/powerpc/Asmexpand.ml b/powerpc/Asmexpand.ml index 0dfebc13..fc0fc44e 100644 --- a/powerpc/Asmexpand.ml +++ b/powerpc/Asmexpand.ml @@ -532,8 +532,8 @@ let expand_builtin_inline name args res = emit (Plabel lblneq); (* Here, CR2 is true if the exchange succeeded, false if it failed *) emit (Pisync); - emit (Pmfcr dst); - emit (Prlwinm (res,dst,(Z.of_uint 3),_1)); + emit (Pmfcr GPR10); + emit (Prlwinm (res,GPR10,(Z.of_uint 3),_1)); (* Update exp with the current value of dst if the exchange failed *) emit (Pbt (CRbit_2,lblsucc)); emit (Pstw (GPR0,Cint _0,exp)); -- cgit