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

i#2626 fp/simd encode: Add support for vector and scalar FMUL. #2896

Merged
merged 2 commits into from
Mar 23, 2018

Conversation

fhahn
Copy link
Contributor

@fhahn fhahn commented Mar 23, 2018

This uses the encoding scheme introduced in #2811. It also adds INSTR_CREATE_ macros and related tests.

Everything expect the tests are auto-generated now.

Issue: #2626

Change-Id: I0cb18af8aabf121417404e83d262745e1bbd0a8f

This uses the encoding scheme introduced in #2811.

Everything expect the tests are auto-generated now.

Change-Id: I0cb18af8aabf121417404e83d262745e1bbd0a8f
Copy link
Contributor

@derekbruening derekbruening left a comment

Choose a reason for hiding this comment

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

Just suggestions on the docs.

@@ -47,18 +47,33 @@
*/
#define FSZ_HALF 1

/**
* Operand indication half-precision floating point vector elements.
Copy link
Contributor

Choose a reason for hiding this comment

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

s/indication/indicating/

Maybe also:
s/elements./elements for the other operands of the containing instruction./

/**
* Used in an additional immediate source operand to a vector operation, denotes
* single-precision floating point vector elements. See \ref sec_IR_AArch64.
*/
#define FSZ_SINGLE 2

/**
* Operand indication single-precision floating point vector elements.
Copy link
Contributor

Choose a reason for hiding this comment

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

Ditto

/**
* Used in an additional immediate source operand to a vector operation, denotes
* double-precision floating point vector elements. See \ref sec_IR_AArch64.
*/
#define FSZ_DOUBLE 3

/**
* Operand indication double-precision floating point vector elements.
Copy link
Contributor

Choose a reason for hiding this comment

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

Ditto

* \param Rd output register
* \param Rm input register
* \param Rn input register
* \param width vector element width as immediate
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: All 4 of these are nicer as complete sentences: "The output register.", etc.

Maybe for the width you could reference OPND_CREATE_DOUBLE() + the other 2 (just trying to imagine what would make it easy for users).

Change-Id: Ice1681292607aa9cc267a187bfe1d5b96719e54f
@fhahn
Copy link
Contributor Author

fhahn commented Mar 23, 2018

Done, thanks @derekbruening !

@fhahn fhahn merged commit 84d427c into master Mar 23, 2018
@fhahn fhahn deleted the i2626-fmul branch March 23, 2018 22:17
fhahn added a commit that referenced this pull request Apr 24, 2018
This patch adds encoding & decoding support for most arithmetic FP Neon
instructions. The structure of the generated macros and tests follows
the style of #2896.

codec.txt contains comments if not all encodings of an instruction are
supported yet. Also missing are the Arm v8.3-a FCADD and FCMLA
instructions, because their rotation arguments require a bit of special
handling to get nice macros.

Issue #2626

Change-Id: I8c3a8ac3e03d9b466c1872ed5382639b746092b2
fhahn added a commit that referenced this pull request Apr 25, 2018
)

This patch adds encoding & decoding support for most arithmetic FP Neon
instructions. The structure of the generated macros and tests follows
the style of #2896.

codec.txt contains comments if not all encodings of an instruction are
supported yet. Also missing are the Arm v8.3-a FCADD and FCMLA
instructions, because their rotation arguments require a bit of special
handling to get nice macros.

Issue #2626
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

Successfully merging this pull request may close these issues.

2 participants