diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-09-10 13:56:05 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-09-10 13:56:05 +0000 |
| commit | e91db9f03cc67287dff74300a7549695d2871028 (patch) | |
| tree | 93a1d280e2ff48f0c642a964a37f8807cb76b181 /src | |
| parent | ef3f649e49607a1fad64eb0a5139110df3efa2a7 (diff) | |
| download | rust-e91db9f03cc67287dff74300a7549695d2871028.tar.gz rust-e91db9f03cc67287dff74300a7549695d2871028.zip | |
Rustup
Diffstat (limited to 'src')
| -rw-r--r-- | src/shims/intrinsics/mod.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/shims/intrinsics/mod.rs b/src/shims/intrinsics/mod.rs index a930c4a9675..ac1642b0065 100644 --- a/src/shims/intrinsics/mod.rs +++ b/src/shims/intrinsics/mod.rs @@ -75,17 +75,14 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx match intrinsic_name { // Miri overwriting CTFE intrinsics. - "ptr_guaranteed_eq" => { + "ptr_guaranteed_cmp" => { let [left, right] = check_arg_count(args)?; let left = this.read_immediate(left)?; let right = this.read_immediate(right)?; - this.binop_ignore_overflow(mir::BinOp::Eq, &left, &right, dest)?; - } - "ptr_guaranteed_ne" => { - let [left, right] = check_arg_count(args)?; - let left = this.read_immediate(left)?; - let right = this.read_immediate(right)?; - this.binop_ignore_overflow(mir::BinOp::Ne, &left, &right, dest)?; + let (val, _overflowed, _ty) = + this.overflowing_binary_op(mir::BinOp::Eq, &left, &right)?; + // We're type punning a bool as an u8 here. + this.write_scalar(val, dest)?; } "const_allocate" => { // For now, for compatibility with the run-time implementation of this, we just return null. |
