From 6fd0fa9103ef82cd78ea3bd097d97dcd549e3352 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Sun, 26 Oct 2014 15:44:12 -0700 Subject: [PATCH] StoreRelease should also set cr0 lt/gt. --- src/alloy/frontend/ppc/ppc_hir_builder.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/alloy/frontend/ppc/ppc_hir_builder.cc b/src/alloy/frontend/ppc/ppc_hir_builder.cc index 12431412e..aeb0684e8 100644 --- a/src/alloy/frontend/ppc/ppc_hir_builder.cc +++ b/src/alloy/frontend/ppc/ppc_hir_builder.cc @@ -407,6 +407,8 @@ Value* PPCHIRBuilder::StoreRelease(Value* address, Value* value, LoadZero(INT32_TYPE)); Value* eq = CompareEQ(Truncate(address, INT32_TYPE), old_address); StoreContext(offsetof(PPCContext, cr0.cr0_eq), eq); + StoreContext(offsetof(PPCContext, cr0.cr0_lt), LoadZero(INT8_TYPE)); + StoreContext(offsetof(PPCContext, cr0.cr0_gt), LoadZero(INT8_TYPE)); auto skip_label = NewLabel(); BranchFalse(eq, skip_label, BRANCH_UNLIKELY); Store(address, value, store_flags);