xref: /openbmc/qemu/tests/tcg/hexagon/test_dotnew.S (revision 4921d0a7)
1/* Purpose: test the .new operator while performing memory stores. */
2
3    .text
4    .globl _start
5
6_start:
7    {
8        allocframe(#16)
9    }
10    {
11        r0 = #1
12        memw(sp+#0) = r0.new
13    }
14    {
15        r1 = #2
16        memw(sp+#4) = r1.new
17    }
18    {
19        r2 = #3
20        memw(sp+#8) = r2.new
21    }
22    {
23        r0 = memw(sp+#8)
24    }
25    {
26        r1 = memw(sp+#4)
27    }
28    {
29        r2 = memw(sp+#0)
30    }
31    {
32        r3 = mpyi(r1, r2)
33    }
34    {
35        deallocframe
36        p0 = cmp.eq(r3, #2); if (p0.new) jump:t pass
37        jump fail
38    }
39