aboutsummaryrefslogtreecommitdiff
path: root/test/MC/Hexagon/not-over.s
blob: c31ce5312305090474f0d8dc249bbe9b7062d5af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# RUN: llvm-mc -arch=hexagon -filetype=asm %s 2>%t; FileCheck %s <%t
#

# Check that proper packets are not wrongly flagged as invalid.

1-3-4-f:
	{
	       r3 = memub(r2++#1)
	       if (cmp.eq(r3.new,#0)) jump:nt .
	       jumpr lr
	       r4 = #4
	}
# CHECK-NOT: rror: invalid instruction packet

1-3-f-f:
        {
                r3 = memub(r2++#1)
                if (cmp.eq(r3.new,#0)) jump:nt .
                r5 = #5
                r4 = #4
        }
# CHECK-NOT: rror: invalid instruction packet

# Special case of a fat packet that will slim when a compound is formed.
3-3-8-c:
   { LOOP0(3-3-8-c, R7)
     P0 = CMP.GT(R7, #0)
     IF (!P0.NEW) JUMP:NT .
     R21:20 = MEMD(R0+#16)
     R23:22 = MEMD(R0+#24)
   }
# CHECK-NOT: rror: invalid instruction packet

1-f-f-f:
        {
                r3 = #3
                if (cmp.eq(r3.new,#0)) jump:nt .
                r5 = #5
                r4 = #4
        }
# CHECK-NOT: rror: invalid instruction packet

4:
        jumpr lr
# CHECK-NOT: rror: invalid instruction packet

f-f-f-f:
        {
                r3 = #3
                r2 = #2
                r5 = #5
                r4 = #4
        }
# CHECK-NOT: rror: invalid instruction packet