Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • L llvm-project
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 41
    • Issues 41
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 21
    • Merge requests 21
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Morello
  • llvm-project
  • Merge requests
  • !206

[Morello] Expose raw RRLEN/RRMASK as builtins

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Jessica Clarke requested to merge morello-inexact-rounding-intrinsics into morello/dev Sep 30, 2022
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 3

These names are chosen to be the same as the CHERI intrinsics, with "cheri" replaced with "morello" due to them being Morello-specific, and "_inexact" appended to document that these do not provide exact rounding semantics and thus care is needed. In particular, names such as __builtin_morello_rrlen/rrmask are explicitly not used because they could easily be confused with the CHERI intrinsics by those not aware of the subtle quirk in Morello's specification of RRLEN/RRMASK, and someone who's read the Morello spec might assume these new intrinsics are the ones they should use. We want to avoid anyone using them unless they're sure they want the quirky Morello behaviour (e.g. carefully-written memory allocators that want to go as fast as possible). Whilst inline assembly also could be used, it's opaque to the compiler and so may interfere with optimisation opportunities.

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: morello-inexact-rounding-intrinsics