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

Pseudoinstructions and FLoating point for MIPS #6

Open
ghost opened this issue Feb 12, 2018 · 3 comments
Open

Pseudoinstructions and FLoating point for MIPS #6

ghost opened this issue Feb 12, 2018 · 3 comments

Comments

@ghost
Copy link

ghost commented Feb 12, 2018

The specification requires MIPS I assembly.

However, to confirm the ambiguity for floating point and pseudo instructions I want to clarify which instructions should be supported.

To conform with the clang outputs i believe that pseudoinstructions should be ignored such as mov etc. Since a real assembler wouldn't create such instructions. Also, for floating point i believe it should be assumed that they are supported as they are part of the original MIPS specification.

@ghost
Copy link
Author

ghost commented Feb 19, 2018

aparently move works from todays ABI lecture so...

@m8pple
Copy link
Contributor

m8pple commented Feb 20, 2018

Sorry, completely missed this. I realised github notifications weren't getting through
the filter, so now have a backlog.

In terms of mov/move, it is a purely syntactic thing - there are multiple base
instructions that can support it. However, there are other things like li with
arbitrary 32-bit constants where it isn't so simple.

So your point is a good one. What would you like it to be?:

  • What is the point of reference for assembly? Which program needs to accept it,
    and should be considered to define the output language for your compiler?
  • For things like floating-point, at what level should it be handled?

@ghost
Copy link
Author

ghost commented Feb 25, 2018

I believe that since both QEMU supports FPU and the mips-linux-gnu-gcc (flag -mips=march32) compiler support floating point instructions and registers that it should be handled as is. If there is any ambiguity we should refer to the gnu compiler.

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

No branches or pull requests

1 participant