ユーザ用ツール

サイト用ツール


opengl:cpu64

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
opengl:cpu64 [2014/01/03 04:56]
oga [Windows x64]
opengl:cpu64 [2014/11/08 23:08] (現在)
oga [Data Size]
ライン 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/8   ​| ​ 16/16          ​+ 
-| MacOS X 10.8  | x86_64 ​  ​| 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   ​8/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8  |   ​4/​4 ​  ​|   ​8/​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8  |   ​4/​4 ​  ​|   ​8/​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8  |   ​4/​4 ​  ​| ​  ​8/​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/8   ​| ​ 16/16     ​ ​32/​32  ​
-| Windows 7/8   | x86      | 32 | LL64  ​|  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   ​8/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  4/4     ​| ​ 4/4   ​| ​ 4/4    ​2/2   ​|   ​4/​4 ​  ​| ​ 8/8   ​| ​ 16/16          ​+| MacOS X 10.8  | x86_64 ​      ​| 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   ​8/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8      |   ​4/​4 ​    ​|   ​8/​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  4/4     ​| ​ 4/4   ​| ​ 8/8  |   ​4/​4 ​  ​|   ​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8      |   ​4/​4 ​    ​|   ​8/​8 ​  ​| ​ 8/8   ​| ​ 16/16     ​|         | 
-| Ubuntu 13.04  | i686     ​| 32 | LL64  ​|  1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   ​8/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8      ​| ​  ​4/​4 ​    ​| ​  ​8/​8 ​  ​| ​ 8/8    ​16/​16 ​    ​| ​    ​-- ​ | 
-| Ubuntu 13.04  | armv7    ​| 32 | LL64  ​| ​ 1/1  |  1/1  |  2/2  | 4/4 |  4/4 |   ​8/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  4/4     ​| ​ 4/4   ​| ​ 4/4  |   ​4/​4 ​  ​| ​  ​4/​4 ​  ​| ​ 8/8   ​| ​ 16/16  |         |+| Android 5.0   ​| arm64        | 64 | LP64  |  1/1  |  1/1  |  2/2  | 4/4 |  8/8 |   ​8/8     ​| ​ 4/4  |  8/8   ​| ​ 8/8  |  8/8     ​| ​ 8/8   ​| ​ 8/8      |   ​4/​4 ​    |   ​8/​8 ​  ​| ​ 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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  4/4     ​| ​ 4/4   ​| ​ 4/4       **2/2**  ​|   ​4/​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  4/4     ​| ​ 4/4   ​|  ​**8/8**  ​| ​  ​4/​4 ​    ​|   ​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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  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/​8 ​    ​| ​ 4/4  |  8/8   ​| ​ 4/4  |  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 ​    |   ​4/​4 ​  ​| ​ 8/8   ​| ​ 16/16     |     ​-- ​ | 
 + 
 + 
 + 
 + 
 + 
 + 
  
  
ライン 21: ライン 35:
  
  
-===== Function Calling convention =====+===== ISA ===== 
 + 
 +^ ISA  64bit           ^ cc/os                   ​^ ​         ^ 
 +| AMD64/​Intel64/​EM64T ​ | x64, x86_64 ​            ​| ​         | 
 +| ARMv8-A AArch64 ​     | arm64                   ​| ​         | 
 +| PowerPC 64bit        | ppc64                   ​| ​         | 
 +| IA-64                |                         | Itanium ​ | 
 +^ ISA  32bit           ^ cc/os                   ​^ ​         ^ 
 +| IA-32                | x86, i386, i686         ​| ​         | 
 +| ARMv5TE ​             | armv5te ​                ​| ​         | 
 +| ARMv6                | armv6                   ​| ​         | 
 +| ARMv7-A ​             | armv7, armv7s, armv7l ​  ​| ​         | 
 +| MIPS32-R1 ​           | mips                    |          | 
 +| PowerPC 32bit        |                         ​| ​         | 
 + 
 + 
 +====== Function Calling convention ​======
  
  
ライン 103: ライン 133:
  
 ==== ARM64 ARMv8 AArch64 ==== ==== 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.1388692598.txt.gz · 最終更新: 2014/01/03 04:56 by oga