Commit | Line | Data |
---|---|---|
800eeca4 JW |
1 | // |
2 | // Test mutex relation handling | |
3 | // | |
4 | .text | |
5 | start: | |
6 | // user annotation | |
7 | .pred.rel.mutex p1, p2, p3 | |
8 | (p1) mov r4 = 2 | |
9 | (p2) mov r4 = 5 | |
10 | (p3) mov r4 = 7 | |
11 | rfi | |
12 | ||
13 | // non-predicated compares generate a mutex | |
9a8f29e3 | 14 | cmp.eq p1, p2 = r1, r2;; |
800eeca4 JW |
15 | (p1) mov r4 = 2 |
16 | (p2) mov r4 = 4 | |
17 | rfi | |
18 | ||
19 | // unconditional compares generate a mutex | |
5e2f6673 L |
20 | (p3) cmp.eq.unc p1, p2 = r1, r2;; |
21 | (p1) mov r4 = 2 | |
22 | (p2) mov r4 = 4 | |
23 | rfi | |
24 | ||
25 | // non-predicated compares don't remove mutex | |
26 | cmp.eq p1, p2 = r1, r2;; | |
27 | (p1) mov r4 = 2 | |
28 | (p2) mov r4 = 4 | |
29 | rfi | |
30 | ||
31 | // predicated compares don't remove mutex | |
32 | (p3) cmp.eq p1, p2 = r1, r2;; | |
800eeca4 JW |
33 | (p1) mov r4 = 2 |
34 | (p2) mov r4 = 4 | |
35 | rfi | |
36 | L: |