| |
| # |
| # (C) 2008-2009 Advanced Micro Devices, Inc. All Rights Reserved. |
| # |
| # This file is part of libacml_mv. |
| # |
| # libacml_mv is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| # |
| # libacml_mv is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with libacml_mv. If not, see |
| # <http://www.gnu.org/licenses/>. |
| # |
| # |
| |
| |
| |
| |
| |
| # |
| # vrd4frcpa.asm |
| # |
| # A vector implementation of the floating point reciprocal approximation function. |
| # The goal is to be faster than a divide. This routine provides four double |
| # precision results from four double precision inputs. It would not be necessary |
| ## if SSE defined a double precision instruction similar to the single precision |
| # rcpss. |
| # |
| # Prototype: |
| # |
| # __m128d,__m128d __vrd4_frcpa(__m128d x1, __m128d x2); |
| # |
| # Computes an approximate reciprocal of x. |
| # A table lookup is performed on the higher 10 bits of the mantissa |
| # (not including the implicit bit). |
| # |
| # |
| # |
| # This routine computes 4 double precision frcpa values at a time. |
| # The four values are passed as packed doubles in xmm0 and xmm1. |
| # The four results are returned as packed doubles in xmm0 and xmm1. |
| # Note that this represents a non-standard ABI usage, as no ABI |
| # ( and indeed C) currently allows returning 2 values for a function. |
| # It is expected that some compilers may be able to take advantage of this |
| # interface when implementing vectorized loops. |
| # |
| |
| |
| # define local variable storage offsets |
| .equ p_x,0 # temporary for get/put bits operation |
| .equ p_x2,0x10 # temporary for get/put bits operation |
| |
| .equ stack_size,0x028 |
| #ifdef __ELF__ |
| .section .note.GNU-stack,"",@progbits |
| #endif |
| |
| |
| # parameters are expected as: |
| # xmm0 - __m128d x1 |
| # xmm1 - __m128d x2 |
| |
| .text |
| .align 16 |
| .p2align 4,,15 |
| .globl __vrd4_frcpa |
| .type __vrd4_frcpa,@function |
| __vrd4_frcpa: |
| sub $stack_size,%rsp |
| # 10 bit GPR method |
| xor %rax,%rax |
| movdqa .L__mask_expext(%rip),%xmm3 |
| movdqa %xmm1,%xmm6 |
| movdqa %xmm0,%xmm4 |
| movdqa %xmm3,%xmm5 |
| ## if 1/2 bit set, increment the index+exponent |
| psrlq $41,%xmm4 |
| psrlq $41,%xmm6 |
| movdqa %xmm4,%xmm2 |
| paddq .L__int_one(%rip),%xmm4 |
| psrlq $1,%xmm4 |
| pand .L__mask_10bits(%rip),%xmm4 |
| # invert the exponent |
| psubq %xmm2,%xmm3 |
| movdqa %xmm6,%xmm2 |
| paddq .L__int_one(%rip),%xmm6 |
| psrlq $1,%xmm6 |
| pand .L__mask_10bits(%rip),%xmm6 |
| psubq %xmm2,%xmm5 |
| pand .L__mask_expext2(%rip),%xmm3 |
| pand .L__mask_expext2(%rip),%xmm5 |
| psllq $1,%xmm3 |
| # do the lookup and recombine |
| lea .L__rcp_table(%rip),%rdx |
| |
| movdqa %xmm4,p_x(%rsp) # move the indexes to a memory location |
| psllq $1,%xmm5 |
| mov p_x(%rsp),%r8 # 3 cycles faster for frcpa, but 2 cycles slower for log |
| mov p_x+8(%rsp),%r9 |
| movdqa %xmm6,p_x2(%rsp) # move the indexes to a memory location |
| movd (%rdx,%r9,4),%xmm2 # lookup |
| movd (%rdx,%r8,4),%xmm4 # lookup |
| pslldq $8,%xmm2 # shift by 8 bytes |
| por %xmm4,%xmm2 |
| por %xmm2,%xmm3 |
| mov p_x2(%rsp),%r8 # 3 cycles faster for frcpa, but 2 cycles slower for log |
| mov p_x2+8(%rsp),%r9 |
| movd (%rdx,%r9,4),%xmm2 # lookup |
| movd (%rdx,%r8,4),%xmm4 # lookup |
| pslldq $8,%xmm2 # shift by 8 bytes |
| por %xmm4,%xmm2 |
| por %xmm2,%xmm5 |
| # shift and restore the sign |
| pand .L__mask_sign(%rip),%xmm0 |
| pand .L__mask_sign(%rip),%xmm1 |
| psllq $40,%xmm3 |
| psllq $40,%xmm5 |
| por %xmm3,%xmm0 |
| por %xmm5,%xmm1 |
| add $stack_size,%rsp |
| ret |
| |
| |
| .data |
| .align 16 |
| |
| .L__int_one: .quad 0x00000000000000001 |
| .quad 0x00000000000000001 |
| |
| .L__mask_10bits: .quad 0x000000000000003ff |
| .quad 0x000000000000003ff |
| |
| .L__mask_expext: .quad 0x000000000003ff000 |
| .quad 0x000000000003ff000 |
| |
| .L__mask_expext2: .quad 0x000000000003ff800 |
| .quad 0x000000000003ff800 |
| |
| .L__mask_sign: .quad 0x08000000000000000 |
| .quad 0x08000000000000000 |
| |
| .L__real_one: .quad 0x03ff0000000000000 |
| .quad 0x03ff0000000000000 |
| .L__real_two: .quad 0x04000000000000000 |
| .quad 0x04000000000000000 |
| |
| .align 16 |
| |
| .L__rcp_table: |
| .long 0x0000 |
| .long 0x0FF8 |
| .long 0x0FF0 |
| .long 0x0FE8 |
| .long 0x0FE0 |
| .long 0x0FD8 |
| .long 0x0FD0 |
| .long 0x0FC8 |
| .long 0x0FC0 |
| .long 0x0FB8 |
| .long 0x0FB1 |
| .long 0x0FA9 |
| .long 0x0FA1 |
| .long 0x0F99 |
| .long 0x0F91 |
| .long 0x0F89 |
| .long 0x0F82 |
| .long 0x0F7A |
| .long 0x0F72 |
| .long 0x0F6B |
| .long 0x0F63 |
| .long 0x0F5B |
| .long 0x0F53 |
| .long 0x0F4C |
| .long 0x0F44 |
| .long 0x0F3D |
| .long 0x0F35 |
| .long 0x0F2D |
| .long 0x0F26 |
| .long 0x0F1E |
| .long 0x0F17 |
| .long 0x0F0F |
| .long 0x0F08 |
| .long 0x0F00 |
| .long 0x0EF8 |
| .long 0x0EF1 |
| .long 0x0EEA |
| .long 0x0EE2 |
| .long 0x0EDB |
| .long 0x0ED3 |
| .long 0x0ECC |
| .long 0x0EC4 |
| .long 0x0EBD |
| .long 0x0EB6 |
| .long 0x0EAE |
| .long 0x0EA7 |
| .long 0x0EA0 |
| .long 0x0E98 |
| .long 0x0E91 |
| .long 0x0E8A |
| .long 0x0E82 |
| .long 0x0E7B |
| .long 0x0E74 |
| .long 0x0E6D |
| .long 0x0E65 |
| .long 0x0E5E |
| .long 0x0E57 |
| .long 0x0E50 |
| .long 0x0E49 |
| .long 0x0E41 |
| .long 0x0E3A |
| .long 0x0E33 |
| .long 0x0E2C |
| .long 0x0E25 |
| .long 0x0E1E |
| .long 0x0E17 |
| .long 0x0E10 |
| .long 0x0E09 |
| .long 0x0E02 |
| .long 0x0DFB |
| .long 0x0DF4 |
| .long 0x0DED |
| .long 0x0DE6 |
| .long 0x0DDF |
| .long 0x0DD8 |
| .long 0x0DD1 |
| .long 0x0DCA |
| .long 0x0DC3 |
| .long 0x0DBC |
| .long 0x0DB5 |
| .long 0x0DAE |
| .long 0x0DA7 |
| .long 0x0DA0 |
| .long 0x0D9A |
| .long 0x0D93 |
| .long 0x0D8C |
| .long 0x0D85 |
| .long 0x0D7E |
| .long 0x0D77 |
| .long 0x0D71 |
| .long 0x0D6A |
| .long 0x0D63 |
| .long 0x0D5C |
| .long 0x0D56 |
| .long 0x0D4F |
| .long 0x0D48 |
| .long 0x0D42 |
| .long 0x0D3B |
| .long 0x0D34 |
| .long 0x0D2E |
| .long 0x0D27 |
| .long 0x0D20 |
| .long 0x0D1A |
| .long 0x0D13 |
| .long 0x0D0C |
| .long 0x0D06 |
| .long 0x0CFF |
| .long 0x0CF9 |
| .long 0x0CF2 |
| .long 0x0CEC |
| .long 0x0CE5 |
| .long 0x0CDF |
| .long 0x0CD8 |
| .long 0x0CD2 |
| .long 0x0CCB |
| .long 0x0CC5 |
| .long 0x0CBE |
| .long 0x0CB8 |
| .long 0x0CB1 |
| .long 0x0CAB |
| .long 0x0CA4 |
| .long 0x0C9E |
| .long 0x0C98 |
| .long 0x0C91 |
| .long 0x0C8B |
| .long 0x0C85 |
| .long 0x0C7E |
| .long 0x0C78 |
| .long 0x0C72 |
| .long 0x0C6B |
| .long 0x0C65 |
| .long 0x0C5F |
| .long 0x0C58 |
| .long 0x0C52 |
| .long 0x0C4C |
| .long 0x0C46 |
| .long 0x0C3F |
| .long 0x0C39 |
| .long 0x0C33 |
| .long 0x0C2D |
| .long 0x0C26 |
| .long 0x0C20 |
| .long 0x0C1A |
| .long 0x0C14 |
| .long 0x0C0E |
| .long 0x0C08 |
| .long 0x0C02 |
| .long 0x0BFB |
| .long 0x0BF5 |
| .long 0x0BEF |
| .long 0x0BE9 |
| .long 0x0BE3 |
| .long 0x0BDD |
| .long 0x0BD7 |
| .long 0x0BD1 |
| .long 0x0BCB |
| .long 0x0BC5 |
| .long 0x0BBF |
| .long 0x0BB9 |
| .long 0x0BB3 |
| .long 0x0BAD |
| .long 0x0BA7 |
| .long 0x0BA1 |
| .long 0x0B9B |
| .long 0x0B95 |
| .long 0x0B8F |
| .long 0x0B89 |
| .long 0x0B83 |
| .long 0x0B7D |
| .long 0x0B77 |
| .long 0x0B71 |
| .long 0x0B6C |
| .long 0x0B66 |
| .long 0x0B60 |
| .long 0x0B5A |
| .long 0x0B54 |
| .long 0x0B4E |
| .long 0x0B48 |
| .long 0x0B43 |
| .long 0x0B3D |
| .long 0x0B37 |
| .long 0x0B31 |
| .long 0x0B2B |
| .long 0x0B26 |
| .long 0x0B20 |
| .long 0x0B1A |
| .long 0x0B14 |
| .long 0x0B0F |
| .long 0x0B09 |
| .long 0x0B03 |
| .long 0x0AFE |
| .long 0x0AF8 |
| .long 0x0AF2 |
| .long 0x0AED |
| .long 0x0AE7 |
| .long 0x0AE1 |
| .long 0x0ADC |
| .long 0x0AD6 |
| .long 0x0AD0 |
| .long 0x0ACB |
| .long 0x0AC5 |
| .long 0x0AC0 |
| .long 0x0ABA |
| .long 0x0AB4 |
| .long 0x0AAF |
| .long 0x0AA9 |
| .long 0x0AA4 |
| .long 0x0A9E |
| .long 0x0A99 |
| .long 0x0A93 |
| .long 0x0A8E |
| .long 0x0A88 |
| .long 0x0A83 |
| .long 0x0A7D |
| .long 0x0A78 |
| .long 0x0A72 |
| .long 0x0A6D |
| .long 0x0A67 |
| .long 0x0A62 |
| .long 0x0A5C |
| .long 0x0A57 |
| .long 0x0A52 |
| .long 0x0A4C |
| .long 0x0A47 |
| .long 0x0A41 |
| .long 0x0A3C |
| .long 0x0A37 |
| .long 0x0A31 |
| .long 0x0A2C |
| .long 0x0A27 |
| .long 0x0A21 |
| .long 0x0A1C |
| .long 0x0A17 |
| .long 0x0A11 |
| .long 0x0A0C |
| .long 0x0A07 |
| .long 0x0A01 |
| .long 0x09FC |
| .long 0x09F7 |
| .long 0x09F2 |
| .long 0x09EC |
| .long 0x09E7 |
| .long 0x09E2 |
| .long 0x09DD |
| .long 0x09D7 |
| .long 0x09D2 |
| .long 0x09CD |
| .long 0x09C8 |
| .long 0x09C3 |
| .long 0x09BD |
| .long 0x09B8 |
| .long 0x09B3 |
| .long 0x09AE |
| .long 0x09A9 |
| .long 0x09A4 |
| .long 0x099E |
| .long 0x0999 |
| .long 0x0994 |
| .long 0x098F |
| .long 0x098A |
| .long 0x0985 |
| .long 0x0980 |
| .long 0x097B |
| .long 0x0976 |
| .long 0x0971 |
| .long 0x096C |
| .long 0x0967 |
| .long 0x0962 |
| .long 0x095C |
| .long 0x0957 |
| .long 0x0952 |
| .long 0x094D |
| .long 0x0948 |
| .long 0x0943 |
| .long 0x093E |
| .long 0x0939 |
| .long 0x0935 |
| .long 0x0930 |
| .long 0x092B |
| .long 0x0926 |
| .long 0x0921 |
| .long 0x091C |
| .long 0x0917 |
| .long 0x0912 |
| .long 0x090D |
| .long 0x0908 |
| .long 0x0903 |
| .long 0x08FE |
| .long 0x08FA |
| .long 0x08F5 |
| .long 0x08F0 |
| .long 0x08EB |
| .long 0x08E6 |
| .long 0x08E1 |
| .long 0x08DC |
| .long 0x08D8 |
| .long 0x08D3 |
| .long 0x08CE |
| .long 0x08C9 |
| .long 0x08C4 |
| .long 0x08C0 |
| .long 0x08BB |
| .long 0x08B6 |
| .long 0x08B1 |
| .long 0x08AC |
| .long 0x08A8 |
| .long 0x08A3 |
| .long 0x089E |
| .long 0x089A |
| .long 0x0895 |
| .long 0x0890 |
| .long 0x088B |
| .long 0x0887 |
| .long 0x0882 |
| .long 0x087D |
| .long 0x0879 |
| .long 0x0874 |
| .long 0x086F |
| .long 0x086B |
| .long 0x0866 |
| .long 0x0861 |
| .long 0x085D |
| .long 0x0858 |
| .long 0x0853 |
| .long 0x084F |
| .long 0x084A |
| .long 0x0846 |
| .long 0x0841 |
| .long 0x083C |
| .long 0x0838 |
| .long 0x0833 |
| .long 0x082F |
| .long 0x082A |
| .long 0x0825 |
| .long 0x0821 |
| .long 0x081C |
| .long 0x0818 |
| .long 0x0813 |
| .long 0x080F |
| .long 0x080A |
| .long 0x0806 |
| .long 0x0801 |
| .long 0x07FD |
| .long 0x07F8 |
| .long 0x07F4 |
| .long 0x07EF |
| .long 0x07EB |
| .long 0x07E6 |
| .long 0x07E2 |
| .long 0x07DD |
| .long 0x07D9 |
| .long 0x07D5 |
| .long 0x07D0 |
| .long 0x07CC |
| .long 0x07C7 |
| .long 0x07C3 |
| .long 0x07BE |
| .long 0x07BA |
| .long 0x07B6 |
| .long 0x07B1 |
| .long 0x07AD |
| .long 0x07A9 |
| .long 0x07A4 |
| .long 0x07A0 |
| .long 0x079B |
| .long 0x0797 |
| .long 0x0793 |
| .long 0x078E |
| .long 0x078A |
| .long 0x0786 |
| .long 0x0781 |
| .long 0x077D |
| .long 0x0779 |
| .long 0x0774 |
| .long 0x0770 |
| .long 0x076C |
| .long 0x0768 |
| .long 0x0763 |
| .long 0x075F |
| .long 0x075B |
| .long 0x0757 |
| .long 0x0752 |
| .long 0x074E |
| .long 0x074A |
| .long 0x0746 |
| .long 0x0741 |
| .long 0x073D |
| .long 0x0739 |
| .long 0x0735 |
| .long 0x0730 |
| .long 0x072C |
| .long 0x0728 |
| .long 0x0724 |
| .long 0x0720 |
| .long 0x071C |
| .long 0x0717 |
| .long 0x0713 |
| .long 0x070F |
| .long 0x070B |
| .long 0x0707 |
| .long 0x0703 |
| .long 0x06FE |
| .long 0x06FA |
| .long 0x06F6 |
| .long 0x06F2 |
| .long 0x06EE |
| .long 0x06EA |
| .long 0x06E6 |
| .long 0x06E2 |
| .long 0x06DE |
| .long 0x06DA |
| .long 0x06D5 |
| .long 0x06D1 |
| .long 0x06CD |
| .long 0x06C9 |
| .long 0x06C5 |
| .long 0x06C1 |
| .long 0x06BD |
| .long 0x06B9 |
| .long 0x06B5 |
| .long 0x06B1 |
| .long 0x06AD |
| .long 0x06A9 |
| .long 0x06A5 |
| .long 0x06A1 |
| .long 0x069D |
| .long 0x0699 |
| .long 0x0695 |
| .long 0x0691 |
| .long 0x068D |
| .long 0x0689 |
| .long 0x0685 |
| .long 0x0681 |
| .long 0x067D |
| .long 0x0679 |
| .long 0x0675 |
| .long 0x0671 |
| .long 0x066D |
| .long 0x066A |
| .long 0x0666 |
| .long 0x0662 |
| .long 0x065E |
| .long 0x065A |
| .long 0x0656 |
| .long 0x0652 |
| .long 0x064E |
| .long 0x064A |
| .long 0x0646 |
| .long 0x0643 |
| .long 0x063F |
| .long 0x063B |
| .long 0x0637 |
| .long 0x0633 |
| .long 0x062F |
| .long 0x062B |
| .long 0x0628 |
| .long 0x0624 |
| .long 0x0620 |
| .long 0x061C |
| .long 0x0618 |
| .long 0x0614 |
| .long 0x0611 |
| .long 0x060D |
| .long 0x0609 |
| .long 0x0605 |
| .long 0x0601 |
| .long 0x05FE |
| .long 0x05FA |
| .long 0x05F6 |
| .long 0x05F2 |
| .long 0x05EF |
| .long 0x05EB |
| .long 0x05E7 |
| .long 0x05E3 |
| .long 0x05E0 |
| .long 0x05DC |
| .long 0x05D8 |
| .long 0x05D4 |
| .long 0x05D1 |
| .long 0x05CD |
| .long 0x05C9 |
| .long 0x05C6 |
| .long 0x05C2 |
| .long 0x05BE |
| .long 0x05BA |
| .long 0x05B7 |
| .long 0x05B3 |
| .long 0x05AF |
| .long 0x05AC |
| .long 0x05A8 |
| .long 0x05A4 |
| .long 0x05A1 |
| .long 0x059D |
| .long 0x0599 |
| .long 0x0596 |
| .long 0x0592 |
| .long 0x058F |
| .long 0x058B |
| .long 0x0587 |
| .long 0x0584 |
| .long 0x0580 |
| .long 0x057C |
| .long 0x0579 |
| .long 0x0575 |
| .long 0x0572 |
| .long 0x056E |
| .long 0x056B |
| .long 0x0567 |
| .long 0x0563 |
| .long 0x0560 |
| .long 0x055C |
| .long 0x0559 |
| .long 0x0555 |
| .long 0x0552 |
| .long 0x054E |
| .long 0x054A |
| .long 0x0547 |
| .long 0x0543 |
| .long 0x0540 |
| .long 0x053C |
| .long 0x0539 |
| .long 0x0535 |
| .long 0x0532 |
| .long 0x052E |
| .long 0x052B |
| .long 0x0527 |
| .long 0x0524 |
| .long 0x0520 |
| .long 0x051D |
| .long 0x0519 |
| .long 0x0516 |
| .long 0x0512 |
| .long 0x050F |
| .long 0x050B |
| .long 0x0508 |
| .long 0x0505 |
| .long 0x0501 |
| .long 0x04FE |
| .long 0x04FA |
| .long 0x04F7 |
| .long 0x04F3 |
| .long 0x04F0 |
| .long 0x04EC |
| .long 0x04E9 |
| .long 0x04E6 |
| .long 0x04E2 |
| .long 0x04DF |
| .long 0x04DB |
| .long 0x04D8 |
| .long 0x04D5 |
| .long 0x04D1 |
| .long 0x04CE |
| .long 0x04CA |
| .long 0x04C7 |
| .long 0x04C4 |
| .long 0x04C0 |
| .long 0x04BD |
| .long 0x04BA |
| .long 0x04B6 |
| .long 0x04B3 |
| .long 0x04B0 |
| .long 0x04AC |
| .long 0x04A9 |
| .long 0x04A6 |
| .long 0x04A2 |
| .long 0x049F |
| .long 0x049C |
| .long 0x0498 |
| .long 0x0495 |
| .long 0x0492 |
| .long 0x048E |
| .long 0x048B |
| .long 0x0488 |
| .long 0x0484 |
| .long 0x0481 |
| .long 0x047E |
| .long 0x047B |
| .long 0x0477 |
| .long 0x0474 |
| .long 0x0471 |
| .long 0x046E |
| .long 0x046A |
| .long 0x0467 |
| .long 0x0464 |
| .long 0x0461 |
| .long 0x045D |
| .long 0x045A |
| .long 0x0457 |
| .long 0x0454 |
| .long 0x0450 |
| .long 0x044D |
| .long 0x044A |
| .long 0x0447 |
| .long 0x0444 |
| .long 0x0440 |
| .long 0x043D |
| .long 0x043A |
| .long 0x0437 |
| .long 0x0434 |
| .long 0x0430 |
| .long 0x042D |
| .long 0x042A |
| .long 0x0427 |
| .long 0x0424 |
| .long 0x0420 |
| .long 0x041D |
| .long 0x041A |
| .long 0x0417 |
| .long 0x0414 |
| .long 0x0411 |
| .long 0x040E |
| .long 0x040A |
| .long 0x0407 |
| .long 0x0404 |
| .long 0x0401 |
| .long 0x03FE |
| .long 0x03FB |
| .long 0x03F8 |
| .long 0x03F5 |
| .long 0x03F1 |
| .long 0x03EE |
| .long 0x03EB |
| .long 0x03E8 |
| .long 0x03E5 |
| .long 0x03E2 |
| .long 0x03DF |
| .long 0x03DC |
| .long 0x03D9 |
| .long 0x03D6 |
| .long 0x03D3 |
| .long 0x03CF |
| .long 0x03CC |
| .long 0x03C9 |
| .long 0x03C6 |
| .long 0x03C3 |
| .long 0x03C0 |
| .long 0x03BD |
| .long 0x03BA |
| .long 0x03B7 |
| .long 0x03B4 |
| .long 0x03B1 |
| .long 0x03AE |
| .long 0x03AB |
| .long 0x03A8 |
| .long 0x03A5 |
| .long 0x03A2 |
| .long 0x039F |
| .long 0x039C |
| .long 0x0399 |
| .long 0x0396 |
| .long 0x0393 |
| .long 0x0390 |
| .long 0x038D |
| .long 0x038A |
| .long 0x0387 |
| .long 0x0384 |
| .long 0x0381 |
| .long 0x037E |
| .long 0x037B |
| .long 0x0378 |
| .long 0x0375 |
| .long 0x0372 |
| .long 0x036F |
| .long 0x036C |
| .long 0x0369 |
| .long 0x0366 |
| .long 0x0363 |
| .long 0x0360 |
| .long 0x035E |
| .long 0x035B |
| .long 0x0358 |
| .long 0x0355 |
| .long 0x0352 |
| .long 0x034F |
| .long 0x034C |
| .long 0x0349 |
| .long 0x0346 |
| .long 0x0343 |
| .long 0x0340 |
| .long 0x033E |
| .long 0x033B |
| .long 0x0338 |
| .long 0x0335 |
| .long 0x0332 |
| .long 0x032F |
| .long 0x032C |
| .long 0x0329 |
| .long 0x0327 |
| .long 0x0324 |
| .long 0x0321 |
| .long 0x031E |
| .long 0x031B |
| .long 0x0318 |
| .long 0x0315 |
| .long 0x0313 |
| .long 0x0310 |
| .long 0x030D |
| .long 0x030A |
| .long 0x0307 |
| .long 0x0304 |
| .long 0x0302 |
| .long 0x02FF |
| .long 0x02FC |
| .long 0x02F9 |
| .long 0x02F6 |
| .long 0x02F3 |
| .long 0x02F1 |
| .long 0x02EE |
| .long 0x02EB |
| .long 0x02E8 |
| .long 0x02E5 |
| .long 0x02E3 |
| .long 0x02E0 |
| .long 0x02DD |
| .long 0x02DA |
| .long 0x02D8 |
| .long 0x02D5 |
| .long 0x02D2 |
| .long 0x02CF |
| .long 0x02CC |
| .long 0x02CA |
| .long 0x02C7 |
| .long 0x02C4 |
| .long 0x02C1 |
| .long 0x02BF |
| .long 0x02BC |
| .long 0x02B9 |
| .long 0x02B7 |
| .long 0x02B4 |
| .long 0x02B1 |
| .long 0x02AE |
| .long 0x02AC |
| .long 0x02A9 |
| .long 0x02A6 |
| .long 0x02A3 |
| .long 0x02A1 |
| .long 0x029E |
| .long 0x029B |
| .long 0x0299 |
| .long 0x0296 |
| .long 0x0293 |
| .long 0x0291 |
| .long 0x028E |
| .long 0x028B |
| .long 0x0288 |
| .long 0x0286 |
| .long 0x0283 |
| .long 0x0280 |
| .long 0x027E |
| .long 0x027B |
| .long 0x0278 |
| .long 0x0276 |
| .long 0x0273 |
| .long 0x0270 |
| .long 0x026E |
| .long 0x026B |
| .long 0x0268 |
| .long 0x0266 |
| .long 0x0263 |
| .long 0x0261 |
| .long 0x025E |
| .long 0x025B |
| .long 0x0259 |
| .long 0x0256 |
| .long 0x0253 |
| .long 0x0251 |
| .long 0x024E |
| .long 0x024C |
| .long 0x0249 |
| .long 0x0246 |
| .long 0x0244 |
| .long 0x0241 |
| .long 0x023E |
| .long 0x023C |
| .long 0x0239 |
| .long 0x0237 |
| .long 0x0234 |
| .long 0x0232 |
| .long 0x022F |
| .long 0x022C |
| .long 0x022A |
| .long 0x0227 |
| .long 0x0225 |
| .long 0x0222 |
| .long 0x021F |
| .long 0x021D |
| .long 0x021A |
| .long 0x0218 |
| .long 0x0215 |
| .long 0x0213 |
| .long 0x0210 |
| .long 0x020E |
| .long 0x020B |
| .long 0x0208 |
| .long 0x0206 |
| .long 0x0203 |
| .long 0x0201 |
| .long 0x01FE |
| .long 0x01FC |
| .long 0x01F9 |
| .long 0x01F7 |
| .long 0x01F4 |
| .long 0x01F2 |
| .long 0x01EF |
| .long 0x01ED |
| .long 0x01EA |
| .long 0x01E8 |
| .long 0x01E5 |
| .long 0x01E3 |
| .long 0x01E0 |
| .long 0x01DE |
| .long 0x01DB |
| .long 0x01D9 |
| .long 0x01D6 |
| .long 0x01D4 |
| .long 0x01D1 |
| .long 0x01CF |
| .long 0x01CC |
| .long 0x01CA |
| .long 0x01C7 |
| .long 0x01C5 |
| .long 0x01C2 |
| .long 0x01C0 |
| .long 0x01BD |
| .long 0x01BB |
| .long 0x01B9 |
| .long 0x01B6 |
| .long 0x01B4 |
| .long 0x01B1 |
| .long 0x01AF |
| .long 0x01AC |
| .long 0x01AA |
| .long 0x01A7 |
| .long 0x01A5 |
| .long 0x01A3 |
| .long 0x01A0 |
| .long 0x019E |
| .long 0x019B |
| .long 0x0199 |
| .long 0x0196 |
| .long 0x0194 |
| .long 0x0192 |
| .long 0x018F |
| .long 0x018D |
| .long 0x018A |
| .long 0x0188 |
| .long 0x0186 |
| .long 0x0183 |
| .long 0x0181 |
| .long 0x017E |
| .long 0x017C |
| .long 0x017A |
| .long 0x0177 |
| .long 0x0175 |
| .long 0x0173 |
| .long 0x0170 |
| .long 0x016E |
| .long 0x016B |
| .long 0x0169 |
| .long 0x0167 |
| .long 0x0164 |
| .long 0x0162 |
| .long 0x0160 |
| .long 0x015D |
| .long 0x015B |
| .long 0x0159 |
| .long 0x0156 |
| .long 0x0154 |
| .long 0x0151 |
| .long 0x014F |
| .long 0x014D |
| .long 0x014A |
| .long 0x0148 |
| .long 0x0146 |
| .long 0x0143 |
| .long 0x0141 |
| .long 0x013F |
| .long 0x013C |
| .long 0x013A |
| .long 0x0138 |
| .long 0x0136 |
| .long 0x0133 |
| .long 0x0131 |
| .long 0x012F |
| .long 0x012C |
| .long 0x012A |
| .long 0x0128 |
| .long 0x0125 |
| .long 0x0123 |
| .long 0x0121 |
| .long 0x011F |
| .long 0x011C |
| .long 0x011A |
| .long 0x0118 |
| .long 0x0115 |
| .long 0x0113 |
| .long 0x0111 |
| .long 0x010F |
| .long 0x010C |
| .long 0x010A |
| .long 0x0108 |
| .long 0x0105 |
| .long 0x0103 |
| .long 0x0101 |
| .long 0x00FF |
| .long 0x00FC |
| .long 0x00FA |
| .long 0x00F8 |
| .long 0x00F6 |
| .long 0x00F3 |
| .long 0x00F1 |
| .long 0x00EF |
| .long 0x00ED |
| .long 0x00EA |
| .long 0x00E8 |
| .long 0x00E6 |
| .long 0x00E4 |
| .long 0x00E2 |
| .long 0x00DF |
| .long 0x00DD |
| .long 0x00DB |
| .long 0x00D9 |
| .long 0x00D6 |
| .long 0x00D4 |
| .long 0x00D2 |
| .long 0x00D0 |
| .long 0x00CE |
| .long 0x00CB |
| .long 0x00C9 |
| .long 0x00C7 |
| .long 0x00C5 |
| .long 0x00C3 |
| .long 0x00C0 |
| .long 0x00BE |
| .long 0x00BC |
| .long 0x00BA |
| .long 0x00B8 |
| .long 0x00B5 |
| .long 0x00B3 |
| .long 0x00B1 |
| .long 0x00AF |
| .long 0x00AD |
| .long 0x00AB |
| .long 0x00A8 |
| .long 0x00A6 |
| .long 0x00A4 |
| .long 0x00A2 |
| .long 0x00A0 |
| .long 0x009E |
| .long 0x009B |
| .long 0x0099 |
| .long 0x0097 |
| .long 0x0095 |
| .long 0x0093 |
| .long 0x0091 |
| .long 0x008F |
| .long 0x008C |
| .long 0x008A |
| .long 0x0088 |
| .long 0x0086 |
| .long 0x0084 |
| .long 0x0082 |
| .long 0x0080 |
| .long 0x007D |
| .long 0x007B |
| .long 0x0079 |
| .long 0x0077 |
| .long 0x0075 |
| .long 0x0073 |
| .long 0x0071 |
| .long 0x006F |
| .long 0x006D |
| .long 0x006A |
| .long 0x0068 |
| .long 0x0066 |
| .long 0x0064 |
| .long 0x0062 |
| .long 0x0060 |
| .long 0x005E |
| .long 0x005C |
| .long 0x005A |
| .long 0x0058 |
| .long 0x0056 |
| .long 0x0053 |
| .long 0x0051 |
| .long 0x004F |
| .long 0x004D |
| .long 0x004B |
| .long 0x0049 |
| .long 0x0047 |
| .long 0x0045 |
| .long 0x0043 |
| .long 0x0041 |
| .long 0x003F |
| .long 0x003D |
| .long 0x003B |
| .long 0x0039 |
| .long 0x0036 |
| .long 0x0034 |
| .long 0x0032 |
| .long 0x0030 |
| .long 0x002E |
| .long 0x002C |
| .long 0x002A |
| .long 0x0028 |
| .long 0x0026 |
| .long 0x0024 |
| .long 0x0022 |
| .long 0x0020 |
| .long 0x001E |
| .long 0x001C |
| .long 0x001A |
| .long 0x0018 |
| .long 0x0016 |
| .long 0x0014 |
| .long 0x0012 |
| .long 0x0010 |
| .long 0x000E |
| .long 0x000C |
| .long 0x000A |
| .long 0x0008 |
| .long 0x0006 |
| .long 0x0004 |
| .long 0x0002 |
| |