1
2# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s
3# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s
4
5# Floating-point facility
6
7# Floating-point load instructions
8
9# CHECK-BE: lfs 2, 128(4)                   # encoding: [0xc0,0x44,0x00,0x80]
10# CHECK-LE: lfs 2, 128(4)                   # encoding: [0x80,0x00,0x44,0xc0]
11            lfs 2, 128(4)
12# CHECK-BE: lfsx 2, 3, 4                    # encoding: [0x7c,0x43,0x24,0x2e]
13# CHECK-LE: lfsx 2, 3, 4                    # encoding: [0x2e,0x24,0x43,0x7c]
14            lfsx 2, 3, 4
15# CHECK-BE: lfsu 2, 128(4)                  # encoding: [0xc4,0x44,0x00,0x80]
16# CHECK-LE: lfsu 2, 128(4)                  # encoding: [0x80,0x00,0x44,0xc4]
17            lfsu 2, 128(4)
18# CHECK-BE: lfsux 2, 3, 4                   # encoding: [0x7c,0x43,0x24,0x6e]
19# CHECK-LE: lfsux 2, 3, 4                   # encoding: [0x6e,0x24,0x43,0x7c]
20            lfsux 2, 3, 4
21# CHECK-BE: lfd 2, 128(4)                   # encoding: [0xc8,0x44,0x00,0x80]
22# CHECK-LE: lfd 2, 128(4)                   # encoding: [0x80,0x00,0x44,0xc8]
23            lfd 2, 128(4)
24# CHECK-BE: lfdx 2, 3, 4                    # encoding: [0x7c,0x43,0x24,0xae]
25# CHECK-LE: lfdx 2, 3, 4                    # encoding: [0xae,0x24,0x43,0x7c]
26            lfdx 2, 3, 4
27# CHECK-BE: lfdu 2, 128(4)                  # encoding: [0xcc,0x44,0x00,0x80]
28# CHECK-LE: lfdu 2, 128(4)                  # encoding: [0x80,0x00,0x44,0xcc]
29            lfdu 2, 128(4)
30# CHECK-BE: lfdux 2, 3, 4                   # encoding: [0x7c,0x43,0x24,0xee]
31# CHECK-LE: lfdux 2, 3, 4                   # encoding: [0xee,0x24,0x43,0x7c]
32            lfdux 2, 3, 4
33# CHECK-BE: lfiwax 2, 3, 4                  # encoding: [0x7c,0x43,0x26,0xae]
34# CHECK-LE: lfiwax 2, 3, 4                  # encoding: [0xae,0x26,0x43,0x7c]
35            lfiwax 2, 3, 4
36# CHECK-BE: lfiwzx 2, 3, 4                  # encoding: [0x7c,0x43,0x26,0xee]
37# CHECK-LE: lfiwzx 2, 3, 4                  # encoding: [0xee,0x26,0x43,0x7c]
38            lfiwzx 2, 3, 4
39
40# Floating-point store instructions
41
42# CHECK-BE: stfs 2, 128(4)                  # encoding: [0xd0,0x44,0x00,0x80]
43# CHECK-LE: stfs 2, 128(4)                  # encoding: [0x80,0x00,0x44,0xd0]
44            stfs 2, 128(4)
45# CHECK-BE: stfsx 2, 3, 4                   # encoding: [0x7c,0x43,0x25,0x2e]
46# CHECK-LE: stfsx 2, 3, 4                   # encoding: [0x2e,0x25,0x43,0x7c]
47            stfsx 2, 3, 4
48# CHECK-BE: stfsu 2, 128(4)                 # encoding: [0xd4,0x44,0x00,0x80]
49# CHECK-LE: stfsu 2, 128(4)                 # encoding: [0x80,0x00,0x44,0xd4]
50            stfsu 2, 128(4)
51# CHECK-BE: stfsux 2, 3, 4                  # encoding: [0x7c,0x43,0x25,0x6e]
52# CHECK-LE: stfsux 2, 3, 4                  # encoding: [0x6e,0x25,0x43,0x7c]
53            stfsux 2, 3, 4
54# CHECK-BE: stfd 2, 128(4)                  # encoding: [0xd8,0x44,0x00,0x80]
55# CHECK-LE: stfd 2, 128(4)                  # encoding: [0x80,0x00,0x44,0xd8]
56            stfd 2, 128(4)
57# CHECK-BE: stfdx 2, 3, 4                   # encoding: [0x7c,0x43,0x25,0xae]
58# CHECK-LE: stfdx 2, 3, 4                   # encoding: [0xae,0x25,0x43,0x7c]
59            stfdx 2, 3, 4
60# CHECK-BE: stfdu 2, 128(4)                 # encoding: [0xdc,0x44,0x00,0x80]
61# CHECK-LE: stfdu 2, 128(4)                 # encoding: [0x80,0x00,0x44,0xdc]
62            stfdu 2, 128(4)
63# CHECK-BE: stfdux 2, 3, 4                  # encoding: [0x7c,0x43,0x25,0xee]
64# CHECK-LE: stfdux 2, 3, 4                  # encoding: [0xee,0x25,0x43,0x7c]
65            stfdux 2, 3, 4
66# CHECK-BE: stfiwx 2, 3, 4                  # encoding: [0x7c,0x43,0x27,0xae]
67# CHECK-LE: stfiwx 2, 3, 4                  # encoding: [0xae,0x27,0x43,0x7c]
68            stfiwx 2, 3, 4
69
70# Floating-point move instructions
71
72# CHECK-BE: fmr 2, 3                        # encoding: [0xfc,0x40,0x18,0x90]
73# CHECK-LE: fmr 2, 3                        # encoding: [0x90,0x18,0x40,0xfc]
74            fmr 2, 3
75# CHECK-BE: fmr. 2, 3                       # encoding: [0xfc,0x40,0x18,0x91]
76# CHECK-LE: fmr. 2, 3                       # encoding: [0x91,0x18,0x40,0xfc]
77            fmr. 2, 3
78# CHECK-BE: fneg 2, 3                       # encoding: [0xfc,0x40,0x18,0x50]
79# CHECK-LE: fneg 2, 3                       # encoding: [0x50,0x18,0x40,0xfc]
80            fneg 2, 3
81# CHECK-BE: fneg. 2, 3                      # encoding: [0xfc,0x40,0x18,0x51]
82# CHECK-LE: fneg. 2, 3                      # encoding: [0x51,0x18,0x40,0xfc]
83            fneg. 2, 3
84# CHECK-BE: fabs 2, 3                       # encoding: [0xfc,0x40,0x1a,0x10]
85# CHECK-LE: fabs 2, 3                       # encoding: [0x10,0x1a,0x40,0xfc]
86            fabs 2, 3
87# CHECK-BE: fabs. 2, 3                      # encoding: [0xfc,0x40,0x1a,0x11]
88# CHECK-LE: fabs. 2, 3                      # encoding: [0x11,0x1a,0x40,0xfc]
89            fabs. 2, 3
90# CHECK-BE: fnabs 2, 3                      # encoding: [0xfc,0x40,0x19,0x10]
91# CHECK-LE: fnabs 2, 3                      # encoding: [0x10,0x19,0x40,0xfc]
92            fnabs 2, 3
93# CHECK-BE: fnabs. 2, 3                     # encoding: [0xfc,0x40,0x19,0x11]
94# CHECK-LE: fnabs. 2, 3                     # encoding: [0x11,0x19,0x40,0xfc]
95            fnabs. 2, 3
96# CHECK-BE: fcpsgn 2, 3, 4                  # encoding: [0xfc,0x43,0x20,0x10]
97# CHECK-LE: fcpsgn 2, 3, 4                  # encoding: [0x10,0x20,0x43,0xfc]
98            fcpsgn 2, 3, 4
99# CHECK-BE: fcpsgn. 2, 3, 4                 # encoding: [0xfc,0x43,0x20,0x11]
100# CHECK-LE: fcpsgn. 2, 3, 4                 # encoding: [0x11,0x20,0x43,0xfc]
101            fcpsgn. 2, 3, 4
102
103# Floating-point arithmetic instructions
104
105# CHECK-BE: fadd 2, 3, 4                    # encoding: [0xfc,0x43,0x20,0x2a]
106# CHECK-LE: fadd 2, 3, 4                    # encoding: [0x2a,0x20,0x43,0xfc]
107            fadd 2, 3, 4
108# CHECK-BE: fadd. 2, 3, 4                   # encoding: [0xfc,0x43,0x20,0x2b]
109# CHECK-LE: fadd. 2, 3, 4                   # encoding: [0x2b,0x20,0x43,0xfc]
110            fadd. 2, 3, 4
111# CHECK-BE: fadds 2, 3, 4                   # encoding: [0xec,0x43,0x20,0x2a]
112# CHECK-LE: fadds 2, 3, 4                   # encoding: [0x2a,0x20,0x43,0xec]
113            fadds 2, 3, 4
114# CHECK-BE: fadds. 2, 3, 4                  # encoding: [0xec,0x43,0x20,0x2b]
115# CHECK-LE: fadds. 2, 3, 4                  # encoding: [0x2b,0x20,0x43,0xec]
116            fadds. 2, 3, 4
117# CHECK-BE: fsub 2, 3, 4                    # encoding: [0xfc,0x43,0x20,0x28]
118# CHECK-LE: fsub 2, 3, 4                    # encoding: [0x28,0x20,0x43,0xfc]
119            fsub 2, 3, 4
120# CHECK-BE: fsub. 2, 3, 4                   # encoding: [0xfc,0x43,0x20,0x29]
121# CHECK-LE: fsub. 2, 3, 4                   # encoding: [0x29,0x20,0x43,0xfc]
122            fsub. 2, 3, 4
123# CHECK-BE: fsubs 2, 3, 4                   # encoding: [0xec,0x43,0x20,0x28]
124# CHECK-LE: fsubs 2, 3, 4                   # encoding: [0x28,0x20,0x43,0xec]
125            fsubs 2, 3, 4
126# CHECK-BE: fsubs. 2, 3, 4                  # encoding: [0xec,0x43,0x20,0x29]
127# CHECK-LE: fsubs. 2, 3, 4                  # encoding: [0x29,0x20,0x43,0xec]
128            fsubs. 2, 3, 4
129
130# CHECK-BE: fmul 2, 3, 4                    # encoding: [0xfc,0x43,0x01,0x32]
131# CHECK-LE: fmul 2, 3, 4                    # encoding: [0x32,0x01,0x43,0xfc]
132            fmul 2, 3, 4
133# CHECK-BE: fmul. 2, 3, 4                   # encoding: [0xfc,0x43,0x01,0x33]
134# CHECK-LE: fmul. 2, 3, 4                   # encoding: [0x33,0x01,0x43,0xfc]
135            fmul. 2, 3, 4
136# CHECK-BE: fmuls 2, 3, 4                   # encoding: [0xec,0x43,0x01,0x32]
137# CHECK-LE: fmuls 2, 3, 4                   # encoding: [0x32,0x01,0x43,0xec]
138            fmuls 2, 3, 4
139# CHECK-BE: fmuls. 2, 3, 4                  # encoding: [0xec,0x43,0x01,0x33]
140# CHECK-LE: fmuls. 2, 3, 4                  # encoding: [0x33,0x01,0x43,0xec]
141            fmuls. 2, 3, 4
142# CHECK-BE: fdiv 2, 3, 4                    # encoding: [0xfc,0x43,0x20,0x24]
143# CHECK-LE: fdiv 2, 3, 4                    # encoding: [0x24,0x20,0x43,0xfc]
144            fdiv 2, 3, 4
145# CHECK-BE: fdiv. 2, 3, 4                   # encoding: [0xfc,0x43,0x20,0x25]
146# CHECK-LE: fdiv. 2, 3, 4                   # encoding: [0x25,0x20,0x43,0xfc]
147            fdiv. 2, 3, 4
148# CHECK-BE: fdivs 2, 3, 4                   # encoding: [0xec,0x43,0x20,0x24]
149# CHECK-LE: fdivs 2, 3, 4                   # encoding: [0x24,0x20,0x43,0xec]
150            fdivs 2, 3, 4
151# CHECK-BE: fdivs. 2, 3, 4                  # encoding: [0xec,0x43,0x20,0x25]
152# CHECK-LE: fdivs. 2, 3, 4                  # encoding: [0x25,0x20,0x43,0xec]
153            fdivs. 2, 3, 4
154# CHECK-BE: fsqrt 2, 3                      # encoding: [0xfc,0x40,0x18,0x2c]
155# CHECK-LE: fsqrt 2, 3                      # encoding: [0x2c,0x18,0x40,0xfc]
156            fsqrt 2, 3
157# CHECK-BE: fsqrt. 2, 3                     # encoding: [0xfc,0x40,0x18,0x2d]
158# CHECK-LE: fsqrt. 2, 3                     # encoding: [0x2d,0x18,0x40,0xfc]
159            fsqrt. 2, 3
160# CHECK-BE: fsqrts 2, 3                     # encoding: [0xec,0x40,0x18,0x2c]
161# CHECK-LE: fsqrts 2, 3                     # encoding: [0x2c,0x18,0x40,0xec]
162            fsqrts 2, 3
163# CHECK-BE: fsqrts. 2, 3                    # encoding: [0xec,0x40,0x18,0x2d]
164# CHECK-LE: fsqrts. 2, 3                    # encoding: [0x2d,0x18,0x40,0xec]
165            fsqrts. 2, 3
166
167# CHECK-BE: fre 2, 3                        # encoding: [0xfc,0x40,0x18,0x30]
168# CHECK-LE: fre 2, 3                        # encoding: [0x30,0x18,0x40,0xfc]
169            fre 2, 3
170# CHECK-BE: fre. 2, 3                       # encoding: [0xfc,0x40,0x18,0x31]
171# CHECK-LE: fre. 2, 3                       # encoding: [0x31,0x18,0x40,0xfc]
172            fre. 2, 3
173# CHECK-BE: fres 2, 3                       # encoding: [0xec,0x40,0x18,0x30]
174# CHECK-LE: fres 2, 3                       # encoding: [0x30,0x18,0x40,0xec]
175            fres 2, 3
176# CHECK-BE: fres. 2, 3                      # encoding: [0xec,0x40,0x18,0x31]
177# CHECK-LE: fres. 2, 3                      # encoding: [0x31,0x18,0x40,0xec]
178            fres. 2, 3
179# CHECK-BE: frsqrte 2, 3                    # encoding: [0xfc,0x40,0x18,0x34]
180# CHECK-LE: frsqrte 2, 3                    # encoding: [0x34,0x18,0x40,0xfc]
181            frsqrte 2, 3
182# CHECK-BE: frsqrte. 2, 3                   # encoding: [0xfc,0x40,0x18,0x35]
183# CHECK-LE: frsqrte. 2, 3                   # encoding: [0x35,0x18,0x40,0xfc]
184            frsqrte. 2, 3
185# CHECK-BE: frsqrtes 2, 3                   # encoding: [0xec,0x40,0x18,0x34]
186# CHECK-LE: frsqrtes 2, 3                   # encoding: [0x34,0x18,0x40,0xec]
187            frsqrtes 2, 3
188# CHECK-BE: frsqrtes. 2, 3                  # encoding: [0xec,0x40,0x18,0x35]
189# CHECK-LE: frsqrtes. 2, 3                  # encoding: [0x35,0x18,0x40,0xec]
190            frsqrtes. 2, 3
191
192# CHECK-BE: ftdiv 2, 3, 4                   # encoding: [0xfd,0x03,0x21,0x00]
193# CHECK-LE: ftdiv 2, 3, 4                   # encoding: [0x00,0x21,0x03,0xfd]
194            ftdiv 2, 3, 4
195
196# CHECK-BE: ftsqrt 2, 3                    # encoding: [0xfd,0x00,0x19,0x40]
197# CHECK-LE: ftsqrt 2, 3                    # encoding: [0x40,0x19,0x00,0xfd]
198            ftsqrt 2, 3
199
200# CHECK-BE: fmadd 2, 3, 4, 5                # encoding: [0xfc,0x43,0x29,0x3a]
201# CHECK-LE: fmadd 2, 3, 4, 5                # encoding: [0x3a,0x29,0x43,0xfc]
202            fmadd 2, 3, 4, 5
203# CHECK-BE: fmadd. 2, 3, 4, 5               # encoding: [0xfc,0x43,0x29,0x3b]
204# CHECK-LE: fmadd. 2, 3, 4, 5               # encoding: [0x3b,0x29,0x43,0xfc]
205            fmadd. 2, 3, 4, 5
206# CHECK-BE: fmadds 2, 3, 4, 5               # encoding: [0xec,0x43,0x29,0x3a]
207# CHECK-LE: fmadds 2, 3, 4, 5               # encoding: [0x3a,0x29,0x43,0xec]
208            fmadds 2, 3, 4, 5
209# CHECK-BE: fmadds. 2, 3, 4, 5              # encoding: [0xec,0x43,0x29,0x3b]
210# CHECK-LE: fmadds. 2, 3, 4, 5              # encoding: [0x3b,0x29,0x43,0xec]
211            fmadds. 2, 3, 4, 5
212# CHECK-BE: fmsub 2, 3, 4, 5                # encoding: [0xfc,0x43,0x29,0x38]
213# CHECK-LE: fmsub 2, 3, 4, 5                # encoding: [0x38,0x29,0x43,0xfc]
214            fmsub 2, 3, 4, 5
215# CHECK-BE: fmsub. 2, 3, 4, 5               # encoding: [0xfc,0x43,0x29,0x39]
216# CHECK-LE: fmsub. 2, 3, 4, 5               # encoding: [0x39,0x29,0x43,0xfc]
217            fmsub. 2, 3, 4, 5
218# CHECK-BE: fmsubs 2, 3, 4, 5               # encoding: [0xec,0x43,0x29,0x38]
219# CHECK-LE: fmsubs 2, 3, 4, 5               # encoding: [0x38,0x29,0x43,0xec]
220            fmsubs 2, 3, 4, 5
221# CHECK-BE: fmsubs. 2, 3, 4, 5              # encoding: [0xec,0x43,0x29,0x39]
222# CHECK-LE: fmsubs. 2, 3, 4, 5              # encoding: [0x39,0x29,0x43,0xec]
223            fmsubs. 2, 3, 4, 5
224# CHECK-BE: fnmadd 2, 3, 4, 5               # encoding: [0xfc,0x43,0x29,0x3e]
225# CHECK-LE: fnmadd 2, 3, 4, 5               # encoding: [0x3e,0x29,0x43,0xfc]
226            fnmadd 2, 3, 4, 5
227# CHECK-BE: fnmadd. 2, 3, 4, 5              # encoding: [0xfc,0x43,0x29,0x3f]
228# CHECK-LE: fnmadd. 2, 3, 4, 5              # encoding: [0x3f,0x29,0x43,0xfc]
229            fnmadd. 2, 3, 4, 5
230# CHECK-BE: fnmadds 2, 3, 4, 5              # encoding: [0xec,0x43,0x29,0x3e]
231# CHECK-LE: fnmadds 2, 3, 4, 5              # encoding: [0x3e,0x29,0x43,0xec]
232            fnmadds 2, 3, 4, 5
233# CHECK-BE: fnmadds. 2, 3, 4, 5             # encoding: [0xec,0x43,0x29,0x3f]
234# CHECK-LE: fnmadds. 2, 3, 4, 5             # encoding: [0x3f,0x29,0x43,0xec]
235            fnmadds. 2, 3, 4, 5
236# CHECK-BE: fnmsub 2, 3, 4, 5               # encoding: [0xfc,0x43,0x29,0x3c]
237# CHECK-LE: fnmsub 2, 3, 4, 5               # encoding: [0x3c,0x29,0x43,0xfc]
238            fnmsub 2, 3, 4, 5
239# CHECK-BE: fnmsub. 2, 3, 4, 5              # encoding: [0xfc,0x43,0x29,0x3d]
240# CHECK-LE: fnmsub. 2, 3, 4, 5              # encoding: [0x3d,0x29,0x43,0xfc]
241            fnmsub. 2, 3, 4, 5
242# CHECK-BE: fnmsubs 2, 3, 4, 5              # encoding: [0xec,0x43,0x29,0x3c]
243# CHECK-LE: fnmsubs 2, 3, 4, 5              # encoding: [0x3c,0x29,0x43,0xec]
244            fnmsubs 2, 3, 4, 5
245# CHECK-BE: fnmsubs. 2, 3, 4, 5             # encoding: [0xec,0x43,0x29,0x3d]
246# CHECK-LE: fnmsubs. 2, 3, 4, 5             # encoding: [0x3d,0x29,0x43,0xec]
247            fnmsubs. 2, 3, 4, 5
248
249# Floating-point rounding and conversion instructions
250
251# CHECK-BE: frsp 2, 3                       # encoding: [0xfc,0x40,0x18,0x18]
252# CHECK-LE: frsp 2, 3                       # encoding: [0x18,0x18,0x40,0xfc]
253            frsp 2, 3
254# CHECK-BE: frsp. 2, 3                      # encoding: [0xfc,0x40,0x18,0x19]
255# CHECK-LE: frsp. 2, 3                      # encoding: [0x19,0x18,0x40,0xfc]
256            frsp. 2, 3
257
258# CHECK-BE: fctid 2, 3                      # encoding: [0xfc,0x40,0x1e,0x5c]
259# CHECK-LE: fctid 2, 3                      # encoding: [0x5c,0x1e,0x40,0xfc]
260            fctid 2, 3
261# CHECK-BE: fctid. 2, 3                     # encoding: [0xfc,0x40,0x1e,0x5d]
262# CHECK-LE: fctid. 2, 3                     # encoding: [0x5d,0x1e,0x40,0xfc]
263            fctid. 2, 3
264
265# CHECK-BE: fctidu 2, 3                      # encoding: [0xfc,0x40,0x1f,0x5c]
266# CHECK-LE: fctidu 2, 3                      # encoding: [0x5c,0x1f,0x40,0xfc]
267            fctidu 2, 3
268# CHECK-BE: fctidu. 2, 3                     # encoding: [0xfc,0x40,0x1f,0x5d]
269# CHECK-LE: fctidu. 2, 3                     # encoding: [0x5d,0x1f,0x40,0xfc]
270            fctidu. 2, 3
271
272# CHECK-BE: fctidz 2, 3                     # encoding: [0xfc,0x40,0x1e,0x5e]
273# CHECK-LE: fctidz 2, 3                     # encoding: [0x5e,0x1e,0x40,0xfc]
274            fctidz 2, 3
275# CHECK-BE: fctidz. 2, 3                    # encoding: [0xfc,0x40,0x1e,0x5f]
276# CHECK-LE: fctidz. 2, 3                    # encoding: [0x5f,0x1e,0x40,0xfc]
277            fctidz. 2, 3
278
279# CHECK-BE: fctiduz 2, 3                    # encoding: [0xfc,0x40,0x1f,0x5e]
280# CHECK-LE: fctiduz 2, 3                    # encoding: [0x5e,0x1f,0x40,0xfc]
281            fctiduz 2, 3
282# CHECK-BE: fctiduz. 2, 3                   # encoding: [0xfc,0x40,0x1f,0x5f]
283# CHECK-LE: fctiduz. 2, 3                   # encoding: [0x5f,0x1f,0x40,0xfc]
284            fctiduz. 2, 3
285
286# CHECK-BE: fctiw 2, 3                      # encoding: [0xfc,0x40,0x18,0x1c]
287# CHECK-LE: fctiw 2, 3                      # encoding: [0x1c,0x18,0x40,0xfc]
288            fctiw 2, 3
289# CHECK-BE: fctiw. 2, 3                     # encoding: [0xfc,0x40,0x18,0x1d]
290# CHECK-LE: fctiw. 2, 3                     # encoding: [0x1d,0x18,0x40,0xfc]
291            fctiw. 2, 3
292
293# CHECK-BE: fctiwu 2, 3                      # encoding: [0xfc,0x40,0x19,0x1c]
294# CHECK-LE: fctiwu 2, 3                      # encoding: [0x1c,0x19,0x40,0xfc]
295            fctiwu 2, 3
296# CHECK-BE: fctiwu. 2, 3                     # encoding: [0xfc,0x40,0x19,0x1d]
297# CHECK-LE: fctiwu. 2, 3                     # encoding: [0x1d,0x19,0x40,0xfc]
298            fctiwu. 2, 3
299
300# CHECK-BE: fctiwz 2, 3                     # encoding: [0xfc,0x40,0x18,0x1e]
301# CHECK-LE: fctiwz 2, 3                     # encoding: [0x1e,0x18,0x40,0xfc]
302            fctiwz 2, 3
303# CHECK-BE: fctiwz. 2, 3                    # encoding: [0xfc,0x40,0x18,0x1f]
304# CHECK-LE: fctiwz. 2, 3                    # encoding: [0x1f,0x18,0x40,0xfc]
305            fctiwz. 2, 3
306# CHECK-BE: fctiwuz 2, 3                    # encoding: [0xfc,0x40,0x19,0x1e]
307# CHECK-LE: fctiwuz 2, 3                    # encoding: [0x1e,0x19,0x40,0xfc]
308            fctiwuz 2, 3
309# CHECK-BE: fctiwuz. 2, 3                   # encoding: [0xfc,0x40,0x19,0x1f]
310# CHECK-LE: fctiwuz. 2, 3                   # encoding: [0x1f,0x19,0x40,0xfc]
311            fctiwuz. 2, 3
312# CHECK-BE: fcfid 2, 3                      # encoding: [0xfc,0x40,0x1e,0x9c]
313# CHECK-LE: fcfid 2, 3                      # encoding: [0x9c,0x1e,0x40,0xfc]
314            fcfid 2, 3
315# CHECK-BE: fcfid. 2, 3                     # encoding: [0xfc,0x40,0x1e,0x9d]
316# CHECK-LE: fcfid. 2, 3                     # encoding: [0x9d,0x1e,0x40,0xfc]
317            fcfid. 2, 3
318# CHECK-BE: fcfidu 2, 3                     # encoding: [0xfc,0x40,0x1f,0x9c]
319# CHECK-LE: fcfidu 2, 3                     # encoding: [0x9c,0x1f,0x40,0xfc]
320            fcfidu 2, 3
321# CHECK-BE: fcfidu. 2, 3                    # encoding: [0xfc,0x40,0x1f,0x9d]
322# CHECK-LE: fcfidu. 2, 3                    # encoding: [0x9d,0x1f,0x40,0xfc]
323            fcfidu. 2, 3
324# CHECK-BE: fcfids 2, 3                     # encoding: [0xec,0x40,0x1e,0x9c]
325# CHECK-LE: fcfids 2, 3                     # encoding: [0x9c,0x1e,0x40,0xec]
326            fcfids 2, 3
327# CHECK-BE: fcfids. 2, 3                    # encoding: [0xec,0x40,0x1e,0x9d]
328# CHECK-LE: fcfids. 2, 3                    # encoding: [0x9d,0x1e,0x40,0xec]
329            fcfids. 2, 3
330# CHECK-BE: fcfidus 2, 3                    # encoding: [0xec,0x40,0x1f,0x9c]
331# CHECK-LE: fcfidus 2, 3                    # encoding: [0x9c,0x1f,0x40,0xec]
332            fcfidus 2, 3
333# CHECK-BE: fcfidus. 2, 3                   # encoding: [0xec,0x40,0x1f,0x9d]
334# CHECK-LE: fcfidus. 2, 3                   # encoding: [0x9d,0x1f,0x40,0xec]
335            fcfidus. 2, 3
336# CHECK-BE: frin 2, 3                       # encoding: [0xfc,0x40,0x1b,0x10]
337# CHECK-LE: frin 2, 3                       # encoding: [0x10,0x1b,0x40,0xfc]
338            frin 2, 3
339# CHECK-BE: frin. 2, 3                      # encoding: [0xfc,0x40,0x1b,0x11]
340# CHECK-LE: frin. 2, 3                      # encoding: [0x11,0x1b,0x40,0xfc]
341            frin. 2, 3
342# CHECK-BE: frip 2, 3                       # encoding: [0xfc,0x40,0x1b,0x90]
343# CHECK-LE: frip 2, 3                       # encoding: [0x90,0x1b,0x40,0xfc]
344            frip 2, 3
345# CHECK-BE: frip. 2, 3                      # encoding: [0xfc,0x40,0x1b,0x91]
346# CHECK-LE: frip. 2, 3                      # encoding: [0x91,0x1b,0x40,0xfc]
347            frip. 2, 3
348# CHECK-BE: friz 2, 3                       # encoding: [0xfc,0x40,0x1b,0x50]
349# CHECK-LE: friz 2, 3                       # encoding: [0x50,0x1b,0x40,0xfc]
350            friz 2, 3
351# CHECK-BE: friz. 2, 3                      # encoding: [0xfc,0x40,0x1b,0x51]
352# CHECK-LE: friz. 2, 3                      # encoding: [0x51,0x1b,0x40,0xfc]
353            friz. 2, 3
354# CHECK-BE: frim 2, 3                       # encoding: [0xfc,0x40,0x1b,0xd0]
355# CHECK-LE: frim 2, 3                       # encoding: [0xd0,0x1b,0x40,0xfc]
356            frim 2, 3
357# CHECK-BE: frim. 2, 3                      # encoding: [0xfc,0x40,0x1b,0xd1]
358# CHECK-LE: frim. 2, 3                      # encoding: [0xd1,0x1b,0x40,0xfc]
359            frim. 2, 3
360
361# Floating-point compare instructions
362
363# CHECK-BE: fcmpu 2, 3, 4                   # encoding: [0xfd,0x03,0x20,0x00]
364# CHECK-LE: fcmpu 2, 3, 4                   # encoding: [0x00,0x20,0x03,0xfd]
365            fcmpu 2, 3, 4
366# FIXME:    fcmpo 2, 3, 4
367
368# Floating-point select instruction
369
370# CHECK-BE: fsel 2, 3, 4, 5                 # encoding: [0xfc,0x43,0x29,0x2e]
371# CHECK-LE: fsel 2, 3, 4, 5                 # encoding: [0x2e,0x29,0x43,0xfc]
372            fsel 2, 3, 4, 5
373# CHECK-BE: fsel. 2, 3, 4, 5                # encoding: [0xfc,0x43,0x29,0x2f]
374# CHECK-LE: fsel. 2, 3, 4, 5                # encoding: [0x2f,0x29,0x43,0xfc]
375            fsel. 2, 3, 4, 5
376
377# Floating-point status and control register instructions
378
379# CHECK-BE: mffs 2                          # encoding: [0xfc,0x40,0x04,0x8e]
380# CHECK-LE: mffs 2                          # encoding: [0x8e,0x04,0x40,0xfc]
381            mffs 2
382# CHECK-BE: mffs. 7                         # encoding: [0xfc,0xe0,0x04,0x8f]
383# CHECK-LE: mffs. 7                         # encoding: [0x8f,0x04,0xe0,0xfc]
384            mffs. 7
385# CHECK-BE: mffsce 2                        # encoding: [0xfc,0x41,0x04,0x8e]
386# CHECK-LE: mffsce 2                        # encoding: [0x8e,0x04,0x41,0xfc]
387            mffsce 2
388# CHECK-BE: mffscdrn 2, 3                   # encoding: [0xfc,0x54,0x1c,0x8e]
389# CHECK-LE: mffscdrn 2, 3                   # encoding: [0x8e,0x1c,0x54,0xfc]
390            mffscdrn 2, 3
391# CHECK-BE: mffscdrni 2, 3                  # encoding: [0xfc,0x55,0x1c,0x8e]
392# CHECK-LE: mffscdrni 2, 3                  # encoding: [0x8e,0x1c,0x55,0xfc]
393            mffscdrni 2, 3
394# CHECK-BE: mffscrn 2, 3                    # encoding: [0xfc,0x56,0x1c,0x8e]
395# CHECK-LE: mffscrn 2, 3                    # encoding: [0x8e,0x1c,0x56,0xfc]
396            mffscrn 2, 3
397# CHECK-BE: mffscrni 2, 3                   # encoding: [0xfc,0x57,0x1c,0x8e]
398# CHECK-LE: mffscrni 2, 3                   # encoding: [0x8e,0x1c,0x57,0xfc]
399            mffscrni 2, 3
400# CHECK-BE: mffsl 2                         # encoding: [0xfc,0x58,0x04,0x8e]
401# CHECK-LE: mffsl 2                         # encoding: [0x8e,0x04,0x58,0xfc]
402            mffsl 2
403# CHECK-BE: mcrfs 4, 5                      # encoding: [0xfe,0x14,0x00,0x80]
404# CHECK-LE: mcrfs 4, 5                      # encoding: [0x80,0x00,0x14,0xfe]
405            mcrfs 4, 5
406# CHECK-BE: mtfsfi 5, 2, 1                  # encoding: [0xfe,0x81,0x21,0x0c]
407# CHECK-LE: mtfsfi 5, 2, 1                  # encoding: [0x0c,0x21,0x81,0xfe]
408            mtfsfi 5, 2, 1
409# CHECK-BE: mtfsfi. 5, 2, 1                 # encoding: [0xfe,0x81,0x21,0x0d]
410# CHECK-LE: mtfsfi. 5, 2, 1                 # encoding: [0x0d,0x21,0x81,0xfe]
411            mtfsfi. 5, 2, 1
412# CHECK-BE: mtfsfi 6, 2                     # encoding: [0xff,0x00,0x21,0x0c]
413# CHECK-LE: mtfsfi 6, 2                     # encoding: [0x0c,0x21,0x00,0xff]
414            mtfsfi 6, 2
415# CHECK-BE: mtfsfi. 6, 2                    # encoding: [0xff,0x00,0x21,0x0d]
416# CHECK-LE: mtfsfi. 6, 2                    # encoding: [0x0d,0x21,0x00,0xff]
417            mtfsfi. 6, 2
418# CHECK-BE: mtfsf 127, 8, 1, 1              # encoding: [0xfe,0xff,0x45,0x8e]
419# CHECK-LE: mtfsf 127, 8, 1, 1              # encoding: [0x8e,0x45,0xff,0xfe]
420            mtfsf 127, 8, 1, 1
421# CHECK-BE: mtfsf. 125, 8, 1, 1             # encoding: [0xfe,0xfb,0x45,0x8f]
422# CHECK-LE: mtfsf. 125, 8, 1, 1             # encoding: [0x8f,0x45,0xfb,0xfe]
423            mtfsf. 125, 8, 1, 1
424# CHECK-BE: mtfsf 127, 6                    # encoding: [0xfc,0xfe,0x35,0x8e]
425# CHECK-LE: mtfsf 127, 6                    # encoding: [0x8e,0x35,0xfe,0xfc]
426            mtfsf 127, 6
427# CHECK-BE: mtfsf. 125, 6                   # encoding: [0xfc,0xfa,0x35,0x8f]
428# CHECK-LE: mtfsf. 125, 6                   # encoding: [0x8f,0x35,0xfa,0xfc]
429            mtfsf. 125, 6
430# CHECK-BE: mtfsb0 31                       # encoding: [0xff,0xe0,0x00,0x8c]
431# CHECK-LE: mtfsb0 31                       # encoding: [0x8c,0x00,0xe0,0xff]
432            mtfsb0 31
433# FIXME:    mtfsb0. 31
434# CHECK-BE: mtfsb1 31                       # encoding: [0xff,0xe0,0x00,0x4c]
435# CHECK-LE: mtfsb1 31                       # encoding: [0x4c,0x00,0xe0,0xff]
436            mtfsb1 31
437# FIXME:    mtfsb1. 31
438
439