caller.py: use yield from on is_ffirst_mode since it's a generator
authorJacob Lifshay <programmerjake@gmail.com>
Wed, 13 Dec 2023 00:51:33 +0000 (16:51 -0800)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 Dec 2023 09:34:40 +0000 (09:34 +0000)
src/openpower/decoder/isa/caller.py

index b0b09f06cee2234d6f7521546594cc0e6d5f97a8..8bbd7bb195fc7f0b66b4bb9d296e56454f3496db 100644 (file)
@@ -2441,7 +2441,8 @@ class ISACaller(ISACallerHelper, ISAFPHelpers, StepLoop):
         log("        vli", vli_)
         log("     cr_bit", cr_bit)
         log("      rc_en", rc_en)
-        if not rc_en or not is_ffirst_mode(self.dec2):
+        ffirst = yield from is_ffirst_mode(self.dec2)
+        if not rc_en or not ffirst:
             return False, False
         # get the CR vevtor, do BO-test
         crf = "CR0"
@@ -2983,7 +2984,8 @@ class ISACaller(ISACallerHelper, ISAFPHelpers, StepLoop):
         # allowing *scalar destinations* to be used as an accumulator.
         # effectively this implies /mr (mapreduce mode) is 100% on with ddffirst
         # see https://bugs.libre-soc.org/show_bug.cgi?id=1183#c16
-        if is_ffirst_mode(self.dec2):
+        ffirst = yield from is_ffirst_mode(self.dec2)
+        if ffirst:
             svp64_is_vector = in_vec
 
         # loops end at the first "hit" (source or dest)