Skip to content

Commit b59f916

Browse files
committed
zve: correct the constraint for widening and floating configuraiton
Signed-off-by: Chih-Min Chao <[email protected]>
1 parent f364814 commit b59f916

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

riscv/v_ext_macros.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1790,8 +1790,15 @@ VI_VX_ULOOP({ \
17901790
}; \
17911791
VI_VFP_LOOP_CMP_END \
17921792

1793+
#define VI_CHECK_VFP_WIDE \
1794+
if (P.VU.vsew == e16) \
1795+
require(p->get_isa().get_zvf()); \
1796+
else if (P.VU.vsew == e32) \
1797+
require(p->get_isa().get_zvd()); \
1798+
17931799
#define VI_VFP_VF_LOOP_WIDE(BODY16, BODY32) \
17941800
VI_CHECK_DSS(false); \
1801+
VI_CHECK_VFP_WIDE \
17951802
VI_VFP_LOOP_BASE \
17961803
switch (P.VU.vsew) { \
17971804
case e16: { \
@@ -1841,6 +1848,7 @@ VI_VX_ULOOP({ \
18411848

18421849
#define VI_VFP_VV_LOOP_WIDE(BODY16, BODY32) \
18431850
VI_CHECK_DSS(true); \
1851+
VI_CHECK_VFP_WIDE \
18441852
VI_VFP_LOOP_BASE \
18451853
switch (P.VU.vsew) { \
18461854
case e16: { \
@@ -1890,6 +1898,7 @@ VI_VX_ULOOP({ \
18901898

18911899
#define VI_VFP_WF_LOOP_WIDE(BODY16, BODY32) \
18921900
VI_CHECK_DDS(false); \
1901+
VI_CHECK_VFP_WIDE \
18931902
VI_VFP_LOOP_BASE \
18941903
switch (P.VU.vsew) { \
18951904
case e16: { \
@@ -1918,6 +1927,7 @@ VI_VX_ULOOP({ \
19181927

19191928
#define VI_VFP_WV_LOOP_WIDE(BODY16, BODY32) \
19201929
VI_CHECK_DDS(true); \
1930+
VI_CHECK_VFP_WIDE \
19211931
VI_VFP_LOOP_BASE \
19221932
switch (P.VU.vsew) { \
19231933
case e16: { \

0 commit comments

Comments
 (0)