1    /*
2     * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3     * All rights reserved.
4     *
5     * Redistribution and use in source and binary forms, with or without modification,
6     * are permitted provided that the following conditions are met:
7     *
8     * Redistributions of source code must retain the above copyright notice,
9     * this list of conditions and the following disclaimer.
10     * Redistributions in binary form must reproduce the above copyright notice,
11     * this list of conditions and the following disclaimer in the documentation
12     * and/or other materials provided with the distribution.
13     * Neither the name of Intel Corporation nor the names of its contributors
14     * may be used to endorse or promote products derived from this software
15     * without specific prior written permission.
16     *
17     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27     */
28    /*
29     * Logical operators
30     */
31    Name (Z035, 0x23)
32    /* Verifying 2-parameters, 1-result operator */
33
34    Method (M003, 6, Serialized)
35    {
36        Local5 = 0x00
37        Local3 = Arg1
38        While (Local3)
39        {
40            /* Operands */
41
42            Local6 = (Local5 * 0x02)
43            Local0 = DerefOf (Arg3 [Local6])
44            Local6++
45            Local1 = DerefOf (Arg3 [Local6])
46            /* Expected result */
47
48            Local2 = DerefOf (Arg4 [Local5])
49            Switch (ToInteger (Arg5))
50            {
51                Case (0x00)
52                {
53                    Local7 = (Local0 != Local1)
54                    If ((Local7 != Local2))
55                    {
56                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
57                    }
58
59                    Local7 = (Local1 != Local0)
60                    If ((Local7 != Local2))
61                    {
62                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
63                    }
64                }
65                Case (0x01)
66                {
67                    Local7 = (Local0 && Local1)
68                    If ((Local7 != Local2))
69                    {
70                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
71                    }
72
73                    Local7 = (Local1 && Local0)
74                    If ((Local7 != Local2))
75                    {
76                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
77                    }
78                }
79                Case (0x02)
80                {
81                    Local7 = (Local0 || Local1)
82                    If ((Local7 != Local2))
83                    {
84                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
85                    }
86
87                    Local7 = (Local1 || Local0)
88                    If ((Local7 != Local2))
89                    {
90                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
91                    }
92                }
93                Case (0x03)
94                {
95                    Local7 = (Local0 == Local1)
96                    If ((Local7 != Local2))
97                    {
98                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
99                    }
100
101                    Local7 = (Local1 == Local0)
102                    If ((Local7 != Local2))
103                    {
104                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
105                    }
106                }
107                Case (0x04)
108                {
109                    Local7 = (Local0 > Local1)
110                    If ((Local7 != Local2))
111                    {
112                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
113                    }
114                }
115                Case (0x05)
116                {
117                    Local7 = (Local0 >= Local1)
118                    If ((Local7 != Local2))
119                    {
120                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
121                    }
122                }
123                Case (0x06)
124                {
125                    Local7 = (Local0 < Local1)
126                    If ((Local7 != Local2))
127                    {
128                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
129                    }
130                }
131                Case (0x07)
132                {
133                    Local7 = (Local0 <= Local1)
134                    If ((Local7 != Local2))
135                    {
136                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
137                    }
138                }
139
140            }
141
142            If (0x00)
143            {
144                Debug = "==============:"
145                Debug = Local0
146                Debug = Local1
147                Debug = Local2
148                Debug = Local7
149                Debug = "=============="
150            }
151
152            Local5++
153            Local3--
154        }
155    }
156
157    /* Verifying 1-parameter, 1-result operator */
158
159    Method (M004, 6, Serialized)
160    {
161        Local5 = 0x00
162        Local3 = Arg1
163        While (Local3)
164        {
165            /* Operand */
166
167            Local0 = DerefOf (Arg3 [Local5])
168            /* Expected result */
169
170            Local1 = DerefOf (Arg4 [Local5])
171            Switch (ToInteger (Arg5))
172            {
173                Case (0x00)
174                {
175                    Local2 = !Local0
176                    If ((Local2 != Local1))
177                    {
178                        ERR (Arg0, Z035, __LINE__, 0x00, 0x00, Local5, Arg2)
179                    }
180                }
181
182            }
183
184            Local5++
185            Local3--
186        }
187    }
188
189    /* ====================================================== // */
190    /*    Generic operands utilized by different operators    // */
191    /* ====================================================== // */
192    Name (P060, Package (0x1A)
193    {
194        /* 32-bit integers */
195
196        0x12345678,
197        0x12345678,
198        0xF2345678,
199        0xF2345678,
200        0x00,
201        0x00,
202        0xFFFFFFFF,
203        0xFFFFFFFF,
204        0x04000000,
205        0x10,
206        0x20000000,
207        0x40000000,
208        0x80000000,
209        0x01,
210        0x40000000,
211        0x80000000,
212        0x04000000,
213        0xFF,
214        0xFF,
215        0x00100000,
216        0x00,
217        0x80,
218        0x00,
219        0x8000,
220        0x00,
221        0x80000000
222    })
223    Name (P061, Package (0x18)
224    {
225        /* 64-bit integers */
226
227        0x12345678BDEFAC98,
228        0x12345678BDEFAC98,
229        0xF234567811994657,
230        0xF234567811994657,
231        0x00,
232        0x00,
233        0xFFFFFFFFFFFFFFFF,
234        0xFFFFFFFFFFFFFFFF,
235        0x0400000000000000,
236        0x0000001000000000,
237        0x2000000000000000,
238        0x4000000000000000,
239        0x8000000000000000,
240        0x01,
241        0x4000000000000000,
242        0x8000000000000000,
243        0x0400000000000000,
244        0xFF,
245        0xFF,
246        0x00100000,
247        0x00,
248        0x80000000,
249        0x00,
250        0x8000000000000000
251    })
252    Name (P062, Package (0x06)
253    {
254        /* 32-bit integers */
255
256        0x00,
257        0xFFFFFFFF,
258        0xFF,
259        0x10,
260        0x12334567,
261        0x9BCDFE18
262    })
263    Name (P063, Package (0x04)
264    {
265        /* 64-bit integers */
266
267        0x00,
268        0xFFFFFFFFFFFFFFFF,
269        0x12334567BDCFEB46,
270        0xFBDEC6709BCDFE18
271    })
272    Name (P064, Package (0x3E)
273    {
274        /* Strings */
275
276        "qwertyuiop",
277        "qwertyuiop",
278        "qwertyuiop",
279        "qwertyuiop0",
280        "qwertyuiop",
281        "qwertyuio",
282        "",
283        "",
284        " ",
285        "",
286        "",
287        " ",
288        " ",
289        " ",
290        "  ",
291        " ",
292        " ",
293        "  ",
294        "a",
295        "",
296        "",
297        "a",
298        " a",
299        "a",
300        "a",
301        " a",
302        "a ",
303        "a",
304        "a",
305        "a ",
306        "a b",
307        "ab",
308        "ab",
309        "a b",
310        "a  b",
311        "a b",
312        "a b",
313        "a  b",
314        "abcDef",
315        "abcdef",
316        "mnbvcxzlkHjhgf",
317        "mnbvcxzlkHjhgf",
318        "mnbvcxzlkHjhgf",
319        "mnbvcxzlkIjhgf",
320        "mnbvcxzlkIjhgf",
321        "mnbvcxzlkHjhgf",
322        "mnbvcxzlkHjhgf0",
323        "mnbvcxzlkHjhgf",
324        "mnbvcxzlkHjhgf0",
325        "mnbvcxzlkIjhgf",
326        "mnbvcxzlkIjhgf0",
327        "mnbvcxzlkHjhgf",
328        "mnbvcxzlkHjhgf",
329        "mnbvcxzlkHjhgf0",
330        "mnbvcxzlkHjhgf",
331        "mnbvcxzlkIjhgf0",
332        "mnbvcxzlkIjhgf",
333        "mnbvcxzlkHjhgf0",
334        "mnbvcxzlkIHjhgf",
335        "mnbvcxzlkHIjhgf",
336        "mnbvcxzlkHIjhgf",
337        "mnbvcxzlkIHjhgf"
338    })
339    Name (P065, Package (0x66)
340    {
341        /* Buffers */
342
343        Buffer (0x07)
344        {
345             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
346        },
347
348        Buffer (0x07)
349        {
350             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
351        },
352
353        Buffer (0x07)
354        {
355             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
356        },
357
358        Buffer (0x06)
359        {
360             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
361        },
362
363        Buffer (0x06)
364        {
365             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
366        },
367
368        Buffer (0x07)
369        {
370             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
371        },
372
373        Buffer (0x08)
374        {
375             0x00, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25   // .. !"#$%
376        },
377
378        Buffer (0x07)
379        {
380             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
381        },
382
383        Buffer (0x07)
384        {
385             0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25         // . !"#$%
386        },
387
388        Buffer (0x08)
389        {
390             0x00, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25   // .. !"#$%
391        },
392
393        Buffer (0x06)
394        {
395             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
396        },
397
398        Buffer (0x06)
399        {
400             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
401        },
402
403        Buffer (0x07)
404        {
405            " !\"#$%"
406        },
407
408        Buffer (0x06)
409        {
410             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
411        },
412
413        Buffer (0x06)
414        {
415             0x20, 0x21, 0x22, 0x23, 0x24, 0x25               //  !"#$%
416        },
417
418        Buffer (0x07)
419        {
420            " !\"#$%"
421        },
422
423        Buffer (0x08)
424        {
425             0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x00, 0x00   //  !"#$%..
426        },
427
428        Buffer (0x07)
429        {
430            " !\"#$%"
431        },
432
433        Buffer (0x07)
434        {
435            " !\"#$%"
436        },
437
438        Buffer (0x08)
439        {
440             0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x00, 0x00   //  !"#$%..
441        },
442
443        Buffer (0x06)
444        {
445             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
446        },
447
448        Buffer (0x06)
449        {
450             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
451        },
452
453        Buffer (0x06)
454        {
455             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
456        },
457
458        Buffer (0x06)
459        {
460             0x20, 0x21, 0x22, 0x00, 0x24, 0x26               //  !".$&
461        },
462
463        Buffer (0x06)
464        {
465             0x20, 0x21, 0x22, 0x00, 0x24, 0x26               //  !".$&
466        },
467
468        Buffer (0x06)
469        {
470             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
471        },
472
473        Buffer (0x07)
474        {
475             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00         //  !".$%.
476        },
477
478        Buffer (0x06)
479        {
480             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
481        },
482
483        Buffer (0x06)
484        {
485             0x20, 0x21, 0x22, 0x00, 0x24, 0x25               //  !".$%
486        },
487
488        Buffer (0x07)
489        {
490             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00         //  !".$%.
491        },
492
493        Buffer (0x08)
494        {
495             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00, 0x00   //  !".$%..
496        },
497
498        Buffer (0x07)
499        {
500             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00         //  !".$%.
501        },
502
503        Buffer (0x07)
504        {
505             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00         //  !".$%.
506        },
507
508        Buffer (0x08)
509        {
510             0x20, 0x21, 0x22, 0x00, 0x24, 0x25, 0x00, 0x00   //  !".$%..
511        },
512
513        Buffer (0x64){},
514        Buffer (0x64){},
515        Buffer (0x64){},
516        Buffer (0x65){},
517        Buffer (0x64){},
518        Buffer (0x63){},
519        Buffer (0x01)
520        {
521             0x00                                             // .
522        },
523
524        Buffer (0x01)
525        {
526             0x00                                             // .
527        },
528
529        Buffer (0x02)
530        {
531            " "
532        },
533
534        Buffer (0x01)
535        {
536             0x00                                             // .
537        },
538
539        Buffer (0x01)
540        {
541             0x00                                             // .
542        },
543
544        Buffer (0x02)
545        {
546            " "
547        },
548
549        Buffer (0x02)
550        {
551            " "
552        },
553
554        Buffer (0x02)
555        {
556            " "
557        },
558
559        Buffer (0x03)
560        {
561            "  "
562        },
563
564        Buffer (0x02)
565        {
566            " "
567        },
568
569        Buffer (0x02)
570        {
571            " "
572        },
573
574        Buffer (0x03)
575        {
576            "  "
577        },
578
579        Buffer (0x02)
580        {
581            "a"
582        },
583
584        Buffer (0x01)
585        {
586             0x00                                             // .
587        },
588
589        Buffer (0x01)
590        {
591             0x00                                             // .
592        },
593
594        Buffer (0x02)
595        {
596            "a"
597        },
598
599        Buffer (0x03)
600        {
601            " a"
602        },
603
604        Buffer (0x02)
605        {
606            "a"
607        },
608
609        Buffer (0x02)
610        {
611            "a"
612        },
613
614        Buffer (0x03)
615        {
616            " a"
617        },
618
619        Buffer (0x03)
620        {
621            "a "
622        },
623
624        Buffer (0x02)
625        {
626            "a"
627        },
628
629        Buffer (0x02)
630        {
631            "a"
632        },
633
634        Buffer (0x03)
635        {
636            "a "
637        },
638
639        Buffer (0x04)
640        {
641            "a b"
642        },
643
644        Buffer (0x03)
645        {
646            "ab"
647        },
648
649        Buffer (0x03)
650        {
651            "ab"
652        },
653
654        Buffer (0x04)
655        {
656            "a b"
657        },
658
659        Buffer (0x05)
660        {
661            "a  b"
662        },
663
664        Buffer (0x04)
665        {
666            "a b"
667        },
668
669        Buffer (0x04)
670        {
671            "a b"
672        },
673
674        Buffer (0x05)
675        {
676            "a  b"
677        },
678
679        Buffer (0x07)
680        {
681            "abcDef"
682        },
683
684        Buffer (0x07)
685        {
686            "abcdef"
687        },
688
689        Buffer (0x16)
690        {
691            "asdfGHJKLIq0987654312"
692        },
693
694        Buffer (0x16)
695        {
696            "asdfGHJKLIq0987654312"
697        },
698
699        Buffer (0x16)
700        {
701            "asdfGHJKLIq0987654312"
702        },
703
704        Buffer (0x17)
705        {
706            "asdfGHJKLIq09876543123"
707        },
708
709        Buffer (0x16)
710        {
711            "asdfGHJKLIq0987654312"
712        },
713
714        Buffer (0x15)
715        {
716            "asdfGHJKLIq098765431"
717        },
718
719        Buffer (0x0F)
720        {
721            "mnbvcxzlkHjhgf"
722        },
723
724        Buffer (0x0F)
725        {
726            "mnbvcxzlkHjhgf"
727        },
728
729        Buffer (0x0F)
730        {
731            "mnbvcxzlkHjhgf"
732        },
733
734        Buffer (0x0F)
735        {
736            "mnbvcxzlkIjhgf"
737        },
738
739        Buffer (0x0F)
740        {
741            "mnbvcxzlkIjhgf"
742        },
743
744        Buffer (0x0F)
745        {
746            "mnbvcxzlkHjhgf"
747        },
748
749        Buffer (0x10)
750        {
751            "mnbvcxzlkHjhgf0"
752        },
753
754        Buffer (0x0F)
755        {
756            "mnbvcxzlkHjhgf"
757        },
758
759        Buffer (0x10)
760        {
761            "mnbvcxzlkHjhgf0"
762        },
763
764        Buffer (0x0F)
765        {
766            "mnbvcxzlkIjhgf"
767        },
768
769        Buffer (0x10)
770        {
771            "mnbvcxzlkIjhgf0"
772        },
773
774        Buffer (0x0F)
775        {
776            "mnbvcxzlkHjhgf"
777        },
778
779        Buffer (0x0F)
780        {
781            "mnbvcxzlkHjhgf"
782        },
783
784        Buffer (0x10)
785        {
786            "mnbvcxzlkHjhgf0"
787        },
788
789        Buffer (0x0F)
790        {
791            "mnbvcxzlkHjhgf"
792        },
793
794        Buffer (0x10)
795        {
796            "mnbvcxzlkIjhgf0"
797        },
798
799        Buffer (0x0F)
800        {
801            "mnbvcxzlkIjhgf"
802        },
803
804        Buffer (0x10)
805        {
806            "mnbvcxzlkHjhgf0"
807        },
808
809        Buffer (0x10)
810        {
811            "mnbvcxzlkIHjhgf"
812        },
813
814        Buffer (0x10)
815        {
816            "mnbvcxzlkHIjhgf"
817        },
818
819        Buffer (0x10)
820        {
821            "mnbvcxzlkHIjhgf"
822        },
823
824        Buffer (0x10)
825        {
826            "mnbvcxzlkIHjhgf"
827        }
828    })
829    /* ===================================== LAnd */
830
831    Name (P05D, Package (0x0D)
832    {
833        Ones,
834        Ones,
835        Zero,
836        Ones,
837        Ones,
838        Ones,
839        Ones,
840        Ones,
841        Ones,
842        Ones,
843        Zero,
844        Zero,
845        Zero
846    })
847    Name (P05E, Package (0x0C)
848    {
849        Ones,
850        Ones,
851        Zero,
852        Ones,
853        Ones,
854        Ones,
855        Ones,
856        Ones,
857        Ones,
858        Ones,
859        Zero,
860        Zero
861    })
862    Method (LAN0, 0, Serialized)
863    {
864        Debug = "TEST: LAN0, Logical And"
865        /* Integers */
866
867        If ((F64 == 0x01))
868        {
869            M003 (__METHOD__, C002, "p060", P060, P05D, 0x01)
870            M003 (__METHOD__, C003, "p061", P061, P05E, 0x01)
871        }
872        Else
873        {
874            M003 (__METHOD__, C002, "p060", P060, P05D, 0x01)
875        }
876    }
877
878    /* ===================================== LNot */
879
880    Name (P05F, Package (0x06)
881    {
882        Ones,
883        Zero,
884        Zero,
885        Zero,
886        Zero,
887        Zero
888    })
889    Name (P070, Package (0x04)
890    {
891        Ones,
892        Zero,
893        Zero,
894        Zero
895    })
896    Method (LN00, 0, Serialized)
897    {
898        Debug = "TEST: LN00, Logical Not"
899        /* Integers */
900
901        If ((F64 == 0x01))
902        {
903            M004 (__METHOD__, C004, "p062", P062, P05F, 0x00)
904            M004 (__METHOD__, C005, "p063", P063, P070, 0x00)
905        }
906        Else
907        {
908            M004 (__METHOD__, C004, "p062", P062, P05F, 0x00)
909        }
910    }
911
912    /* ===================================== LOr */
913
914    Name (P071, Package (0x0D)
915    {
916        Ones,
917        Ones,
918        Zero,
919        Ones,
920        Ones,
921        Ones,
922        Ones,
923        Ones,
924        Ones,
925        Ones,
926        Ones,
927        Ones,
928        Ones
929    })
930    Name (P072, Package (0x0C)
931    {
932        Ones,
933        Ones,
934        Zero,
935        Ones,
936        Ones,
937        Ones,
938        Ones,
939        Ones,
940        Ones,
941        Ones,
942        Ones,
943        Ones
944    })
945    Method (LOR0, 0, Serialized)
946    {
947        Debug = "TEST: LOR0, Logical Or"
948        /* Integers */
949
950        If ((F64 == 0x01))
951        {
952            M003 (__METHOD__, C002, "p060", P060, P071, 0x02)
953            M003 (__METHOD__, C003, "p061", P061, P072, 0x02)
954        }
955        Else
956        {
957            M003 (__METHOD__, C002, "p060", P060, P071, 0x02)
958        }
959    }
960
961    /* ===================================== LEqual */
962
963    Name (P073, Package (0x0D)
964    {
965        Ones,
966        Ones,
967        Ones,
968        Ones,
969        Zero,
970        Zero,
971        Zero,
972        Zero,
973        Zero,
974        Zero,
975        Zero,
976        Zero,
977        Zero
978    })
979    Name (P074, Package (0x0C)
980    {
981        Ones,
982        Ones,
983        Ones,
984        Ones,
985        Zero,
986        Zero,
987        Zero,
988        Zero,
989        Zero,
990        Zero,
991        Zero,
992        Zero
993    })
994    Name (P075, Package (0x1F)
995    {
996        Ones,
997        Zero,
998        Zero,
999        Ones,
1000        Zero,
1001        Zero,
1002        Ones,
1003        Zero,
1004        Zero,
1005        Zero,
1006        Zero,
1007        Zero,
1008        Zero,
1009        Zero,
1010        Zero,
1011        Zero,
1012        Zero,
1013        Zero,
1014        Zero,
1015        Zero,
1016        Ones,
1017        Zero,
1018        Zero,
1019        Zero,
1020        Zero,
1021        Zero,
1022        Zero,
1023        Zero,
1024        Zero,
1025        Zero,
1026        Zero
1027    })
1028    Name (P076, Package (0x33)
1029    {
1030        Ones,
1031        Zero,
1032        Zero,
1033        Zero,
1034        Zero,
1035        Ones,
1036        Zero,
1037        Zero,
1038        Zero,
1039        Zero,
1040        Ones,
1041        Zero,
1042        Zero,
1043        Zero,
1044        Zero,
1045        Zero,
1046        Zero,
1047        Ones,
1048        Zero,
1049        Zero,
1050        Ones,
1051        Zero,
1052        Zero,
1053        Ones,
1054        Zero,
1055        Zero,
1056        Zero,
1057        Zero,
1058        Zero,
1059        Zero,
1060        Zero,
1061        Zero,
1062        Zero,
1063        Zero,
1064        Zero,
1065        Zero,
1066        Zero,
1067        Ones,
1068        Zero,
1069        Zero,
1070        Ones,
1071        Zero,
1072        Zero,
1073        Zero,
1074        Zero,
1075        Zero,
1076        Zero,
1077        Zero,
1078        Zero,
1079        Zero,
1080        Zero
1081    })
1082    Method (LEQ0, 0, Serialized)
1083    {
1084        Debug = "TEST: LEQ0, Logical Equal"
1085        /* Integers */
1086
1087        If ((F64 == 0x01))
1088        {
1089            M003 (__METHOD__, C002, "p060", P060, P073, 0x03)
1090            M003 (__METHOD__, C003, "p061", P061, P074, 0x03)
1091        }
1092        Else
1093        {
1094            M003 (__METHOD__, C002, "p060", P060, P073, 0x03)
1095        }
1096
1097        /* Strings */
1098
1099        M003 (__METHOD__, C006, "p064", P064, P075, 0x03)
1100        Local0 = (BIG0 == BIG0)
1101        If ((Local0 != Ones))
1102        {
1103            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1104        }
1105
1106        /* Buffers */
1107
1108        M003 (__METHOD__, C007, "p065", P065, P076, 0x03)
1109    }
1110
1111    /* ===================================== LGreater */
1112
1113    Name (P077, Package (0x0D)
1114    {
1115        Zero,
1116        Zero,
1117        Zero,
1118        Zero,
1119        Ones,
1120        Zero,
1121        Ones,
1122        Zero,
1123        Ones,
1124        Zero,
1125        Zero,
1126        Zero,
1127        Zero
1128    })
1129    Name (P078, Package (0x0C)
1130    {
1131        Zero,
1132        Zero,
1133        Zero,
1134        Zero,
1135        Ones,
1136        Zero,
1137        Ones,
1138        Zero,
1139        Ones,
1140        Zero,
1141        Zero,
1142        Zero
1143    })
1144    Name (P079, Package (0x1F)
1145    {
1146        Zero,
1147        Zero,
1148        Ones,
1149        Zero,
1150        Ones,
1151        Zero,
1152        Zero,
1153        Ones,
1154        Zero,
1155        Ones,
1156        Zero,
1157        Zero,
1158        Ones,
1159        Ones,
1160        Zero,
1161        Zero,
1162        Ones,
1163        Zero,
1164        Ones,
1165        Zero,
1166        Zero,
1167        Zero,
1168        Ones,
1169        Ones,
1170        Zero,
1171        Ones,
1172        Zero,
1173        Zero,
1174        Ones,
1175        Ones,
1176        Zero
1177    })
1178    Name (P07A, Package (0x33)
1179    {
1180        Zero,
1181        Zero,
1182        Ones,
1183        Zero,
1184        Ones,
1185        Zero,
1186        Ones,
1187        Zero,
1188        Ones,
1189        Zero,
1190        Zero,
1191        Zero,
1192        Ones,
1193        Ones,
1194        Zero,
1195        Ones,
1196        Zero,
1197        Zero,
1198        Zero,
1199        Ones,
1200        Zero,
1201        Ones,
1202        Zero,
1203        Zero,
1204        Ones,
1205        Zero,
1206        Ones,
1207        Zero,
1208        Zero,
1209        Ones,
1210        Ones,
1211        Zero,
1212        Zero,
1213        Ones,
1214        Zero,
1215        Ones,
1216        Zero,
1217        Zero,
1218        Zero,
1219        Ones,
1220        Zero,
1221        Zero,
1222        Ones,
1223        Ones,
1224        Zero,
1225        Ones,
1226        Zero,
1227        Zero,
1228        Ones,
1229        Ones,
1230        Zero
1231    })
1232    Method (LGR0, 0, Serialized)
1233    {
1234        Debug = "TEST: LGR0, Logical Greater"
1235        /* Integers */
1236
1237        If ((F64 == 0x01))
1238        {
1239            M003 (__METHOD__, C002, "p060", P060, P077, 0x04)
1240            M003 (__METHOD__, C003, "p061", P061, P078, 0x04)
1241        }
1242        Else
1243        {
1244            M003 (__METHOD__, C002, "p060", P060, P077, 0x04)
1245        }
1246
1247        /* Strings */
1248
1249        M003 (__METHOD__, C006, "p064", P064, P079, 0x04)
1250        Local0 = (BIG0 > BIG0)
1251        If ((Local0 != Zero))
1252        {
1253            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1254        }
1255
1256        /* Buffers */
1257
1258        M003 (__METHOD__, C007, "p065", P065, P07A, 0x04)
1259    }
1260
1261    /* ===================================== LGreaterEqual */
1262
1263    Name (P07B, Package (0x0D)
1264    {
1265        Ones,
1266        Ones,
1267        Ones,
1268        Ones,
1269        Ones,
1270        Zero,
1271        Ones,
1272        Zero,
1273        Ones,
1274        Zero,
1275        Zero,
1276        Zero,
1277        Zero
1278    })
1279    Name (P07C, Package (0x0C)
1280    {
1281        Ones,
1282        Ones,
1283        Ones,
1284        Ones,
1285        Ones,
1286        Zero,
1287        Ones,
1288        Zero,
1289        Ones,
1290        Zero,
1291        Zero,
1292        Zero
1293    })
1294    Name (P07D, Package (0x1F)
1295    {
1296        Ones,
1297        Zero,
1298        Ones,
1299        Ones,
1300        Ones,
1301        Zero,
1302        Ones,
1303        Ones,
1304        Zero,
1305        Ones,
1306        Zero,
1307        Zero,
1308        Ones,
1309        Ones,
1310        Zero,
1311        Zero,
1312        Ones,
1313        Zero,
1314        Ones,
1315        Zero,
1316        Ones,
1317        Zero,
1318        Ones,
1319        Ones,
1320        Zero,
1321        Ones,
1322        Zero,
1323        Zero,
1324        Ones,
1325        Ones,
1326        Zero
1327    })
1328    Name (P07E, Package (0x33)
1329    {
1330        Ones,
1331        Zero,
1332        Ones,
1333        Zero,
1334        Ones,
1335        Ones,
1336        Ones,
1337        Zero,
1338        Ones,
1339        Zero,
1340        Ones,
1341        Zero,
1342        Ones,
1343        Ones,
1344        Zero,
1345        Ones,
1346        Zero,
1347        Ones,
1348        Zero,
1349        Ones,
1350        Ones,
1351        Ones,
1352        Zero,
1353        Ones,
1354        Ones,
1355        Zero,
1356        Ones,
1357        Zero,
1358        Zero,
1359        Ones,
1360        Ones,
1361        Zero,
1362        Zero,
1363        Ones,
1364        Zero,
1365        Ones,
1366        Zero,
1367        Ones,
1368        Zero,
1369        Ones,
1370        Ones,
1371        Zero,
1372        Ones,
1373        Ones,
1374        Zero,
1375        Ones,
1376        Zero,
1377        Zero,
1378        Ones,
1379        Ones,
1380        Zero
1381    })
1382    Method (LGE0, 0, Serialized)
1383    {
1384        Debug = "TEST: LGE0, Logical Greater Than Or Equal"
1385        /* Integers */
1386
1387        If ((F64 == 0x01))
1388        {
1389            M003 (__METHOD__, C002, "p060", P060, P07B, 0x05)
1390            M003 (__METHOD__, C003, "p061", P061, P07C, 0x05)
1391        }
1392        Else
1393        {
1394            M003 (__METHOD__, C002, "p060", P060, P07B, 0x05)
1395        }
1396
1397        /* Strings */
1398
1399        M003 (__METHOD__, C006, "p064", P064, P07D, 0x05)
1400        Local0 = (BIG0 >= BIG0)
1401        If ((Local0 != Ones))
1402        {
1403            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1404        }
1405
1406        /* Buffers */
1407
1408        M003 (__METHOD__, C007, "p065", P065, P07E, 0x05)
1409    }
1410
1411    /* ===================================== LLess */
1412
1413    Name (P07F, Package (0x0D)
1414    {
1415        Zero,
1416        Zero,
1417        Zero,
1418        Zero,
1419        Zero,
1420        Ones,
1421        Zero,
1422        Ones,
1423        Zero,
1424        Ones,
1425        Ones,
1426        Ones,
1427        Ones
1428    })
1429    Name (P080, Package (0x0C)
1430    {
1431        Zero,
1432        Zero,
1433        Zero,
1434        Zero,
1435        Zero,
1436        Ones,
1437        Zero,
1438        Ones,
1439        Zero,
1440        Ones,
1441        Ones,
1442        Ones
1443    })
1444    Name (P081, Package (0x1F)
1445    {
1446        Zero,
1447        Ones,
1448        Zero,
1449        Zero,
1450        Zero,
1451        Ones,
1452        Zero,
1453        Zero,
1454        Ones,
1455        Zero,
1456        Ones,
1457        Ones,
1458        Zero,
1459        Zero,
1460        Ones,
1461        Ones,
1462        Zero,
1463        Ones,
1464        Zero,
1465        Ones,
1466        Zero,
1467        Ones,
1468        Zero,
1469        Zero,
1470        Ones,
1471        Zero,
1472        Ones,
1473        Ones,
1474        Zero,
1475        Zero,
1476        Ones
1477    })
1478    Name (P082, Package (0x33)
1479    {
1480        Zero,
1481        Ones,
1482        Zero,
1483        Ones,
1484        Zero,
1485        Zero,
1486        Zero,
1487        Ones,
1488        Zero,
1489        Ones,
1490        Zero,
1491        Ones,
1492        Zero,
1493        Zero,
1494        Ones,
1495        Zero,
1496        Ones,
1497        Zero,
1498        Ones,
1499        Zero,
1500        Zero,
1501        Zero,
1502        Ones,
1503        Zero,
1504        Zero,
1505        Ones,
1506        Zero,
1507        Ones,
1508        Ones,
1509        Zero,
1510        Zero,
1511        Ones,
1512        Ones,
1513        Zero,
1514        Ones,
1515        Zero,
1516        Ones,
1517        Zero,
1518        Ones,
1519        Zero,
1520        Zero,
1521        Ones,
1522        Zero,
1523        Zero,
1524        Ones,
1525        Zero,
1526        Ones,
1527        Ones,
1528        Zero,
1529        Zero,
1530        Ones
1531    })
1532    Method (LL00, 0, Serialized)
1533    {
1534        Debug = "TEST: LL00, Logical Less"
1535        /* Integers */
1536
1537        If ((F64 == 0x01))
1538        {
1539            M003 (__METHOD__, C002, "p060", P060, P07F, 0x06)
1540            M003 (__METHOD__, C003, "p061", P061, P080, 0x06)
1541        }
1542        Else
1543        {
1544            M003 (__METHOD__, C002, "p060", P060, P07F, 0x06)
1545        }
1546
1547        /* Strings */
1548
1549        M003 (__METHOD__, C006, "p064", P064, P081, 0x06)
1550        Local0 = (BIG0 < BIG0)
1551        If ((Local0 != Zero))
1552        {
1553            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1554        }
1555
1556        /* Buffers */
1557
1558        M003 (__METHOD__, C007, "p065", P065, P082, 0x06)
1559    }
1560
1561    /* ===================================== LLessEqual */
1562
1563    Name (P083, Package (0x0D)
1564    {
1565        Ones,
1566        Ones,
1567        Ones,
1568        Ones,
1569        Zero,
1570        Ones,
1571        Zero,
1572        Ones,
1573        Zero,
1574        Ones,
1575        Ones,
1576        Ones,
1577        Ones
1578    })
1579    Name (P084, Package (0x0C)
1580    {
1581        Ones,
1582        Ones,
1583        Ones,
1584        Ones,
1585        Zero,
1586        Ones,
1587        Zero,
1588        Ones,
1589        Zero,
1590        Ones,
1591        Ones,
1592        Ones
1593    })
1594    Name (P085, Package (0x1F)
1595    {
1596        Ones,
1597        Ones,
1598        Zero,
1599        Ones,
1600        Zero,
1601        Ones,
1602        Ones,
1603        Zero,
1604        Ones,
1605        Zero,
1606        Ones,
1607        Ones,
1608        Zero,
1609        Zero,
1610        Ones,
1611        Ones,
1612        Zero,
1613        Ones,
1614        Zero,
1615        Ones,
1616        Ones,
1617        Ones,
1618        Zero,
1619        Zero,
1620        Ones,
1621        Zero,
1622        Ones,
1623        Ones,
1624        Zero,
1625        Zero,
1626        Ones
1627    })
1628    Name (P086, Package (0x33)
1629    {
1630        Ones,
1631        Ones,
1632        Zero,
1633        Ones,
1634        Zero,
1635        Ones,
1636        Zero,
1637        Ones,
1638        Zero,
1639        Ones,
1640        Ones,
1641        Ones,
1642        Zero,
1643        Zero,
1644        Ones,
1645        Zero,
1646        Ones,
1647        Ones,
1648        Ones,
1649        Zero,
1650        Ones,
1651        Zero,
1652        Ones,
1653        Ones,
1654        Zero,
1655        Ones,
1656        Zero,
1657        Ones,
1658        Ones,
1659        Zero,
1660        Zero,
1661        Ones,
1662        Ones,
1663        Zero,
1664        Ones,
1665        Zero,
1666        Ones,
1667        Ones,
1668        Ones,
1669        Zero,
1670        Ones,
1671        Ones,
1672        Zero,
1673        Zero,
1674        Ones,
1675        Zero,
1676        Ones,
1677        Ones,
1678        Zero,
1679        Zero,
1680        Ones
1681    })
1682    Method (LLE0, 0, Serialized)
1683    {
1684        Debug = "TEST: LLE0, Logical Less Than Or Equal"
1685        /* Integers */
1686
1687        If ((F64 == 0x01))
1688        {
1689            M003 (__METHOD__, C002, "p060", P060, P083, 0x07)
1690            M003 (__METHOD__, C003, "p061", P061, P084, 0x07)
1691        }
1692        Else
1693        {
1694            M003 (__METHOD__, C002, "p060", P060, P083, 0x07)
1695        }
1696
1697        /* Strings */
1698
1699        M003 (__METHOD__, C006, "p064", P064, P085, 0x07)
1700        Local0 = (BIG0 <= BIG0)
1701        If ((Local0 != Ones))
1702        {
1703            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1704        }
1705
1706        /* Buffers */
1707
1708        M003 (__METHOD__, C007, "p065", P065, P086, 0x07)
1709    }
1710
1711    /* ===================================== LNotEqual */
1712
1713    Name (P087, Package (0x0D)
1714    {
1715        Zero,
1716        Zero,
1717        Zero,
1718        Zero,
1719        Ones,
1720        Ones,
1721        Ones,
1722        Ones,
1723        Ones,
1724        Ones,
1725        Ones,
1726        Ones,
1727        Ones
1728    })
1729    Name (P088, Package (0x0C)
1730    {
1731        Zero,
1732        Zero,
1733        Zero,
1734        Zero,
1735        Ones,
1736        Ones,
1737        Ones,
1738        Ones,
1739        Ones,
1740        Ones,
1741        Ones,
1742        Ones
1743    })
1744    Name (P089, Package (0x1F)
1745    {
1746        Zero,
1747        Ones,
1748        Ones,
1749        Zero,
1750        Ones,
1751        Ones,
1752        Zero,
1753        Ones,
1754        Ones,
1755        Ones,
1756        Ones,
1757        Ones,
1758        Ones,
1759        Ones,
1760        Ones,
1761        Ones,
1762        Ones,
1763        Ones,
1764        Ones,
1765        Ones,
1766        Zero,
1767        Ones,
1768        Ones,
1769        Ones,
1770        Ones,
1771        Ones,
1772        Ones,
1773        Ones,
1774        Ones,
1775        Ones,
1776        Ones
1777    })
1778    Name (P08A, Package (0x33)
1779    {
1780        Zero,
1781        Ones,
1782        Ones,
1783        Ones,
1784        Ones,
1785        Zero,
1786        Ones,
1787        Ones,
1788        Ones,
1789        Ones,
1790        Zero,
1791        Ones,
1792        Ones,
1793        Ones,
1794        Ones,
1795        Ones,
1796        Ones,
1797        Zero,
1798        Ones,
1799        Ones,
1800        Zero,
1801        Ones,
1802        Ones,
1803        Zero,
1804        Ones,
1805        Ones,
1806        Ones,
1807        Ones,
1808        Ones,
1809        Ones,
1810        Ones,
1811        Ones,
1812        Ones,
1813        Ones,
1814        Ones,
1815        Ones,
1816        Ones,
1817        Zero,
1818        Ones,
1819        Ones,
1820        Zero,
1821        Ones,
1822        Ones,
1823        Ones,
1824        Ones,
1825        Ones,
1826        Ones,
1827        Ones,
1828        Ones,
1829        Ones,
1830        Ones
1831    })
1832    Method (LNE0, 0, Serialized)
1833    {
1834        Debug = "TEST: LNE0, Logical Not equal"
1835        /* Integers */
1836
1837        If ((F64 == 0x01))
1838        {
1839            M003 (__METHOD__, C002, "p060", P060, P087, 0x00)
1840            M003 (__METHOD__, C003, "p061", P061, P088, 0x00)
1841        }
1842        Else
1843        {
1844            M003 (__METHOD__, C002, "p060", P060, P087, 0x00)
1845        }
1846
1847        /* Strings */
1848
1849        M003 (__METHOD__, C006, "p064", P064, P089, 0x00)
1850        Local0 = (BIG0 != BIG0)
1851        If ((Local0 != Zero))
1852        {
1853            ERR (__METHOD__, Z035, __LINE__, 0x00, 0x00, 0x00, 0x00)
1854        }
1855
1856        /* Buffers */
1857
1858        M003 (__METHOD__, C007, "p065", P065, P08A, 0x00)
1859    }
1860
1861    /* Run-method */
1862
1863    Method (LOG0, 0, NotSerialized)
1864    {
1865        SRMT ("LAN0")
1866        LAN0 ()
1867        SRMT ("LN00")
1868        LN00 ()
1869        SRMT ("LOR0")
1870        LOR0 ()
1871        SRMT ("LEQ0")
1872        LEQ0 ()
1873        SRMT ("LGR0")
1874        LGR0 ()
1875        SRMT ("LGE0")
1876        LGE0 ()
1877        SRMT ("LL00")
1878        LL00 ()
1879        SRMT ("LLE0")
1880        LLE0 ()
1881        SRMT ("LNE0")
1882        LNE0 ()
1883    }
1884