Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Silicon support #607

Closed
wants to merge 2 commits into from
Closed

Apple Silicon support #607

wants to merge 2 commits into from

Conversation

cjfrisz
Copy link
Contributor

@cjfrisz cjfrisz commented Feb 7, 2022

This changeset adds an arm64mac machine type, with draft implementations for the define-registers and section 2 define-instructions in arm64.ss. The arm64.ss file is based off of arm32.ss, and so the section 3 assembler is unchanged from arm32.ss. The code included compiles, but (unsurprisingly) fails to bootstrap.

Add files for arm64mac.def and arm64.ss files in support of an arm64mac
machine-type for native Apple Silicon support. The actual machine-type name
may change.

This changeset includes complete draft implementations for sections 1 and 2
of the arm64 backend, i.e., define-registers and define-instructions. A
future changeset will include an implementation for the assembler.
@cjfrisz
Copy link
Contributor Author

cjfrisz commented Feb 7, 2022

I've left changes in the arm64mac workarea, so the diff is larger than the actual changeset. Changes are primarily in arm64.ss and cpnanopass.ss.

@michaelmesser
Copy link

Will this be merged? If so, about how long will it take for this to be merged?

@cjfrisz
Copy link
Contributor Author

cjfrisz commented Apr 10, 2022

It can't be merged in its current state because it effectively has no assembler and doesn't pass the mats. There's no set timeline for merging it, but I see the mentioned issue that Idris can't be installed on Apple Silicon via Homebrew without it.

Until this PR is complete, is it possible to install the Intel version of Idris via Homebrew and run through Rosetta 2?

@michaelmesser
Copy link

michaelmesser commented Apr 10, 2022

Idris can use the racket fork of chez scheme on M1 to run natively.

@LiberalArtist
Copy link
Contributor

Despite Apple's current preferred branding, I would strongly advocate for calling the machine type arm64osx (i.e. not arm64mac):

  1. for consistency with the existing machine types i3osx, a6osx, and ppc32osx;
  2. for consistency with Racket's variant of Chez Scheme, which already supports a machine type called arm64osx; and
  3. in keeping with, for example, the fact that the machine types for Illumos/OpenIndiana are i3s2 and a6s2, despite the fact that even Sun/Oracle Solaris has long since stopped branding itself as "Solaris 2" (since c. 1998, IIUC?).

@mflatt
Copy link
Contributor

mflatt commented Oct 17, 2023

Apple Silicon support is included in v9.9.9 merge 47daa9b.

@burgerrg burgerrg closed this Oct 17, 2023
@chenrui333
Copy link

Can you cut off a new release per this issue close?

relates to Homebrew/homebrew-core#152760

@burgerrg
Copy link
Contributor

Yes, the next release will include this support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants