[SystemZ] Add NGRK, OGRK and XGRK
[oota-llvm.git] / test / MC / SystemZ / insn-good-z196.s
1 # For z196 and above.
2 # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=z196 -show-encoding %s | FileCheck %s
3
4 #CHECK: ngrk    %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
5 #CHECK: ngrk    %r0, %r0, %r15          # encoding: [0xb9,0xe4,0xf0,0x00]
6 #CHECK: ngrk    %r0, %r15, %r0          # encoding: [0xb9,0xe4,0x00,0x0f]
7 #CHECK: ngrk    %r15, %r0, %r0          # encoding: [0xb9,0xe4,0x00,0xf0]
8 #CHECK: ngrk    %r7, %r8, %r9           # encoding: [0xb9,0xe4,0x90,0x78]
9
10         ngrk    %r0,%r0,%r0
11         ngrk    %r0,%r0,%r15
12         ngrk    %r0,%r15,%r0
13         ngrk    %r15,%r0,%r0
14         ngrk    %r7,%r8,%r9
15
16 #CHECK: nrk     %r0, %r0, %r0           # encoding: [0xb9,0xf4,0x00,0x00]
17 #CHECK: nrk     %r0, %r0, %r15          # encoding: [0xb9,0xf4,0xf0,0x00]
18 #CHECK: nrk     %r0, %r15, %r0          # encoding: [0xb9,0xf4,0x00,0x0f]
19 #CHECK: nrk     %r15, %r0, %r0          # encoding: [0xb9,0xf4,0x00,0xf0]
20 #CHECK: nrk     %r7, %r8, %r9           # encoding: [0xb9,0xf4,0x90,0x78]
21
22         nrk     %r0,%r0,%r0
23         nrk     %r0,%r0,%r15
24         nrk     %r0,%r15,%r0
25         nrk     %r15,%r0,%r0
26         nrk     %r7,%r8,%r9
27
28 #CHECK: ogrk    %r0, %r0, %r0           # encoding: [0xb9,0xe6,0x00,0x00]
29 #CHECK: ogrk    %r0, %r0, %r15          # encoding: [0xb9,0xe6,0xf0,0x00]
30 #CHECK: ogrk    %r0, %r15, %r0          # encoding: [0xb9,0xe6,0x00,0x0f]
31 #CHECK: ogrk    %r15, %r0, %r0          # encoding: [0xb9,0xe6,0x00,0xf0]
32 #CHECK: ogrk    %r7, %r8, %r9           # encoding: [0xb9,0xe6,0x90,0x78]
33
34         ogrk    %r0,%r0,%r0
35         ogrk    %r0,%r0,%r15
36         ogrk    %r0,%r15,%r0
37         ogrk    %r15,%r0,%r0
38         ogrk    %r7,%r8,%r9
39
40 #CHECK: ork     %r0, %r0, %r0           # encoding: [0xb9,0xf6,0x00,0x00]
41 #CHECK: ork     %r0, %r0, %r15          # encoding: [0xb9,0xf6,0xf0,0x00]
42 #CHECK: ork     %r0, %r15, %r0          # encoding: [0xb9,0xf6,0x00,0x0f]
43 #CHECK: ork     %r15, %r0, %r0          # encoding: [0xb9,0xf6,0x00,0xf0]
44 #CHECK: ork     %r7, %r8, %r9           # encoding: [0xb9,0xf6,0x90,0x78]
45
46         ork     %r0,%r0,%r0
47         ork     %r0,%r0,%r15
48         ork     %r0,%r15,%r0
49         ork     %r15,%r0,%r0
50         ork     %r7,%r8,%r9
51
52 #CHECK: sllk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdf]
53 #CHECK: sllk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdf]
54 #CHECK: sllk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdf]
55 #CHECK: sllk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdf]
56 #CHECK: sllk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdf]
57 #CHECK: sllk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdf]
58 #CHECK: sllk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdf]
59 #CHECK: sllk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdf]
60 #CHECK: sllk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdf]
61 #CHECK: sllk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdf]
62 #CHECK: sllk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdf]
63 #CHECK: sllk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdf]
64
65         sllk    %r0,%r0,0
66         sllk    %r15,%r1,0
67         sllk    %r1,%r15,0
68         sllk    %r15,%r15,0
69         sllk    %r0,%r0,-524288
70         sllk    %r0,%r0,-1
71         sllk    %r0,%r0,1
72         sllk    %r0,%r0,524287
73         sllk    %r0,%r0,0(%r1)
74         sllk    %r0,%r0,0(%r15)
75         sllk    %r0,%r0,524287(%r1)
76         sllk    %r0,%r0,524287(%r15)
77
78 #CHECK: srak    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdc]
79 #CHECK: srak    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdc]
80 #CHECK: srak    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdc]
81 #CHECK: srak    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdc]
82 #CHECK: srak    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdc]
83 #CHECK: srak    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdc]
84 #CHECK: srak    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdc]
85 #CHECK: srak    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdc]
86 #CHECK: srak    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdc]
87 #CHECK: srak    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdc]
88 #CHECK: srak    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdc]
89 #CHECK: srak    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdc]
90
91         srak    %r0,%r0,0
92         srak    %r15,%r1,0
93         srak    %r1,%r15,0
94         srak    %r15,%r15,0
95         srak    %r0,%r0,-524288
96         srak    %r0,%r0,-1
97         srak    %r0,%r0,1
98         srak    %r0,%r0,524287
99         srak    %r0,%r0,0(%r1)
100         srak    %r0,%r0,0(%r15)
101         srak    %r0,%r0,524287(%r1)
102         srak    %r0,%r0,524287(%r15)
103
104 #CHECK: srlk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xde]
105 #CHECK: srlk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xde]
106 #CHECK: srlk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xde]
107 #CHECK: srlk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xde]
108 #CHECK: srlk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xde]
109 #CHECK: srlk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xde]
110 #CHECK: srlk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xde]
111 #CHECK: srlk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xde]
112 #CHECK: srlk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xde]
113 #CHECK: srlk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xde]
114 #CHECK: srlk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xde]
115 #CHECK: srlk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xde]
116
117         srlk    %r0,%r0,0
118         srlk    %r15,%r1,0
119         srlk    %r1,%r15,0
120         srlk    %r15,%r15,0
121         srlk    %r0,%r0,-524288
122         srlk    %r0,%r0,-1
123         srlk    %r0,%r0,1
124         srlk    %r0,%r0,524287
125         srlk    %r0,%r0,0(%r1)
126         srlk    %r0,%r0,0(%r15)
127         srlk    %r0,%r0,524287(%r1)
128         srlk    %r0,%r0,524287(%r15)
129
130 #CHECK: xgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
131 #CHECK: xgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe7,0xf0,0x00]
132 #CHECK: xgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe7,0x00,0x0f]
133 #CHECK: xgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe7,0x00,0xf0]
134 #CHECK: xgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe7,0x90,0x78]
135
136         xgrk    %r0,%r0,%r0
137         xgrk    %r0,%r0,%r15
138         xgrk    %r0,%r15,%r0
139         xgrk    %r15,%r0,%r0
140         xgrk    %r7,%r8,%r9
141
142 #CHECK: xrk     %r0, %r0, %r0           # encoding: [0xb9,0xf7,0x00,0x00]
143 #CHECK: xrk     %r0, %r0, %r15          # encoding: [0xb9,0xf7,0xf0,0x00]
144 #CHECK: xrk     %r0, %r15, %r0          # encoding: [0xb9,0xf7,0x00,0x0f]
145 #CHECK: xrk     %r15, %r0, %r0          # encoding: [0xb9,0xf7,0x00,0xf0]
146 #CHECK: xrk     %r7, %r8, %r9           # encoding: [0xb9,0xf7,0x90,0x78]
147
148         xrk     %r0,%r0,%r0
149         xrk     %r0,%r0,%r15
150         xrk     %r0,%r15,%r0
151         xrk     %r15,%r0,%r0
152         xrk     %r7,%r8,%r9