| 0 码力 |
10 页 |
1.24 MB
| 1 年前 3
Go toolchain internals and implementation based on arm64
Wei Xiao (肖玮)
Arm Staff Software Engineer
Wei.Xiao@arm.com
’ alt=‘OCR图片’/>
Go toolchain overview
A toolchain is a package composed of the compiler fn: trim}, // remove empty blocks
’ alt=‘OCR图片’/>
Convert to machine-dependent ops
Example for arm64
Before
410 Div
411 b1:
412 v1 = InitMem
413 v2 = SP
414 v5 = Addr <*int64> {~r1} overview
’ alt=‘OCR图片’/>
Go arm64 assembly example
Semi-abstract instruction set
Move instructions
| 386 | amd64 | arm | arm64 | mips64 | ppc 0 码力 |
22 页 |
2.19 MB
| 1 月前 3 Announcing
In Visual Studio 2022 version 17.4,
## Native ARM64 Toolchain
• Develop for ARM64 on ARM64 with no emulation
• Includes ARM64 versions of Ninja and CMake
- Available with the C++ Desktop Optimizations
• Host of new backend improvements
• Both machine-independent and ARM64-specific
• ARM64 improvements cover both scalar and vector (NEON) instructions
void absolute_difference(
int * __restrict catalog for x86, x64, Arm64, and UWP targets
- 50+ unique build targets available by default, including support for Windows, Linux, macOS, iOS, Android, wasm, x86, x64, ARM, and ARM64
• Or add your own 0 码力 |
55 页 |
3.27 MB
| 1 年前 3 noise.
https://github.com/golang/go/commits?author=benshi001
我对Go编译器的优化
The FP load/store on arm64 have register indexed forms. And this CL implements this optimization.
The total size of pkg/android_arm64 float32[]
temp += *(base + index) : FMOVS (Rb)(Ri), Fx
从数组中取一个浮点数,需要先计算地址(数组基地址加索引),然后读取内存,共两条指令;而ARM64读取内存指令可以同时包括基地址和索引偏移量。
https://github.com/golang/go/commits?author=benshi001
GOPHER CHINA 2020
中国 上海 Println(ssa(0x000000ff0000000, 0x000000aa0000000))
}
only arm64 is affected, other archs are right.
TSTW Ra, Rb;32位位测试指令
cmd/compile: fix an arm64’s comparison bug
The arm64 backend generates “TST” for “if uint32(a)&uint32(b) 0 码力 |
36 页 |
1.63 MB
| 1 月前 3 com/cilium/cilium-cli/main/stable-
v0.14.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-
cli/releases/download/${C com/cilium/cilium-cli/main/stable-
v0.14.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "arm64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-
cli/releases/ com/cilium/cilium-cli/main/stable-
v0.14.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-
cli/releases/download/${C 0 码力 |
1373 页 |
19.37 MB
| 1 年前 3 'CoreAudioTypes' not found Undefined symbols for architecture arm64: "_main", referenced from: ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use dylib
Undefined symbols for architecture arm64:
"i_am_foo()", referenced from:
i_am_bar() in libbar-f688bb.o
ld: symbol(s) not found for architecture arm64
## I ndirect dependencies / missing symbols 34120\ATLMFC\lib\ARM64;
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\lib\ARM64;
C:\Program Files\x86\Windows Kits\10\lib\10.0.22621.0\ucrt\arm64;
C:\Program Files\x86\Windows 0 码力 |
94 页 |
6.49 MB
| 1 年前 3 (linux/amd64, amp-...
Build Image (linux/amd64, amp-...
✓ Build Image (linux/arm64, amp-...
✓ Build Image (linux/arm64, amp-...
✓ Merge digests (amp-apiserver)
✓ Merge digests (amp-controllers)
Run Image (linux/amd64, amp-controllers)|8m 33s|0s|
|⚠️ Build Image (linux/arm64, amp-apiserver)|3h 1m 49s|0s|
|⚠️ Build Image (linux/arm64, amp-controllers)|2h 9m 8s|0s|
|⚠️ Merge digests (amp-apiserver)|29s|0s| 多阶段构建,充分利用层(Layer)缓存加速能力;
• 使用 Cargo Chef 缓存你的 Rust 项目的依赖项;
• Github Actions Matrix 矩阵构建 amd64 / arm64 等多架构镜像;
- 利用 Github Actions Cache Management 缓存能力,加速 CI 执行速度;
• 跨多运行器分布式构建 Docker 镜像;
• Github 0 码力 |
34 页 |
10.81 MB
| 2 年前 3 [OCR图片](/uploads/documents/e/7/9/e790aac5fdd2d64ba7a41f8d7cc0c323/b3bccb49.png)
## 注意
对于 macOS arm64,请选择 OpenShift v4.13 macOS arm64 Client条目。
4. 解包和解压存档。
5. 将oc二进制文件移到PATH的目录中。
要查看您的PATH,请打开终端并执行以下命令:
$ echo $PATH ' /[/]'。这不适用于索引引用的镜像。有效值为 linux/amd64, linux/ppc64le, linux/s390x, linux/arm64,和.*
## 输出示例
info: Mirroring completed in 5.93s (5.915MB/s)
wrote mirroring manifests to manife '/[/]'。这不适用于索引引用的镜像。有效值为 linux/amd64, linux/ppc64le, linux/s390x, linux/arm64,和.*

## 注意
Red 0 码力 |
4634 页 |
43.96 MB
| 2 年前 3
硬件兼容支持请查看 openEuler 兼容性列表:https://openeuler.org/zh/compatibility/
|部件名称|最小硬件要求|
|---|---|
|架构|ARM64、ARM32|
|内存|为了获得更好的体验,建议不小于4GB|
|硬盘|为了获得更好的体验,建议不小于20GB|
## 虚拟机
openEuler 安装时,应注意虚拟机的兼容性问题,当前已支持的虚拟机为: |---|---|
|架构|ARM64、ARM32|
|CPU|2个CPU|
|内存|为了获得更好的体验,建议不小于4GB|
|硬盘|为了获得更好的体验,建议不小于20GB|
## 边缘设备
若需要在边缘设备环境上安装 openEuler 操作系统,则边缘设备硬件需要满足以下兼容性和最小硬件要求。
|部件名称|最小硬件要求|
|---|---|
|架构|ARM64、ARM32|
|内存|为了获得更好的体验,建议不小于4GB| |硬盘|为了获得更好的体验,建议不小于20GB|
## 嵌入式
若需要在嵌入式环境上安装 openEuler 操作系统,则嵌入式硬件需要满足以下兼容性和最小硬件要求。
|部件名称|最小硬件要求|
|---|---|
|架构|ARM64、ARM32|
|内存|为了获得更好的体验,建议不小于128MB|
|存储|为了获得更好的体验,建议不小于256MB|
## 04/ 内核创新
## openEuler 内核中的新特性
openEuler 0 码力 |
35 页 |
3.72 MB
| 1 年前 3 linux/s390x
openbsd/arm64
android/arm64
linux/386
nacl/386
plan9/386
darwin/386
linux/amd64
nacl/amd64p32
plan9/amd64
darwin/amd64
linux/arm
nacl/arm
plan9/arm
darwin/arm
linux/arm64
netbsd/386
solaris/amd64 solaris/amd64
darwin/arm64
linux/mips
netbsd/amd64
windows/386
dragonfly/amd64
linux/mips64
netbsd/arm
windows/amd64
freebsd/386
linux/mips64le
netbsd/arm64
windows/arm
https://www.digitalocean. 0 码力 |
56 页 |
1.38 MB
| 1 月前 3
|
|