<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/tests/tcg/hexagon, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/tests/tcg/hexagon?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/tests/tcg/hexagon?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-09-19T18:55:23+00:00</updated>
<entry>
<title>Hexagon (tests/tcg/hexagon): add fmin/fmax tests for signed zero</title>
<updated>2022-09-19T18:55:23+00:00</updated>
<author>
<name>Matheus Tavares Bernardino</name>
</author>
<published>2022-09-16T15:06:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8888ee42af726b9aba8245022fd4b7350a12acd3'/>
<id>urn:sha1:8888ee42af726b9aba8245022fd4b7350a12acd3</id>
<content type='text'>
Signed-off-by: Matheus Tavares Bernardino &lt;quic_mathbern@quicinc.com&gt;
Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Reviewed-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Tested-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (tests/tcg/hexagon) reference file for float_convd</title>
<updated>2022-07-31T23:22:09+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-07-18T23:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7eabb050ea77e529f549ea1ddaaa18e91ae01e34'/>
<id>urn:sha1:7eabb050ea77e529f549ea1ddaaa18e91ae01e34</id>
<content type='text'>
The test is in tests/tcg/multiarch/float_convd.c

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Acked-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220718230320.24444-4-tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (tests/tcg/hexagon) Fix alignment in load_unpack.c</title>
<updated>2022-07-31T23:22:09+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-07-18T23:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a1ad040dbaa7528d4d47a98f2b068015d2da0fcc'/>
<id>urn:sha1:a1ad040dbaa7528d4d47a98f2b068015d2da0fcc</id>
<content type='text'>
The increment used in :brev tests was causing unaligned addresses
Change the increment and the relevant expected values

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Acked-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220718230320.24444-3-tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (target/hexagon) make VyV operands use a unique temp</title>
<updated>2022-07-31T23:22:09+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-07-18T23:03:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1e814a0dc4b255a58f2cdab54aee50b25af2a006'/>
<id>urn:sha1:1e814a0dc4b255a58f2cdab54aee50b25af2a006</id>
<content type='text'>
VyV operand is only used in the vshuff and vdeal instructions.  These
instructions write to both VyV and VxV operands.  In the case where
both operands are the same register, we need a separate location for
VyV.  We use the existing vtmp field in CPUHexagonState.

Test case added in tests/tcg/hexagon/hvx_misc.c

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220718230320.24444-2-tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (target/hexagon) fix bug in mem_noshuf load exception</title>
<updated>2022-07-19T21:20:08+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-07-07T21:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=15fc6badbd28a126346f84c1acae48e273b66b67'/>
<id>urn:sha1:15fc6badbd28a126346f84c1acae48e273b66b67</id>
<content type='text'>
The semantics of a mem_noshuf packet are that the store effectively
happens before the load.  However, in cases where the load raises an
exception, we cannot simply execute the store first.

This change adds a probe to check that the load will not raise an
exception before executing the store.

If the load is predicated, this requires special handling.  We check
the condition before performing the probe.  Since, we need the EA to
perform the check, we move the GET_EA portion inside CHECK_NOSHUF_PRED.

Test case added in tests/tcg/hexagon/mem_noshuf_exception.c

Suggested-by: Alessandro Di Federico &lt;ale@rev.ng&gt;
Suggested-by: Anton Johansson &lt;anjo@rev.ng&gt;
Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220707210546.15985-3-tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (target/hexagon) fix store w/mem_noshuf &amp; predicated load</title>
<updated>2022-07-19T21:20:08+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-07-07T21:05:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cab86dea1d205f5224770de294cc718be467ccf8'/>
<id>urn:sha1:cab86dea1d205f5224770de294cc718be467ccf8</id>
<content type='text'>
Call the CHECK_NOSHUF macro multiple times: once in the
fGEN_TCG_PRED_LOAD() and again in fLOAD().

Before this commit, a packet with a store and a predicated
load with mem_noshuf that gets encoded like this:

    { P0 = cmp.eq(R17,#0x0)
      memw(R18+#0x0) = R2
      if (!P0.new) R3 = memw(R17+#0x4) }

... would end up generating a branch over both the load
and the store like so:

    ...
    brcond_i32 loc17,$0x0,eq,$L1
    mov_i32 loc18,store_addr_1
    qemu_st_i32 store_val32_1,store_addr_1,leul,0
    qemu_ld_i32 loc16,loc7,leul,0
    set_label $L1
    ...

Test cases added to tests/tcg/hexagon/mem_noshuf.c

Co-authored-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Signed-off-by: Brian Cain &lt;bcain@quicinc.com&gt;
Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220707210546.15985-2-tsimpson@quicinc.com&gt;
</content>
</entry>
<entry>
<title>Hexagon (target/hexagon) assignment to c4 should wait until packet commit</title>
<updated>2022-03-12T17:14:22+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-02-10T02:15:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c0d86060f033fc8d591b0163e380ff6cd04f213a'/>
<id>urn:sha1:c0d86060f033fc8d591b0163e380ff6cd04f213a</id>
<content type='text'>
On Hexagon, c4 is an alias for predicate registers P3:0.  If we assign to
c4 inside a packet with reads from predicate registers, the predicate
reads should get the old values.

Test case added to tests/tcg/hexagon/preg_alias.c

Co-authored-by: Michael Lambert &lt;mlambert@cuicinc.com&gt;
Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Message-Id: &lt;20220210021556.9217-13-tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>Hexagon (target/hexagon) fix bug in conv_df2uw_chop</title>
<updated>2022-03-12T17:14:22+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-02-10T02:15:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3977ba3078503fca0f182aa8a39fad2388f43cb1'/>
<id>urn:sha1:3977ba3078503fca0f182aa8a39fad2388f43cb1</id>
<content type='text'>
Fix typo that checked for 32 bit nan instead of 64 bit

Test case added in tests/tcg/hexagon/usr.c

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Message-Id: &lt;20220210021556.9217-11-tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>Hexagon (tests/tcg/hexagon) fix inline asm in preg_alias.c</title>
<updated>2022-03-12T17:14:22+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-02-10T02:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8af2d9978ad2c52377fe69466a556fffeedcd057'/>
<id>urn:sha1:8af2d9978ad2c52377fe69466a556fffeedcd057</id>
<content type='text'>
Replace consecutive inline asm blocks with a single one with proper
outputs/inputs/clobbers rather than making assumptions about register
values being carried between separate blocks.

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Message-Id: &lt;20220210021556.9217-10-tsimpson@quicinc.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>Hexagon (tests/tcg/hexagon) update overflow test</title>
<updated>2022-03-12T17:14:22+00:00</updated>
<author>
<name>Taylor Simpson</name>
</author>
<published>2022-02-10T02:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8576e7ecae056845de6e0bafc547501f2bc6461c'/>
<id>urn:sha1:8576e7ecae056845de6e0bafc547501f2bc6461c</id>
<content type='text'>
Add a test that sets USR multiple times in a packet

Signed-off-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Message-Id: &lt;20220210021556.9217-9-tsimpson@quicinc.com&gt;
Acked-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
</feed>
