Browse Source
Based on section 18.2 in spec
"All Zve* extensions support all vector integer instructions (Section
Vector Integer Arithmetic Instructions), except that the vmulh integer
multiply variants that return the high word of the product (vmulh.vv,
vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) are not
included for EEW=64 in Zve64*."
"All Zve* extensions support all vector fixed-point arithmetic
instructions (Vector Fixed-Point Arithmetic Instructions), except that
vsmul.vv and vsmul.vx are not included in EEW=64 in Zve64*"
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
pull/2153/head
8 changed files with 16 additions and 0 deletions
@ -1,4 +1,6 @@ |
|||||
// vmulhsu.vv vd, vs2, vs1
|
// vmulhsu.vv vd, vs2, vs1
|
||||
|
require(p->extension_enabled('V') || P.VU.vsew < e64); |
||||
|
|
||||
VI_VV_SU_LOOP({ |
VI_VV_SU_LOOP({ |
||||
vd = ((int128_t)vs2 * (uint128_t)vs1) >> sew; |
vd = ((int128_t)vs2 * (uint128_t)vs1) >> sew; |
||||
}) |
}) |
||||
|
|||||
@ -1,4 +1,6 @@ |
|||||
// vmulhsu.vx vd, vs2, rs1
|
// vmulhsu.vx vd, vs2, rs1
|
||||
|
require(p->extension_enabled('V') || P.VU.vsew < e64); |
||||
|
|
||||
VI_VX_SU_LOOP({ |
VI_VX_SU_LOOP({ |
||||
vd = ((int128_t)vs2 * (uint128_t)rs1) >> sew; |
vd = ((int128_t)vs2 * (uint128_t)rs1) >> sew; |
||||
}) |
}) |
||||
|
|||||
Loading…
Reference in new issue