ユーザ用ツール

サイト用ツール


opengl:cpu64

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
opengl:cpu64 [2014/01/03 04:54] – [Linux x64 (System V AMD64 ABI)] ogaopengl:cpu64 [2014/05/09 21:01] – [ISA] oga
行 3: 行 3:
 ===== Data Size ===== ===== Data Size =====
  
-^ OS            ^ CPU arch ^    ^       ^ bool  ^ char  ^ short ^ int ^ long ^ long long ^ float ^ double ^ void* ^ intptr_t ^ size_t ^ off_t ^ wchar_t ^ virtual ^ simd64 ^ simd128 ^ simd256 ^ + 
-| Windows 7/8   | x64      | 64 | LLP64 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/8     |  4/4  |  8/8    8/8  |  8/8      8/8    4/4  |   2/2   |   8/   8/8    16/16          + 
-| MacOS X 10.8  | x86_64   | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8  |   4/  |   8/   8/8    16/16  |  32/32  | + 
-| Ubuntu 13.04  | x86_64   | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8  |   4/  |   8/   8/8    16/16  |         | +^ OS (64bit)     CPU arch    ^    ^       ^ bool  ^ char  ^ short ^ int ^ long ^ long long ^ float ^ double ^ void* ^ intptr_t ^ size_t ^  off_t     wchar_t  ^ virtual ^ simd64 ^  simd128   ^ simd256 ^ 
-| iOS 7.0       | arm64    | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8  |   4/  |   8/   8/8    16/16  |         | +| Windows 7/8   | x64/amd64    | 64 | LLP64 |  1/1  |  1/1  |  2/2  | 4/4 |  **4/4**  8/8  |  4/4  |  8/8    8/8  |  8/8      8/8   |  **4/4**   **2/2**  |   8/   8/8    16/16      32/32  
-| Windows 7/8   | x86      | 32 | LL64  |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4    2/2   |   4/   8/8    16/16          +| MacOS X 10.8  | x86_64       | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8      |   4/    |   8/   8/8    16/16     |  32/32  | 
-| MacOS X 10.8  | i386     | 32 | LL64  |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    8/8  |   4/  |   4/   8/8    16/16  |  32/32  | +| Ubuntu 13.04  | x86_64       | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8      |   4/    |   8/   8/8    16/16     |         | 
-| Ubuntu 13.04  | i686     | 32 | LL64  |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4  |   4/  |   4/   8/8    16/16  |         | +| iOS 7.0       | arm64        | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   8/     4/4  |  8/8    8/8  |  8/8      8/8    8/8      |   4/    |   8/   8/8    16/16     |     --  | 
-| Ubuntu 13.04  | armv7    | 32 | LL64   1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4  |   4/    4/   8/8    16/16  |         |+^ OS (32bit)    ^  CPU arch    ^    ^       ^ bool  ^ char  ^ short ^ int ^ long ^ long long ^ float ^ double ^ void* ^ intptr_t ^ size_t ^  off_t    ^  wchar_t  ^ virtual ^ simd64 ^  simd128   ^ simd256 ^ 
 +| Windows 7/8   | x86          | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4       **2/2**  |   4/   8/8    16/16      32/32  
 +| MacOS X 10.8  | i386         | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4   |  **8/8**    4/    |   4/   8/8    16/16     |  32/32  | 
 +| Ubuntu 13.04  | i686         | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4      |   4/    |   4/   8/8    16/16     |         | 
 +| Ubuntu 13.04  | armv7l       | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4      |   4/      4/   8/8    16/16         -- 
 +| Android 4.4   | armeabi-v7a  | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/     4/4  |  8/8    4/4  |  4/4      4/4    4/4        4/      4/   8/8    **16/8**  |     -- 
 +| iOS 7.1       | armv7        | 32 | ILP32 |  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   8/8     |  4/4   8/8   |  4/4  |  4/4      4/4    **8/8**  |   4/    |   4/   8/8    16/16     |     --  | 
 + 
 + 
 + 
 + 
 + 
 + 
  
  
行 21: 行 34:
  
  
-===== Function Calling convention =====+===== ISA ===== 
 + 
 + 
 +^ ISA  32bit           ^ cc/os                            ^ 
 +| IA-32                | x86, i386, i686                  | 
 +| ARMv5TE              | armv5te                          | 
 +| ARMv6                | armv6                            | 
 +| ARMv7-A              | armv7, armv7s, armv7l            | 
 +| MIPS32-R1            | mips                    |          | 
 +| PowerPC 32bit        |                                  | 
 +^ ISA  64bit           ^ cc/os                            ^ 
 +| IA-64                |                         | Itanium 
 +| AMD64/Intel64/EM64T  | x64, x86_64                      | 
 +| ARMv8-A AArch64      | arm64                            | 
 +| PowerPC 64bit        | ppc64                            | 
 + 
 + 
 +====== Function Calling convention ======
  
  
 ==== Windows x64 ==== ==== Windows x64 ====
 +
 +  * [[http://msdn.microsoft.com/library/ms235286.aspx|MSDN Overview of x64 Calling Conventions]]
 +
  
 Parameter Parameter
行 57: 行 90:
  
  
-  * [[http://msdn.microsoft.com/library/ms235286.aspx|MSDN Overview of x64 Calling Conventions]] 
  
  
 ==== Linux x64 (System V AMD64 ABI) ==== ==== Linux x64 (System V AMD64 ABI) ====
 +
 +  * [[http://en.wikipedia.org/wiki/X86_calling_conventions|Wikipedia x86 calling conventions]]
  
 Parameter Parameter
行 95: 行 129:
  
  
-  * [[http://en.wikipedia.org/wiki/X86_calling_conventions|Wikipedia x86 calling conventions]]+ 
 + 
 + 
 +==== ARM64 ARMv8 AArch64 ==== 
 + 
 + 
 +  * [[http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0055b/index.html|ARM Procedure Call Standard for the ARM 64-bit Architecture (AArch64)]] 
 + 
 +Parameter 
 + 
 +^ int 64bit  ^ float 128bit ^ 
 +| r0         | v0   | 
 +| r1         | v1   | 
 +| r2         | v2   | 
 +| r3         | v3   | 
 +| r4         | v4   | 
 +| r5         | v5   | 
 +| r6         | v6   | 
 +| r7         | v7   | 
 + 
 +Return 
 + 
 +^ int 64bit  ^ float 128bit ^ 
 +| r0         | v0           | 
 + 
 + 
 +Saved register 
 + 
 +| r19-r29, sp | v8-v15 
 + 
 + 
 + 
 +==== AArch32 ==== 
 + 
 + 
 + 
 + 
 +| r9 (sb)   | 
 +| r10 (sl)  | 
 +| r11 (fp)  | 
 +| r12 (ip)  | 
 +| r13 (sp)  | 
 +| r14 (lr)  | 
 +| r15 (pc)  | 
 + 
  
  
opengl/cpu64.txt · 最終更新: 2014/11/08 23:08 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki