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

feat: Support missing instruction #113

Merged

Conversation

SWETAS04
Copy link
Contributor

This PR includes new instruction mnemonics and the modified ones that have been added to the new Z15 and support for missing ones in the previous version.

Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
@SWETAS04 SWETAS04 marked this pull request as draft March 30, 2021 15:01
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
@SWETAS04 SWETAS04 marked this pull request as ready for review April 1, 2021 07:56
Signed-off-by: Sweta Shah <swetas04@gmail.com>
add_machine_instr(result, "VNN", mach_format::VRR_c, { vec_reg_4_U, vec_reg_4_U, vec_reg_4_U }, 48, 1574);
add_machine_instr(result, "VNO", mach_format::VRR_c, { vec_reg_4_U, vec_reg_4_U, vec_reg_4_U }, 48, 1574);
add_machine_instr(result, "VNN", mach_format::VRR_c, { vec_reg_4_U, vec_reg_4_U, vec_reg_4_U }, 1574);
add_machine_instr(result, "VNO", mach_format::VRR_c, { vec_reg_4_U, vec_reg_4_U, vec_reg_4_U }, 1574);
result.insert(std::pair<const std::string, machine_instruction_ptr>("VNOT",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering about this mnemonic. As far as I can tell VNOT has two operands VNOT A,B which is expanded into VNO A,B,B instruction. Yet the plugin requires three arguments at the moment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you are correct. But , this was something pre-existing in the plugin where it takes 3 arguments and wants 2nd and 3rd operands to be equal. I am not sure why it was done this way ?
Maybe @michalbali256 remembers something about it

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So VNOT is actually a mnemonic? It must have been originally misunderstood... We can either keep VNOT as an instruction and just edit its format, or create a mnemonic - slight problem being, that we do not have a way to copy second operand and use it as third. However, we can just substitute third operand with zero, which will always be valid. At the same time, the second operand will still be checked so the user will not know.

Either way, class vnot_instruction can be removed.

SWETAS04 and others added 8 commits April 8, 2021 14:07
…d operand value as 0

Signed-off-by: Sweta Shah <swetas04@gmail.com>
-m "ignored file"
-s -m "local git ignore file removed"
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@gmail.com>
Signed-off-by: Sweta Shah <swetas04@GMAIL.COM>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Apr 9, 2021

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@michalbali256 michalbali256 merged commit ec547cf into eclipse-che4z:development Apr 13, 2021
@SWETAS04 SWETAS04 deleted the Support_missing-instruction branch April 15, 2021 09:17
@github-actions
Copy link

🎉 This PR is included in version 0.13.0-beta.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions
Copy link

github-actions bot commented Jun 1, 2021

🎉 This PR is included in version 0.13.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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.

3 participants