GithubHelp home page GithubHelp logo

Comments (3)

johnwbyrd avatar johnwbyrd commented on June 22, 2024

See also the 65C02's TSB, TRB, BBS, and BBR instructions.

from llvm-mos.

mysterymath avatar mysterymath commented on June 22, 2024

For the use of $a, LLVM has an undef flag to mark a register as "used, but not really". I forgot to add this flag to this use of $a; I'll correct this shortly.

Regarding N and Z, I realized that so many instructions clobber them, it's not really worth modelling them explicitly except for the instructions that directly deal with them. Accordingly, we maintain as an invariant that N and Z cannot contain live values outside of certain tightly bundled patterns. Broadly, this allows us to emit pseudoinstructions without worrying about N and Z. This makes dealing with N and Z more complicated, but it's better to make something relatively rare complicated (N/Z usage) over something relatively common (basically every pseudoinstruction). I was able to take this invariant far enough that instructions no longer even bear "implicit-def $nz"; the fact that instructions clobber N and Z isn't needed by the compiler anymore, since the invariant picks up the slack.

from llvm-mos.

mysterymath avatar mysterymath commented on June 22, 2024

Fixed with 2da8c05

from llvm-mos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.