From 44e2e8ede6d5a3290b9b183f941d9b2de4f4f20c Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Tue, 20 Sep 2022 15:55:22 +0300 Subject: [PATCH] pysvp64asm: support vli specifier --- src/openpower/sv/trans/svp64.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/openpower/sv/trans/svp64.py b/src/openpower/sv/trans/svp64.py index f85bfad9..625aedb4 100644 --- a/src/openpower/sv/trans/svp64.py +++ b/src/openpower/sv/trans/svp64.py @@ -1054,6 +1054,8 @@ class SVP64Asm: failfirst = False ldst_elstride = 0 + vli = False + # ok let's start identifying opcode augmentation fields for encmode in opmodes: # predicate mask (src and dest) @@ -1133,6 +1135,9 @@ class SVP64Asm: assert sv_mode is None sv_mode = 0b00 mapreduce_crm = True + elif encmode == 'vli': + assert sv_mode == 0b01 # only allow ff mode + vli = True elif is_bc: if encmode == 'all': svp64_rm.branch.ALL = 1 @@ -1341,6 +1346,8 @@ class SVP64Asm: if not is_bc: # mode: bits 19-23 svp64_rm.mode = mode + if vli: + svp64_rm.normal.ffrc0.VLi = 1 # put in predicate masks into svp64_rm if not is_bc: -- 2.30.2