| OLD | NEW |
| 1 ;***************************************************************************** | 1 ;***************************************************************************** |
| 2 ;* x86inc.asm | 2 ;* x86inc.asm |
| 3 ;***************************************************************************** | 3 ;***************************************************************************** |
| 4 ;* Copyright (C) 2005-2011 x264 project | 4 ;* Copyright (C) 2005-2011 x264 project |
| 5 ;* | 5 ;* |
| 6 ;* Authors: Loren Merritt <lorenm@u.washington.edu> | 6 ;* Authors: Loren Merritt <lorenm@u.washington.edu> |
| 7 ;* Anton Mitrofanov <BugMaster@narod.ru> | 7 ;* Anton Mitrofanov <BugMaster@narod.ru> |
| 8 ;* Jason Garrett-Glaser <darkshikari@gmail.com> | 8 ;* Jason Garrett-Glaser <darkshikari@gmail.com> |
| 9 ;* | 9 ;* |
| 10 ;* Permission to use, copy, modify, and/or distribute this software for any | 10 ;* Permission to use, copy, modify, and/or distribute this software for any |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 %ifidn __OUTPUT_FORMAT__,aout | 88 %ifidn __OUTPUT_FORMAT__,aout |
| 89 SECTION .text | 89 SECTION .text |
| 90 %else | 90 %else |
| 91 SECTION .text align=%1 | 91 SECTION .text align=%1 |
| 92 %endif | 92 %endif |
| 93 %endmacro | 93 %endmacro |
| 94 | 94 |
| 95 %ifdef WIN64 | 95 %ifdef WIN64 |
| 96 %define PIC | 96 %define PIC |
| 97 %elifndef ARCH_X86_64 | 97 %elifndef ARCH_X86_64 |
| 98 ; For chromium we may build PIC code even for 32 bits system. |
| 99 %ifndef CHROMIUM |
| 98 ; x86_32 doesn't require PIC. | 100 ; x86_32 doesn't require PIC. |
| 99 ; Some distros prefer shared objects to be PIC, but nothing breaks if | 101 ; Some distros prefer shared objects to be PIC, but nothing breaks if |
| 100 ; the code contains a few textrels, so we'll skip that complexity. | 102 ; the code contains a few textrels, so we'll skip that complexity. |
| 101 %undef PIC | 103 %undef PIC |
| 102 %endif | 104 %endif |
| 105 %endif |
| 103 %ifdef PIC | 106 %ifdef PIC |
| 104 default rel | 107 default rel |
| 105 %endif | 108 %endif |
| 106 | 109 |
| 107 ; Macros to eliminate most code duplication between x86_32 and x86_64: | 110 ; Macros to eliminate most code duplication between x86_32 and x86_64: |
| 108 ; Currently this works only for leaf functions which load all their arguments | 111 ; Currently this works only for leaf functions which load all their arguments |
| 109 ; into registers at the start, and make no other use of the stack. Luckily that | 112 ; into registers at the start, and make no other use of the stack. Luckily that |
| 110 ; covers most of x264's asm. | 113 ; covers most of x264's asm. |
| 111 | 114 |
| 112 ; PROLOGUE: | 115 ; PROLOGUE: |
| (...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 940 ; 3DNow instructions, for sharing code between AVX, SSE and 3DN | 943 ; 3DNow instructions, for sharing code between AVX, SSE and 3DN |
| 941 AVX_INSTR pfadd, 1, 0 | 944 AVX_INSTR pfadd, 1, 0 |
| 942 AVX_INSTR pfsub, 1, 0 | 945 AVX_INSTR pfsub, 1, 0 |
| 943 AVX_INSTR pfmul, 1, 0 | 946 AVX_INSTR pfmul, 1, 0 |
| 944 | 947 |
| 945 ;============================================================================= | 948 ;============================================================================= |
| 946 ; Chromium extensions | 949 ; Chromium extensions |
| 947 ;============================================================================= | 950 ;============================================================================= |
| 948 | 951 |
| 949 %ifdef CHROMIUM | 952 %ifdef CHROMIUM |
| 953 ; Always build PIC code on Mac for Chromium. |
| 954 %ifdef MACHO |
| 955 %define PIC |
| 956 %endif |
| 957 |
| 950 ; | 958 ; |
| 951 ; LOAD_SYM %1 (reg), %2 (sym) | 959 ; LOAD_SYM %1 (reg), %2 (sym) |
| 952 ; Copies the address to a local symbol to the specified register. | 960 ; Copies the address to a local symbol to the specified register. |
| 953 ; | 961 ; |
| 954 | 962 |
| 955 %macro LOAD_SYM 2 | 963 %macro LOAD_SYM 2 |
| 956 | 964 |
| 957 %ifdef MACHO | 965 %ifdef MACHO |
| 958 call %%geteip | 966 call %%geteip |
| 959 add %1, %2 - $ | 967 add %1, %2 - $ |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 992 %define PRIVATE :private_extern | 1000 %define PRIVATE :private_extern |
| 993 %elifdef ELF | 1001 %elifdef ELF |
| 994 %define PRIVATE :hidden | 1002 %define PRIVATE :hidden |
| 995 %else | 1003 %else |
| 996 %define PRIVATE | 1004 %define PRIVATE |
| 997 %endif | 1005 %endif |
| 998 | 1006 |
| 999 %endif ; CHROMIUM | 1007 %endif ; CHROMIUM |
| 1000 | 1008 |
| 1001 %endif ; MEDIA_BASE_SIMD_X86INC_ASM_ | 1009 %endif ; MEDIA_BASE_SIMD_X86INC_ASM_ |
| OLD | NEW |