diff options
| author | nora <48135649+Noratrieb@users.noreply.github.com> | 2024-09-22 15:46:44 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-22 15:46:44 +0200 |
| commit | f5686e3cc9b8922a707ec357f39979b80419a37b (patch) | |
| tree | 519ac42ee50be10cdeac3d27564eea27a9c80ebd | |
| parent | 753271ce7e5a93a463109e35a860316a3e364cce (diff) | |
| download | rust-f5686e3cc9b8922a707ec357f39979b80419a37b.tar.gz rust-f5686e3cc9b8922a707ec357f39979b80419a37b.zip | |
Write return value for `ptr_mask` intrinsic (#1536)
This was forgotten. Without it, ptr_mask just always returns null.
| -rw-r--r-- | src/intrinsics/mod.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs index 29deac60730..ec3c910ac1f 100644 --- a/src/intrinsics/mod.rs +++ b/src/intrinsics/mod.rs @@ -600,9 +600,11 @@ fn codegen_regular_intrinsic_call<'tcx>( sym::ptr_mask => { intrinsic_args!(fx, args => (ptr, mask); intrinsic); + let ptr_layout = ptr.layout(); let ptr = ptr.load_scalar(fx); let mask = mask.load_scalar(fx); - fx.bcx.ins().band(ptr, mask); + let res = fx.bcx.ins().band(ptr, mask); + ret.write_cvalue(fx, CValue::by_val(res, ptr_layout)); } sym::write_bytes | sym::volatile_set_memory => { |
