From 2f872afdb514032f746b8641672eb13936fc897d Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Tue, 10 May 2022 17:04:26 -0700 Subject: Allow arithmetic and certain bitwise ops on AtomicPtr This is mainly to support migrating from AtomicUsize, for the strict provenance experiment. Fixes #95492 --- compiler/rustc_codegen_ssa/src/mir/intrinsic.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'compiler/rustc_codegen_ssa') diff --git a/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs b/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs index 7f14b95317b..645afae30d8 100644 --- a/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs +++ b/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs @@ -513,9 +513,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { }; let ty = substs.type_at(0); - if int_type_width_signed(ty, bx.tcx()).is_some() - || (ty.is_unsafe_ptr() && op == "xchg") - { + if int_type_width_signed(ty, bx.tcx()).is_some() || ty.is_unsafe_ptr() { let mut ptr = args[0].immediate(); let mut val = args[1].immediate(); if ty.is_unsafe_ptr() { -- cgit 1.4.1-3-g733a5