1------------------------------------------------------------------------
2-- dqXor.decTest -- digitwise logical XOR for decQuads                --
3-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
4------------------------------------------------------------------------
5-- Please see the document "General Decimal Arithmetic Testcases"     --
6-- at http://www2.hursley.ibm.com/decimal for the description of      --
7-- these testcases.                                                   --
8--                                                                    --
9-- These testcases are experimental ('beta' versions), and they       --
10-- may contain errors.  They are offered on an as-is basis.  In       --
11-- particular, achieving the same results as the tests here is not    --
12-- a guarantee that an implementation complies with any Standard      --
13-- or specification.  The tests are not exhaustive.                   --
14--                                                                    --
15-- Please send comments, suggestions, and corrections to the author:  --
16--   Mike Cowlishaw, IBM Fellow                                       --
17--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
18--   mfc@uk.ibm.com                                                   --
19------------------------------------------------------------------------
20version: 2.59
21
22extended:    1
23clamp:       1
24precision:   34
25maxExponent: 6144
26minExponent: -6143
27rounding:    half_even
28
29-- Sanity check (truth table)
30dqxor001 xor             0    0 ->    0
31dqxor002 xor             0    1 ->    1
32dqxor003 xor             1    0 ->    1
33dqxor004 xor             1    1 ->    0
34dqxor005 xor          1100 1010 ->  110
35-- and at msd and msd-1
36dqxor006 xor 0000000000000000000000000000000000 0000000000000000000000000000000000 ->           0
37dqxor007 xor 0000000000000000000000000000000000 1000000000000000000000000000000000 ->   1000000000000000000000000000000000
38dqxor008 xor 1000000000000000000000000000000000 0000000000000000000000000000000000 ->   1000000000000000000000000000000000
39dqxor009 xor 1000000000000000000000000000000000 1000000000000000000000000000000000 ->           0
40dqxor010 xor 0000000000000000000000000000000000 0000000000000000000000000000000000 ->           0
41dqxor011 xor 0000000000000000000000000000000000 0100000000000000000000000000000000 ->    100000000000000000000000000000000
42dqxor012 xor 0100000000000000000000000000000000 0000000000000000000000000000000000 ->    100000000000000000000000000000000
43dqxor013 xor 0100000000000000000000000000000000 0100000000000000000000000000000000 ->           0
44
45-- Various lengths
46--           1234567890123456789012345678901234
47dqxor601 xor 0111111111111111111111111111111111 1111111111111111111111111111111111  -> 1000000000000000000000000000000000
48dqxor602 xor 1011111111111111111111111111111111 1111111111111111111111111111111111  ->  100000000000000000000000000000000
49dqxor603 xor 1101111111111111111111111111111111 1111111111111111111111111111111111  ->   10000000000000000000000000000000
50dqxor604 xor 1110111111111111111111111111111111 1111111111111111111111111111111111  ->    1000000000000000000000000000000
51dqxor605 xor 1111011111111111111111111111111111 1111111111111111111111111111111111  ->     100000000000000000000000000000
52dqxor606 xor 1111101111111111111111111111111111 1111111111111111111111111111111111  ->      10000000000000000000000000000
53dqxor607 xor 1111110111111111111111111111111111 1111111111111111111111111111111111  ->       1000000000000000000000000000
54dqxor608 xor 1111111011111111111111111111111111 1111111111111111111111111111111111  ->        100000000000000000000000000
55dqxor609 xor 1111111101111111111111111111111111 1111111111111111111111111111111111  ->         10000000000000000000000000
56dqxor610 xor 1111111110111111111111111111111111 1111111111111111111111111111111111  ->          1000000000000000000000000
57dqxor611 xor 1111111111011111111111111111111111 1111111111111111111111111111111111  ->           100000000000000000000000
58dqxor612 xor 1111111111101111111111111111111111 1111111111111111111111111111111111  ->            10000000000000000000000
59dqxor613 xor 1111111111110111111111111111111111 1111111111111111111111111111111111  ->             1000000000000000000000
60dqxor614 xor 1111111111111011111111111111111111 1111111111111111111111111111111111  ->              100000000000000000000
61dqxor615 xor 1111111111111101111111111111111111 1111111111111111111111111111111111  ->               10000000000000000000
62dqxor616 xor 1111111111111110111111111111111111 1111111111111111111111111111111111  ->                1000000000000000000
63dqxor617 xor 1111111111111111011111111111111111 1111111111111111111111111111111111  ->                 100000000000000000
64dqxor618 xor 1111111111111111101111111111111111 1111111111111111111111111111111111  ->                  10000000000000000
65dqxor619 xor 1111111111111111110111111111111111 1111111111111111111111111111111111  ->                   1000000000000000
66dqxor620 xor 1111111111111111111011111111111111 1111111111111111111111111111111111  ->                    100000000000000
67dqxor621 xor 1111111111111111111101111111111111 1111111111111111111111111111111111  ->                     10000000000000
68dqxor622 xor 1111111111111111111110111111111111 1111111111111111111111111111111111  ->                      1000000000000
69dqxor623 xor 1111111111111111111111011111111111 1111111111111111111111111111111111  ->                       100000000000
70dqxor624 xor 1111111111111111111111101111111111 1111111111111111111111111111111111  ->                        10000000000
71dqxor625 xor 1111111111111111111111110111111111 1111111111111111111111111111111111  ->                         1000000000
72dqxor626 xor 1111111111111111111111111011111111 1111111111111111111111111111111111  ->                          100000000
73dqxor627 xor 1111111111111111111111111101111111 1111111111111111111111111111111111  ->                           10000000
74dqxor628 xor 1111111111111111111111111110111111 1111111111111111111111111111111111  ->                            1000000
75dqxor629 xor 1111111111111111111111111111011111 1111111111111111111111111111111111  ->                             100000
76dqxor630 xor 1111111111111111111111111111101111 1111111111111111111111111111111111  ->                              10000
77dqxor631 xor 1111111111111111111111111111110111 1111111111111111111111111111111111  ->                               1000
78dqxor632 xor 1111111111111111111111111111111011 1111111111111111111111111111111111  ->                                100
79dqxor633 xor 1111111111111111111111111111111101 1111111111111111111111111111111111  ->                                 10
80dqxor634 xor 1111111111111111111111111111111110 1111111111111111111111111111111111  ->                                  1
81
82dqxor641 xor 1111111111111111111111111111111111 0111111111111111111111111111111111  -> 1000000000000000000000000000000000
83dqxor642 xor 1111111111111111111111111111111111 1011111111111111111111111111111111  ->  100000000000000000000000000000000
84dqxor643 xor 1111111111111111111111111111111111 1101111111111111111111111111111111  ->   10000000000000000000000000000000
85dqxor644 xor 1111111111111111111111111111111111 1110111111111111111111111111111111  ->    1000000000000000000000000000000
86dqxor645 xor 1111111111111111111111111111111111 1111011111111111111111111111111111  ->     100000000000000000000000000000
87dqxor646 xor 1111111111111111111111111111111111 1111101111111111111111111111111111  ->      10000000000000000000000000000
88dqxor647 xor 1111111111111111111111111111111111 1111110111111111111111111111111111  ->       1000000000000000000000000000
89dqxor648 xor 1111111111111111111111111111111111 1111111011111111111111111111111111  ->        100000000000000000000000000
90dqxor649 xor 1111111111111111111111111111111111 1111111101111111111111111111111111  ->         10000000000000000000000000
91dqxor650 xor 1111111111111111111111111111111111 1111111110111111111111111111111111  ->          1000000000000000000000000
92dqxor651 xor 1111111111111111111111111111111111 1111111111011111111111111111111111  ->           100000000000000000000000
93dqxor652 xor 1111111111111111111111111111111111 1111111111101111111111111111111111  ->            10000000000000000000000
94dqxor653 xor 1111111111111111111111111111111111 1111111111110111111111111111111111  ->             1000000000000000000000
95dqxor654 xor 1111111111111111111111111111111111 1111111111111011111111111111111111  ->              100000000000000000000
96dqxor655 xor 1111111111111111111111111111111111 1111111111111101111111111111111111  ->               10000000000000000000
97dqxor656 xor 1111111111111111111111111111111111 1111111111111110111111111111111111  ->                1000000000000000000
98dqxor657 xor 1111111111111111111111111111111111 1111111111111111011111111111111111  ->                 100000000000000000
99dqxor658 xor 1111111111111111111111111111111111 1111111111111111101111111111111111  ->                  10000000000000000
100dqxor659 xor 1111111111111111111111111111111111 1111111111111111110111111111111111  ->                   1000000000000000
101dqxor660 xor 1111111111111111111111111111111111 1111111111111111111011111111111111  ->                    100000000000000
102dqxor661 xor 1111111111111111111111111111111111 1111111111111111111101111111111111  ->                     10000000000000
103dqxor662 xor 1111111111111111111111111111111111 1111111111111111111110111111111111  ->                      1000000000000
104dqxor663 xor 1111111111111111111111111111111111 1111111111111111111111011111111111  ->                       100000000000
105dqxor664 xor 1111111111111111111111111111111111 1111111111111111111111101111111111  ->                        10000000000
106dqxor665 xor 1111111111111111111111111111111111 1111111111111111111111110111111111  ->                         1000000000
107dqxor666 xor 1111111111111111111111111111111111 1111111111111111111111111011111111  ->                          100000000
108dqxor667 xor 1111111111111111111111111111111111 1111111111111111111111111101111111  ->                           10000000
109dqxor668 xor 1111111111111111111111111111111111 1111111111111111111111111110111111  ->                            1000000
110dqxor669 xor 1111111111111111111111111111111111 1111111111111111111111111111011111  ->                             100000
111dqxor670 xor 1111111111111111111111111111111111 1111111111111111111111111111101111  ->                              10000
112dqxor671 xor 1111111111111111111111111111111111 1111111111111111111111111111110111  ->                               1000
113dqxor672 xor 1111111111111111111111111111111111 1111111111111111111111111111111011  ->                                100
114dqxor673 xor 1111111111111111111111111111111111 1111111111111111111111111111111101  ->                                 10
115dqxor674 xor 1111111111111111111111111111111111 1111111111111111111111111111111110  ->                                  1
116dqxor675 xor 0111111111111111111111111111111111 1111111111111111111111111111111110  -> 1000000000000000000000000000000001
117dqxor676 xor 1111111111111111111111111111111111 1111111111111111111111111111111110  ->                                  1
118
119
120dqxor021 xor 1111111110000000     1111111110000000  ->  0
121dqxor022 xor  111111110000000      111111110000000  ->  0
122dqxor023 xor   11111110000000       11111110000000  ->  0
123dqxor024 xor    1111110000000        1111110000000  ->  0
124dqxor025 xor     111110000000         111110000000  ->  0
125dqxor026 xor      11110000000          11110000000  ->  0
126dqxor027 xor       1110000000           1110000000  ->  0
127dqxor028 xor        110000000            110000000  ->  0
128dqxor029 xor         10000000             10000000  ->  0
129dqxor030 xor          1000000              1000000  ->  0
130dqxor031 xor           100000               100000  ->  0
131dqxor032 xor            10000                10000  ->  0
132dqxor033 xor             1000                 1000  ->  0
133dqxor034 xor              100                  100  ->  0
134dqxor035 xor               10                   10  ->  0
135dqxor036 xor                1                    1  ->  0
136
137dqxor040 xor 111111111  111111111111  ->  111000000000
138dqxor041 xor  11111111  111111111111  ->  111100000000
139dqxor042 xor  11111111     111111111  ->  100000000
140dqxor043 xor   1111111     100000010  ->  101111101
141dqxor044 xor    111111     100000100  ->  100111011
142dqxor045 xor     11111     100001000  ->  100010111
143dqxor046 xor      1111     100010000  ->  100011111
144dqxor047 xor       111     100100000  ->  100100111
145dqxor048 xor        11     101000000  ->  101000011
146dqxor049 xor         1     110000000  ->  110000001
147
148dqxor050 xor 1111111111  1  ->  1111111110
149dqxor051 xor  111111111  1  ->  111111110
150dqxor052 xor   11111111  1  ->  11111110
151dqxor053 xor    1111111  1  ->  1111110
152dqxor054 xor     111111  1  ->  111110
153dqxor055 xor      11111  1  ->  11110
154dqxor056 xor       1111  1  ->  1110
155dqxor057 xor        111  1  ->  110
156dqxor058 xor         11  1  ->  10
157dqxor059 xor          1  1  ->  0
158
159dqxor060 xor 1111111111  0  ->  1111111111
160dqxor061 xor  111111111  0  ->  111111111
161dqxor062 xor   11111111  0  ->  11111111
162dqxor063 xor    1111111  0  ->  1111111
163dqxor064 xor     111111  0  ->  111111
164dqxor065 xor      11111  0  ->  11111
165dqxor066 xor       1111  0  ->  1111
166dqxor067 xor        111  0  ->  111
167dqxor068 xor         11  0  ->  11
168dqxor069 xor          1  0  ->  1
169
170dqxor070 xor 1  1111111111  ->  1111111110
171dqxor071 xor 1   111111111  ->  111111110
172dqxor072 xor 1    11111111  ->  11111110
173dqxor073 xor 1     1111111  ->  1111110
174dqxor074 xor 1      111111  ->  111110
175dqxor075 xor 1       11111  ->  11110
176dqxor076 xor 1        1111  ->  1110
177dqxor077 xor 1         111  ->  110
178dqxor078 xor 1          11  ->  10
179dqxor079 xor 1           1  ->  0
180
181dqxor080 xor 0  1111111111  ->  1111111111
182dqxor081 xor 0   111111111  ->  111111111
183dqxor082 xor 0    11111111  ->  11111111
184dqxor083 xor 0     1111111  ->  1111111
185dqxor084 xor 0      111111  ->  111111
186dqxor085 xor 0       11111  ->  11111
187dqxor086 xor 0        1111  ->  1111
188dqxor087 xor 0         111  ->  111
189dqxor088 xor 0          11  ->  11
190dqxor089 xor 0           1  ->  1
191
192dqxor090 xor 011111111  111101111  ->  100010000
193dqxor091 xor 101111111  111101111  ->   10010000
194dqxor092 xor 110111111  111101111  ->    1010000
195dqxor093 xor 111011111  111101111  ->     110000
196dqxor094 xor 111101111  111101111  ->          0
197dqxor095 xor 111110111  111101111  ->      11000
198dqxor096 xor 111111011  111101111  ->      10100
199dqxor097 xor 111111101  111101111  ->      10010
200dqxor098 xor 111111110  111101111  ->      10001
201
202dqxor100 xor 111101111  011111111  ->  100010000
203dqxor101 xor 111101111  101111111  ->   10010000
204dqxor102 xor 111101111  110111111  ->    1010000
205dqxor103 xor 111101111  111011111  ->     110000
206dqxor104 xor 111101111  111101111  ->          0
207dqxor105 xor 111101111  111110111  ->      11000
208dqxor106 xor 111101111  111111011  ->      10100
209dqxor107 xor 111101111  111111101  ->      10010
210dqxor108 xor 111101111  111111110  ->      10001
211
212-- non-0/1 should not be accepted, nor should signs
213dqxor220 xor 111111112  111111111  ->  NaN Invalid_operation
214dqxor221 xor 333333333  333333333  ->  NaN Invalid_operation
215dqxor222 xor 555555555  555555555  ->  NaN Invalid_operation
216dqxor223 xor 777777777  777777777  ->  NaN Invalid_operation
217dqxor224 xor 999999999  999999999  ->  NaN Invalid_operation
218dqxor225 xor 222222222  999999999  ->  NaN Invalid_operation
219dqxor226 xor 444444444  999999999  ->  NaN Invalid_operation
220dqxor227 xor 666666666  999999999  ->  NaN Invalid_operation
221dqxor228 xor 888888888  999999999  ->  NaN Invalid_operation
222dqxor229 xor 999999999  222222222  ->  NaN Invalid_operation
223dqxor230 xor 999999999  444444444  ->  NaN Invalid_operation
224dqxor231 xor 999999999  666666666  ->  NaN Invalid_operation
225dqxor232 xor 999999999  888888888  ->  NaN Invalid_operation
226-- a few randoms
227dqxor240 xor  567468689 -934981942 ->  NaN Invalid_operation
228dqxor241 xor  567367689  934981942 ->  NaN Invalid_operation
229dqxor242 xor -631917772 -706014634 ->  NaN Invalid_operation
230dqxor243 xor -756253257  138579234 ->  NaN Invalid_operation
231dqxor244 xor  835590149  567435400 ->  NaN Invalid_operation
232-- test MSD
233dqxor250 xor  2000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation
234dqxor251 xor  7000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation
235dqxor252 xor  8000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation
236dqxor253 xor  9000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation
237dqxor254 xor  2000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation
238dqxor255 xor  7000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation
239dqxor256 xor  8000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation
240dqxor257 xor  9000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation
241dqxor258 xor  1000000111000111000111000000000000 2000000111000111000111000000000000 ->  NaN Invalid_operation
242dqxor259 xor  1000000111000111000111000000000000 7000000111000111000111000000000000 ->  NaN Invalid_operation
243dqxor260 xor  1000000111000111000111000000000000 8000000111000111000111000000000000 ->  NaN Invalid_operation
244dqxor261 xor  1000000111000111000111000000000000 9000000111000111000111000000000000 ->  NaN Invalid_operation
245dqxor262 xor  0000000111000111000111000000000000 2000000111000111000111000000000000 ->  NaN Invalid_operation
246dqxor263 xor  0000000111000111000111000000000000 7000000111000111000111000000000000 ->  NaN Invalid_operation
247dqxor264 xor  0000000111000111000111000000000000 8000000111000111000111000000000000 ->  NaN Invalid_operation
248dqxor265 xor  0000000111000111000111000000000000 9000000111000111000111000000000000 ->  NaN Invalid_operation
249-- test MSD-1
250dqxor270 xor  0200000111000111000111001000000000 1000000111000111000111100000000010 ->  NaN Invalid_operation
251dqxor271 xor  0700000111000111000111000100000000 1000000111000111000111010000000100 ->  NaN Invalid_operation
252dqxor272 xor  0800000111000111000111000010000000 1000000111000111000111001000001000 ->  NaN Invalid_operation
253dqxor273 xor  0900000111000111000111000001000000 1000000111000111000111000100010000 ->  NaN Invalid_operation
254dqxor274 xor  1000000111000111000111000000100000 0200000111000111000111000010100000 ->  NaN Invalid_operation
255dqxor275 xor  1000000111000111000111000000010000 0700000111000111000111000001000000 ->  NaN Invalid_operation
256dqxor276 xor  1000000111000111000111000000001000 0800000111000111000111000010100000 ->  NaN Invalid_operation
257dqxor277 xor  1000000111000111000111000000000100 0900000111000111000111000000010000 ->  NaN Invalid_operation
258-- test LSD
259dqxor280 xor  0010000111000111000111000000000002 1000000111000111000111000100000001 ->  NaN Invalid_operation
260dqxor281 xor  0001000111000111000111000000000007 1000000111000111000111001000000011 ->  NaN Invalid_operation
261dqxor282 xor  0000000111000111000111100000000008 1000000111000111000111010000000001 ->  NaN Invalid_operation
262dqxor283 xor  0000000111000111000111010000000009 1000000111000111000111100000000001 ->  NaN Invalid_operation
263dqxor284 xor  1000000111000111000111001000000000 0001000111000111000111000000000002 ->  NaN Invalid_operation
264dqxor285 xor  1000000111000111000111000100000000 0010000111000111000111000000000007 ->  NaN Invalid_operation
265dqxor286 xor  1000000111000111000111000010000000 0100000111000111000111000000000008 ->  NaN Invalid_operation
266dqxor287 xor  1000000111000111000111000001000000 1000000111000111000111000000000009 ->  NaN Invalid_operation
267-- test Middie
268dqxor288 xor  0010000111000111000111000020000000 1000000111000111000111001000000000 ->  NaN Invalid_operation
269dqxor289 xor  0001000111000111000111000070000001 1000000111000111000111000100000000 ->  NaN Invalid_operation
270dqxor290 xor  0000000111000111000111100080000010 1000000111000111000111000010000000 ->  NaN Invalid_operation
271dqxor291 xor  0000000111000111000111010090000100 1000000111000111000111000001000000 ->  NaN Invalid_operation
272dqxor292 xor  1000000111000111000111001000001000 0000000111000111000111000020100000 ->  NaN Invalid_operation
273dqxor293 xor  1000000111000111000111000100010000 0000000111000111000111000070010000 ->  NaN Invalid_operation
274dqxor294 xor  1000000111000111000111000010100000 0000000111000111000111000080001000 ->  NaN Invalid_operation
275dqxor295 xor  1000000111000111000111000001000000 0000000111000111000111000090000100 ->  NaN Invalid_operation
276-- signs
277dqxor296 xor -1000000111000111000111000001000000 -0000001110001110001110010000000100 ->  NaN Invalid_operation
278dqxor297 xor -1000000111000111000111000001000000  0000001110001110001110000010000100 ->  NaN Invalid_operation
279dqxor298 xor  1000000111000111000111000001000000 -0000001110001110001110001000000100 ->  NaN Invalid_operation
280dqxor299 xor  1000000111000111000111000001000000  0000001110001110001110000011000100 ->  1000001001001001001001000010000100
281
282-- Nmax, Nmin, Ntiny-like
283dqxor331 xor  2   9.99999999E+999     -> NaN Invalid_operation
284dqxor332 xor  3   1E-999              -> NaN Invalid_operation
285dqxor333 xor  4   1.00000000E-2821    -> NaN Invalid_operation
286dqxor334 xor  5   1E-900              -> NaN Invalid_operation
287dqxor335 xor  6   -1E-900             -> NaN Invalid_operation
288dqxor336 xor  7   -1.00000000E-999    -> NaN Invalid_operation
289dqxor337 xor  8   -1E-999             -> NaN Invalid_operation
290dqxor338 xor  9   -9.99999999E+999    -> NaN Invalid_operation
291dqxor341 xor  9.99999999E+999     -18 -> NaN Invalid_operation
292dqxor342 xor  1E-999               01 -> NaN Invalid_operation
293dqxor343 xor  1.00000000E-999     -18 -> NaN Invalid_operation
294dqxor344 xor  1E-908               18 -> NaN Invalid_operation
295dqxor345 xor  -1E-907             -10 -> NaN Invalid_operation
296dqxor346 xor  -1.00000000E-999     18 -> NaN Invalid_operation
297dqxor347 xor  -1E-999              10 -> NaN Invalid_operation
298dqxor348 xor  -9.99999999E+2991   -18 -> NaN Invalid_operation
299
300-- A few other non-integers
301dqxor361 xor  1.0                  1  -> NaN Invalid_operation
302dqxor362 xor  1E+1                 1  -> NaN Invalid_operation
303dqxor363 xor  0.0                  1  -> NaN Invalid_operation
304dqxor364 xor  0E+1                 1  -> NaN Invalid_operation
305dqxor365 xor  9.9                  1  -> NaN Invalid_operation
306dqxor366 xor  9E+1                 1  -> NaN Invalid_operation
307dqxor371 xor  0 1.0                   -> NaN Invalid_operation
308dqxor372 xor  0 1E+1                  -> NaN Invalid_operation
309dqxor373 xor  0 0.0                   -> NaN Invalid_operation
310dqxor374 xor  0 0E+1                  -> NaN Invalid_operation
311dqxor375 xor  0 9.9                   -> NaN Invalid_operation
312dqxor376 xor  0 9E+1                  -> NaN Invalid_operation
313
314-- All Specials are in error
315dqxor780 xor -Inf  -Inf   -> NaN Invalid_operation
316dqxor781 xor -Inf  -1000  -> NaN Invalid_operation
317dqxor782 xor -Inf  -1     -> NaN Invalid_operation
318dqxor783 xor -Inf  -0     -> NaN Invalid_operation
319dqxor784 xor -Inf   0     -> NaN Invalid_operation
320dqxor785 xor -Inf   1     -> NaN Invalid_operation
321dqxor786 xor -Inf   1000  -> NaN Invalid_operation
322dqxor787 xor -1000 -Inf   -> NaN Invalid_operation
323dqxor788 xor -Inf  -Inf   -> NaN Invalid_operation
324dqxor789 xor -1    -Inf   -> NaN Invalid_operation
325dqxor790 xor -0    -Inf   -> NaN Invalid_operation
326dqxor791 xor  0    -Inf   -> NaN Invalid_operation
327dqxor792 xor  1    -Inf   -> NaN Invalid_operation
328dqxor793 xor  1000 -Inf   -> NaN Invalid_operation
329dqxor794 xor  Inf  -Inf   -> NaN Invalid_operation
330
331dqxor800 xor  Inf  -Inf   -> NaN Invalid_operation
332dqxor801 xor  Inf  -1000  -> NaN Invalid_operation
333dqxor802 xor  Inf  -1     -> NaN Invalid_operation
334dqxor803 xor  Inf  -0     -> NaN Invalid_operation
335dqxor804 xor  Inf   0     -> NaN Invalid_operation
336dqxor805 xor  Inf   1     -> NaN Invalid_operation
337dqxor806 xor  Inf   1000  -> NaN Invalid_operation
338dqxor807 xor  Inf   Inf   -> NaN Invalid_operation
339dqxor808 xor -1000  Inf   -> NaN Invalid_operation
340dqxor809 xor -Inf   Inf   -> NaN Invalid_operation
341dqxor810 xor -1     Inf   -> NaN Invalid_operation
342dqxor811 xor -0     Inf   -> NaN Invalid_operation
343dqxor812 xor  0     Inf   -> NaN Invalid_operation
344dqxor813 xor  1     Inf   -> NaN Invalid_operation
345dqxor814 xor  1000  Inf   -> NaN Invalid_operation
346dqxor815 xor  Inf   Inf   -> NaN Invalid_operation
347
348dqxor821 xor  NaN -Inf    -> NaN Invalid_operation
349dqxor822 xor  NaN -1000   -> NaN Invalid_operation
350dqxor823 xor  NaN -1      -> NaN Invalid_operation
351dqxor824 xor  NaN -0      -> NaN Invalid_operation
352dqxor825 xor  NaN  0      -> NaN Invalid_operation
353dqxor826 xor  NaN  1      -> NaN Invalid_operation
354dqxor827 xor  NaN  1000   -> NaN Invalid_operation
355dqxor828 xor  NaN  Inf    -> NaN Invalid_operation
356dqxor829 xor  NaN  NaN    -> NaN Invalid_operation
357dqxor830 xor -Inf  NaN    -> NaN Invalid_operation
358dqxor831 xor -1000 NaN    -> NaN Invalid_operation
359dqxor832 xor -1    NaN    -> NaN Invalid_operation
360dqxor833 xor -0    NaN    -> NaN Invalid_operation
361dqxor834 xor  0    NaN    -> NaN Invalid_operation
362dqxor835 xor  1    NaN    -> NaN Invalid_operation
363dqxor836 xor  1000 NaN    -> NaN Invalid_operation
364dqxor837 xor  Inf  NaN    -> NaN Invalid_operation
365
366dqxor841 xor  sNaN -Inf   ->  NaN  Invalid_operation
367dqxor842 xor  sNaN -1000  ->  NaN  Invalid_operation
368dqxor843 xor  sNaN -1     ->  NaN  Invalid_operation
369dqxor844 xor  sNaN -0     ->  NaN  Invalid_operation
370dqxor845 xor  sNaN  0     ->  NaN  Invalid_operation
371dqxor846 xor  sNaN  1     ->  NaN  Invalid_operation
372dqxor847 xor  sNaN  1000  ->  NaN  Invalid_operation
373dqxor848 xor  sNaN  NaN   ->  NaN  Invalid_operation
374dqxor849 xor  sNaN sNaN   ->  NaN  Invalid_operation
375dqxor850 xor  NaN  sNaN   ->  NaN  Invalid_operation
376dqxor851 xor -Inf  sNaN   ->  NaN  Invalid_operation
377dqxor852 xor -1000 sNaN   ->  NaN  Invalid_operation
378dqxor853 xor -1    sNaN   ->  NaN  Invalid_operation
379dqxor854 xor -0    sNaN   ->  NaN  Invalid_operation
380dqxor855 xor  0    sNaN   ->  NaN  Invalid_operation
381dqxor856 xor  1    sNaN   ->  NaN  Invalid_operation
382dqxor857 xor  1000 sNaN   ->  NaN  Invalid_operation
383dqxor858 xor  Inf  sNaN   ->  NaN  Invalid_operation
384dqxor859 xor  NaN  sNaN   ->  NaN  Invalid_operation
385
386-- propagating NaNs
387dqxor861 xor  NaN1   -Inf    -> NaN Invalid_operation
388dqxor862 xor +NaN2   -1000   -> NaN Invalid_operation
389dqxor863 xor  NaN3    1000   -> NaN Invalid_operation
390dqxor864 xor  NaN4    Inf    -> NaN Invalid_operation
391dqxor865 xor  NaN5   +NaN6   -> NaN Invalid_operation
392dqxor866 xor -Inf     NaN7   -> NaN Invalid_operation
393dqxor867 xor -1000    NaN8   -> NaN Invalid_operation
394dqxor868 xor  1000    NaN9   -> NaN Invalid_operation
395dqxor869 xor  Inf    +NaN10  -> NaN Invalid_operation
396dqxor871 xor  sNaN11  -Inf   -> NaN Invalid_operation
397dqxor872 xor  sNaN12  -1000  -> NaN Invalid_operation
398dqxor873 xor  sNaN13   1000  -> NaN Invalid_operation
399dqxor874 xor  sNaN14   NaN17 -> NaN Invalid_operation
400dqxor875 xor  sNaN15  sNaN18 -> NaN Invalid_operation
401dqxor876 xor  NaN16   sNaN19 -> NaN Invalid_operation
402dqxor877 xor -Inf    +sNaN20 -> NaN Invalid_operation
403dqxor878 xor -1000    sNaN21 -> NaN Invalid_operation
404dqxor879 xor  1000    sNaN22 -> NaN Invalid_operation
405dqxor880 xor  Inf     sNaN23 -> NaN Invalid_operation
406dqxor881 xor +NaN25  +sNaN24 -> NaN Invalid_operation
407dqxor882 xor -NaN26    NaN28 -> NaN Invalid_operation
408dqxor883 xor -sNaN27  sNaN29 -> NaN Invalid_operation
409dqxor884 xor  1000    -NaN30 -> NaN Invalid_operation
410dqxor885 xor  1000   -sNaN31 -> NaN Invalid_operation
411