[SystemZ] Support transactional execution on zEC12
[oota-llvm.git] / test / MC / SystemZ / insn-good-zEC12.s
1 # For zEC12 and above.
2 # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=zEC12 -show-encoding %s | FileCheck %s
3
4 #CHECK: etnd    %r0                     # encoding: [0xb2,0xec,0x00,0x00]
5 #CHECK: etnd    %r15                    # encoding: [0xb2,0xec,0x00,0xf0]
6 #CHECK: etnd    %r7                     # encoding: [0xb2,0xec,0x00,0x70]
7
8         etnd    %r0
9         etnd    %r15
10         etnd    %r7
11
12 #CHECK: ntstg   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x25]
13 #CHECK: ntstg   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x25]
14 #CHECK: ntstg   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x25]
15 #CHECK: ntstg   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x25]
16 #CHECK: ntstg   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x25]
17 #CHECK: ntstg   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x25]
18 #CHECK: ntstg   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x25]
19 #CHECK: ntstg   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x25]
20 #CHECK: ntstg   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x25]
21 #CHECK: ntstg   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x25]
22
23         ntstg   %r0, -524288
24         ntstg   %r0, -1
25         ntstg   %r0, 0
26         ntstg   %r0, 1
27         ntstg   %r0, 524287
28         ntstg   %r0, 0(%r1)
29         ntstg   %r0, 0(%r15)
30         ntstg   %r0, 524287(%r1,%r15)
31         ntstg   %r0, 524287(%r15,%r1)
32         ntstg   %r15, 0
33
34 #CHECK: ppa     %r0, %r0, 0             # encoding: [0xb2,0xe8,0x00,0x00]
35 #CHECK: ppa     %r0, %r0, 15            # encoding: [0xb2,0xe8,0xf0,0x00]
36 #CHECK: ppa     %r0, %r15, 0            # encoding: [0xb2,0xe8,0x00,0x0f]
37 #CHECK: ppa     %r4, %r6, 7             # encoding: [0xb2,0xe8,0x70,0x46]
38 #CHECK: ppa     %r15, %r0, 0            # encoding: [0xb2,0xe8,0x00,0xf0]
39
40         ppa     %r0, %r0, 0
41         ppa     %r0, %r0, 15
42         ppa     %r0, %r15, 0
43         ppa     %r4, %r6, 7
44         ppa     %r15, %r0, 0
45
46 #CHECK: risbgn  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x59]
47 #CHECK: risbgn  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x59]
48 #CHECK: risbgn  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x59]
49 #CHECK: risbgn  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x59]
50 #CHECK: risbgn  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x59]
51 #CHECK: risbgn  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x59]
52 #CHECK: risbgn  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x59]
53
54         risbgn  %r0,%r0,0,0,0
55         risbgn  %r0,%r0,0,0,63
56         risbgn  %r0,%r0,0,255,0
57         risbgn  %r0,%r0,255,0,0
58         risbgn  %r0,%r15,0,0,0
59         risbgn  %r15,%r0,0,0,0
60         risbgn  %r4,%r5,6,7,8
61
62 #CHECK: tabort  0                       # encoding: [0xb2,0xfc,0x00,0x00]
63 #CHECK: tabort  0(%r1)                  # encoding: [0xb2,0xfc,0x10,0x00]
64 #CHECK: tabort  0(%r15)                 # encoding: [0xb2,0xfc,0xf0,0x00]
65 #CHECK: tabort  4095                    # encoding: [0xb2,0xfc,0x0f,0xff]
66 #CHECK: tabort  4095(%r1)               # encoding: [0xb2,0xfc,0x1f,0xff]
67 #CHECK: tabort  4095(%r15)              # encoding: [0xb2,0xfc,0xff,0xff]
68
69         tabort  0
70         tabort  0(%r1)
71         tabort  0(%r15)
72         tabort  4095
73         tabort  4095(%r1)
74         tabort  4095(%r15)
75
76 #CHECK: tbegin  0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
77 #CHECK: tbegin  4095, 0                 # encoding: [0xe5,0x60,0x0f,0xff,0x00,0x00]
78 #CHECK: tbegin  0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
79 #CHECK: tbegin  0, 1                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x01]
80 #CHECK: tbegin  0, 32767                # encoding: [0xe5,0x60,0x00,0x00,0x7f,0xff]
81 #CHECK: tbegin  0, 32768                # encoding: [0xe5,0x60,0x00,0x00,0x80,0x00]
82 #CHECK: tbegin  0, 65535                # encoding: [0xe5,0x60,0x00,0x00,0xff,0xff]
83 #CHECK: tbegin  0(%r1), 42              # encoding: [0xe5,0x60,0x10,0x00,0x00,0x2a]
84 #CHECK: tbegin  0(%r15), 42             # encoding: [0xe5,0x60,0xf0,0x00,0x00,0x2a]
85 #CHECK: tbegin  4095(%r1), 42           # encoding: [0xe5,0x60,0x1f,0xff,0x00,0x2a]
86 #CHECK: tbegin  4095(%r15), 42          # encoding: [0xe5,0x60,0xff,0xff,0x00,0x2a]
87
88         tbegin  0, 0
89         tbegin  4095, 0
90         tbegin  0, 0
91         tbegin  0, 1
92         tbegin  0, 32767
93         tbegin  0, 32768
94         tbegin  0, 65535
95         tbegin  0(%r1), 42
96         tbegin  0(%r15), 42
97         tbegin  4095(%r1), 42
98         tbegin  4095(%r15), 42
99
100 #CHECK: tbeginc 0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
101 #CHECK: tbeginc 4095, 0                 # encoding: [0xe5,0x61,0x0f,0xff,0x00,0x00]
102 #CHECK: tbeginc 0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
103 #CHECK: tbeginc 0, 1                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x01]
104 #CHECK: tbeginc 0, 32767                # encoding: [0xe5,0x61,0x00,0x00,0x7f,0xff]
105 #CHECK: tbeginc 0, 32768                # encoding: [0xe5,0x61,0x00,0x00,0x80,0x00]
106 #CHECK: tbeginc 0, 65535                # encoding: [0xe5,0x61,0x00,0x00,0xff,0xff]
107 #CHECK: tbeginc 0(%r1), 42              # encoding: [0xe5,0x61,0x10,0x00,0x00,0x2a]
108 #CHECK: tbeginc 0(%r15), 42             # encoding: [0xe5,0x61,0xf0,0x00,0x00,0x2a]
109 #CHECK: tbeginc 4095(%r1), 42           # encoding: [0xe5,0x61,0x1f,0xff,0x00,0x2a]
110 #CHECK: tbeginc 4095(%r15), 42          # encoding: [0xe5,0x61,0xff,0xff,0x00,0x2a]
111
112         tbeginc 0, 0
113         tbeginc 4095, 0
114         tbeginc 0, 0
115         tbeginc 0, 1
116         tbeginc 0, 32767
117         tbeginc 0, 32768
118         tbeginc 0, 65535
119         tbeginc 0(%r1), 42
120         tbeginc 0(%r15), 42
121         tbeginc 4095(%r1), 42
122         tbeginc 4095(%r15), 42
123
124 #CHECK: tend                            # encoding: [0xb2,0xf8,0x00,0x00]
125
126         tend