summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/device/1923629
blob: ab13174b31b7881d644f91741fce30fc3cbaeed6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RISC-V Vector Instruction vssub.vv not saturating

I noticed doing a negate ( 0 – 0x80000000 ) using vssub.vv produces an incorrect result of 0x80000000 (should saturate to 0x7FFFFFFF).

Here is the bit of the code:

		vmv.v.i		v16, 0
		…
8f040457	vssub.vv	v8,v16,v8

I believe the instruction encoding is correct (vssub.vv with vd = v8, vs2 = v16, rs1 = v8), but the result does not saturate in QEMU.

I’ve just tested with what I think is the latest branch ( https://github.com/sifive/qemu/tree/rvv-1.0-upstream-v7 commit 26 Feb 2021: 1151361fa7d45cc90d69086ccf1a4d8397931811 ) and the problem still exists.