Skip to content

Tracking Issue for movrs target feature #137976

Open
@sayantn

Description

@sayantn

Feature gate: #![feature(movrs_target_feature)]

This is a tracking issue for the x86(64) target feature movrs. It includes 2 instructions - MOVRS and PREFETCHRST2. These behave as normal MOV and PREFETCHW instructions, just with the "read-shared" hint. This, as suggested by the name, is purely a hint to the processor that the data loaded/stored by the instruction is likely to get accessed by multiple processors.

Public API

The movrs target feature (which enables the MOVRS and PREFETCHRST2 instructions) and the following stdarch intrinsics

  • _movrs_i8
  • _movrs_i16
  • _movrs_i32
  • _movrs_i64
  • _m_prefetchrs

Steps / History

  • Implementation
  • Final comment period (FCP)1
  • Stabilization PR

Implementation History

Unresolved Questions

  • How does this interact with the memory model? The Intel specification strongly suggests that this is just a hint to the processor, but we need to check to be sure.

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions