[Libre-soc-bugs] [Bug 1082] New: fix the pseudo-code parser's operator precedence to match PowerISA v3.1B

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri May 12 03:58:40 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1082

            Bug ID: 1082
           Summary: fix the pseudo-code parser's operator precedence to
                    match PowerISA v3.1B
           Product: Libre-SOC's first SoC
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: CONFIRMED
          Severity: normal
          Priority: ---
         Component: Source Code
          Assignee: lkcl at lkcl.net
          Reporter: programmerjake at gmail.com
                CC: libre-soc-bugs at lists.libre-soc.org
            Blocks: 1035
   NLnet milestone: ---

PowerISA v3.1B specifies the precedence of operators in Book I section 1.3.4
page 8(34) Table 1. 
these don't match the parser's current state.

Table 1:
(edited slightly for clarity)

+-----------------------------------+---------------+
| Operators                         | Associativity |
+-----------------------------------+---------------+
| subscript, function evaluation    | left to right |
+-----------------------------------+---------------+
| pre-superscript (replication),    | right to left |
| post-superscript (exponentiation) |               |
+-----------------------------------+---------------+
| unary -, ¬                        | right to left |
+-----------------------------------+---------------+
| ×, ÷                              | left to right |
+-----------------------------------+---------------+
| +, -                              | left to right |
+-----------------------------------+---------------+
| ||                                | left to right |
+-----------------------------------+---------------+
| =, ≠, <, ≤, >, ≥, <u, >u, ?       | left to right |
| (note: `?` is unordered           |               |
| comparison, not a typo)           |               |
+-----------------------------------+---------------+
| &, ⊕, ≡                           | left to right |
+-----------------------------------+---------------+
| |                                 | left to right |
+-----------------------------------+---------------+
| : (range)                         | none          |
+-----------------------------------+---------------+
| <-, <-iea                         | none          |
+-----------------------------------+---------------+


Referenced Bugs:

https://bugs.libre-soc.org/show_bug.cgi?id=1035
[Bug 1035] Implement Scalar Power ISA v3.1 instructions in ISACaller
-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list