[Libre-soc-bugs] [Bug 976] support missing specifiers

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Apr 12 18:16:48 BST 2023


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

--- Comment #13 from Dmitry Selyutin <ghostmansd at gmail.com> ---
I think I can make these work. The code we have for now looks like this:

      if ((exp.X_op == O_register) &&
            ((exp.X_add_number == 3)
            || (exp.X_add_number == 10)
            || (exp.X_add_number == 30)))
        {
          exp.X_op = O_predicate;
          if (exp.X_add_number == 3)
            exp.X_add_number = SVP64_PREDICATE_R3;
          else if (exp.X_add_number == 10)
            exp.X_add_number = SVP64_PREDICATE_R10;
          else if (exp.X_add_number == 30)
            exp.X_add_number = SVP64_PREDICATE_R30;
        }

However, this leads to ambiguity: what is implied, 30 or %r30? After all, this
is why we sticked to ^r3 notation instead of (1<<r3), too.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list