-
Notifications
You must be signed in to change notification settings - Fork 48
Inline Asm Constraints and Modifiers - RVC, Raw Encodings, Pairs #92
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
Changes from 2 commits
8b41934
45f02d4
3c32dce
bb49ede
e693b8c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -736,7 +736,7 @@ statements, including both RISC-V specific and common operand constraints. | |
| .Constraints on Operands of Inline Assembly Statements | ||
| [%autowidth] | ||
| |=== | ||
| |*Constraint* | |*Note* | ||
| |*Constraint* |*Description* |*Note* | ||
| |m |An address that is held in a general-purpose register with offset. | | ||
| |A |An address that is held in a general-purpose register. | | ||
| |r |General purpose register | | ||
|
|
@@ -746,13 +746,18 @@ statements, including both RISC-V specific and common operand constraints. | |
| |K |5-bit unsigned immediate integer operand | | ||
| |J |Zero integer immediate operand | | ||
| |s |symbol or label reference with a constant offset | | ||
| |cr |RVC general purpose register (`x8`-`x15`) | | ||
| |cf |RVC floating point register (`f8`-`f15`) | | ||
| |Pr |Even-odd general purpose register pair | | ||
|
||
| |vr |Vector register | | ||
| |vd |Vector register, excluding v0 | | ||
| |vm |Vector register, only v0 | | ||
| |=== | ||
|
|
||
| NOTE: Immediate value must be a compile-time constant. | ||
|
|
||
| NOTE: The `c*` and `P*` constraints are designed to be extensible to more kinds of registers in the future. | ||
|
|
||
| === The Difference Between `m` and `A` Constraints | ||
|
|
||
| The difference between `m` and `A` is whether the operand can have an offset; | ||
|
|
@@ -809,6 +814,7 @@ statements, including both RISC-V specific and common operand modifiers. | |
| |*Modifiers* |*Description* |*Note* | ||
| |z |Print `zero` (`x0`) register for immediate 0, typically used with constraints `J` | | ||
| |i |Print `i` if corresponding operand is immediate. | | ||
| |N |Print register encoding as integer (0-31). | | ||
| |=== | ||
|
|
||
| [id=function-multi-version] | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.