[AVX512] Add vpermil variable version
[oota-llvm.git] / test / MC / Sparc / sparc-fp-instructions.s
1 ! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
2
3         ! CHECK: fitos %f0, %f4                  ! encoding: [0x89,0xa0,0x18,0x80]
4         ! CHECK: fitod %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0x00]
5         ! CHECK: fitoq %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0x80]
6         fitos %f0, %f4
7         fitod %f0, %f4
8         fitoq %f0, %f4
9
10         ! CHECK: fstoi %f0, %f4                  ! encoding: [0x89,0xa0,0x1a,0x20]
11         ! CHECK: fdtoi %f0, %f4                  ! encoding: [0x89,0xa0,0x1a,0x40]
12         ! CHECK: fqtoi %f0, %f4                  ! encoding: [0x89,0xa0,0x1a,0x60]
13         fstoi %f0, %f4
14         fdtoi %f0, %f4
15         fqtoi %f0, %f4
16
17         ! CHECK: fstod %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0x20]
18         ! CHECK: fstoq %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0xa0]
19         fstod %f0, %f4
20         fstoq %f0, %f4
21
22         ! CHECK: fdtos %f0, %f4                  ! encoding: [0x89,0xa0,0x18,0xc0]
23         ! CHECK: fdtoq %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0xc0]
24         fdtos %f0, %f4
25         fdtoq %f0, %f4
26
27         ! CHECK: fqtos %f0, %f4                  ! encoding: [0x89,0xa0,0x18,0xe0]
28         ! CHECK: fqtod %f0, %f4                  ! encoding: [0x89,0xa0,0x19,0x60]
29         fqtos %f0, %f4
30         fqtod %f0, %f4
31
32         ! CHECK: fmovs %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0x20]
33         ! CHECK: fmovd %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0x40]
34         ! CHECK: fmovq %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0x60]
35         fmovs %f0, %f4
36         fmovd %f0, %f4
37         fmovq %f0, %f4
38
39         ! CHECK: fnegs %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0xa0]
40         ! CHECK: fnegd %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0xc0]
41         ! CHECK: fnegq %f0, %f4                  ! encoding: [0x89,0xa0,0x00,0xe0]
42         fnegs %f0, %f4
43         fnegd %f0, %f4
44         fnegq %f0, %f4
45
46         ! CHECK: fabss %f0, %f4                  ! encoding: [0x89,0xa0,0x01,0x20]
47         ! CHECK: fabsd %f0, %f4                  ! encoding: [0x89,0xa0,0x01,0x40]
48         ! CHECK: fabsq %f0, %f4                  ! encoding: [0x89,0xa0,0x01,0x60]
49         fabss %f0, %f4
50         fabsd %f0, %f4
51         fabsq %f0, %f4
52
53         ! CHECK: fsqrts %f0, %f4                 ! encoding: [0x89,0xa0,0x05,0x20]
54         ! CHECK: fsqrtd %f0, %f4                 ! encoding: [0x89,0xa0,0x05,0x40]
55         ! CHECK: fsqrtq %f0, %f4                 ! encoding: [0x89,0xa0,0x05,0x60]
56         fsqrts %f0, %f4
57         fsqrtd %f0, %f4
58         fsqrtq %f0, %f4
59
60         ! CHECK: fadds %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0x24]
61         ! CHECK: faddd %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0x44]
62         ! CHECK: faddq %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0x64]
63         fadds %f0, %f4, %f8
64         faddd %f0, %f4, %f8
65         faddq %f0, %f4, %f8
66
67         ! make sure we can handle V9 double registers and their aliased quad registers.
68         ! CHECK: faddd %f32, %f34, %f62           ! encoding: [0xbf,0xa0,0x48,0x43]
69         ! CHECK: faddq %f32, %f36, %f60           ! encoding: [0xbb,0xa0,0x48,0x65]
70         faddd %f32, %f34, %f62
71         faddq %f32, %f36, %f60
72
73         ! CHECK: fsubs %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0xa4]
74         ! CHECK: fsubd %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0xc4]
75         ! CHECK: fsubq %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x08,0xe4]
76         fsubs %f0, %f4, %f8
77         fsubd %f0, %f4, %f8
78         fsubq %f0, %f4, %f8
79
80         ! CHECK: fmuls %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0x24]
81         ! CHECK: fmuld %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0x44]
82         ! CHECK: fmulq %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0x64]
83         fmuls %f0, %f4, %f8
84         fmuld %f0, %f4, %f8
85         fmulq %f0, %f4, %f8
86
87         ! CHECK: fsmuld %f0, %f4, %f8            ! encoding: [0x91,0xa0,0x0d,0x24]
88         ! CHECK: fdmulq %f0, %f4, %f8            ! encoding: [0x91,0xa0,0x0d,0xc4]
89         fsmuld %f0, %f4, %f8
90         fdmulq %f0, %f4, %f8
91
92         ! CHECK: fdivs %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0xa4]
93         ! CHECK: fdivd %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0xc4]
94         ! CHECK: fdivq %f0, %f4, %f8             ! encoding: [0x91,0xa0,0x09,0xe4]
95         fdivs %f0, %f4, %f8
96         fdivd %f0, %f4, %f8
97         fdivq %f0, %f4, %f8
98
99         ! CHECK: fcmps %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0x24]
100         ! CHECK: fcmpd %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0x44]
101         ! CHECK: fcmpq %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0x64]
102         fcmps %f0, %f4
103         fcmpd %f0, %f4
104         fcmpq %f0, %f4
105
106         ! CHECK: fcmpes %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0xa4]
107         ! CHECK: fcmped %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0xc4]
108         ! CHECK: fcmpeq %f0, %f4                  ! encoding: [0x81,0xa8,0x0a,0xe4]
109         fcmpes %f0, %f4
110         fcmped %f0, %f4
111         fcmpeq %f0, %f4
112
113         ! CHECK: fcmps %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0x24]
114         ! CHECK: fcmpd %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0x44]
115         ! CHECK: fcmpq %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0x64]
116         fcmps %fcc2, %f0, %f4
117         fcmpd %fcc2, %f0, %f4
118         fcmpq %fcc2, %f0, %f4
119
120         ! CHECK: fcmpes %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0xa4]
121         ! CHECK: fcmped %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0xc4]
122         ! CHECK: fcmpeq %fcc2, %f0, %f4                  ! encoding: [0x85,0xa8,0x0a,0xe4]
123         fcmpes %fcc2, %f0, %f4
124         fcmped %fcc2, %f0, %f4
125         fcmpeq %fcc2, %f0, %f4
126
127         ! CHECK: fxtos %f0, %f4                  ! encoding: [0x89,0xa0,0x10,0x80]
128         ! CHECK: fxtod %f0, %f4                  ! encoding: [0x89,0xa0,0x11,0x00]
129         ! CHECK: fxtoq %f0, %f4                  ! encoding: [0x89,0xa0,0x11,0x80]
130         fxtos %f0, %f4
131         fxtod %f0, %f4
132         fxtoq %f0, %f4
133
134         ! CHECK: fstox %f0, %f4                  ! encoding: [0x89,0xa0,0x10,0x20]
135         ! CHECK: fdtox %f0, %f4                  ! encoding: [0x89,0xa0,0x10,0x40]
136         ! CHECK: fqtox %f0, %f4                  ! encoding: [0x89,0xa0,0x10,0x60]
137         fstox %f0, %f4
138         fdtox %f0, %f4
139         fqtox %f0, %f4
140