@@ -616,6 +616,7 @@ Register Arguments
616
616
RegisterExpression ::=
617
617
InputOutputRegisterExpression
618
618
| SimpleRegisterExpression
619
+ | ConstRegisterExpression
619
620
620
621
InputOutputRegisterExpression ::=
621
622
InputRegisterExpression $$=>$$ OutputRegisterExpression
@@ -631,6 +632,9 @@ Register Arguments
631
632
Expression
632
633
| UnderscoreExpression
633
634
635
+ ConstRegisterExpression ::=
636
+ $$const$$ Expression
637
+
634
638
.. rubric :: Legality Rules
635
639
636
640
:dp: `fls_455dmnp4cxqv `
@@ -682,6 +686,9 @@ initial :t:`value` of a :t:`register`.
682
686
An :t: `output register expression ` is an :t: `expression ` that is assigned the
683
687
:t: `value ` of a :t: `register `.
684
688
689
+ :dp: `fls_81Ju1TEqJ48K `
690
+ A :dt: `const register expression ` is an :t: `expression ` that is evaluated at compile-time.
691
+
685
692
:dp: `fls_kkrcyk96w8x1 `
686
693
An :t: `input-output register expression ` is a :t: `construct ` that specifies
687
694
both an :t: `input register expression ` and an :t: `output register expression `.
@@ -690,9 +697,11 @@ both an :t:`input register expression` and an :t:`output register expression`.
690
697
A :t: `simple register expression ` is either an :t: `expression ` or an
691
698
:t: `underscore expression `.
692
699
693
- :dp: `fls_vu30cuq4y0ht `
694
- A :t: `register expression ` is either an :t: `input-output register expression `
695
- or a :t: `simple register expression `.
700
+ :dp: `fls_j9XOoXDmN5Dq `
701
+ A :t: `register expression ` is either an :t: `input-output register expression `, a :t: `simple register expression ` or a :t: `const register expression `.
702
+
703
+ :dp: `fls_jU8zg4k8dFsY `
704
+ The :t: `type ` of a :t: `const register expression ` shall be an :t: `integer type `.
696
705
697
706
:dp: `fls_66owmltvhnu4 `
698
707
The :t: `type ` of an :t: `input register expression `,
0 commit comments