V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  XimCN  ›  全部回复第 1 页 / 共 1 页
回复总数  8
如果要用编译选项解决,mcmodel=any 不够,需要 mcmodel=large
> 我理解是这样的吧,auipc+addi ,只能定位 当前 pc 前后 2GB 的空间。因为 auipc 的高位是符号位。
> 但我这个例子里,当前 PC 离 array 的距离,大于了 2GB ,所以超过了呗?

> 我想了一下,是不是 用 li + 左移 组合,多用几次,应该就 可以拼接出来了吧
对,auipc+addi/lui+addi 一次可以拼接 32 bit 数据,用两组这样的组合可以拼出 64 bit 完整地址
这和 pc relative 或直接加载无关,单纯是地址太高超出了 risc-v 两条指令的立即数部分拼接能寻址的地址范围(总共 4GB )。要么把这个数组的地址放在一个低地址变量里做一次指针 load ,要么多加几条指令,把地址高位拼接出来并 shift 到高位,再用现在的方案把低位拼进去,组成一个完整的高地址
2021-02-13 00:34:40 +08:00
回复了 yulihao 创建的主题 macOS 求助一个 M1 Mac 的系统镜像
除了 armv8.3 你还需要尽可能支持强内存序以避免任何关键系统组件的可能依赖
@lly0514 等长不等长和分支预测没什么关系,从前端出来都是 uop 。现代超标量处理器普遍搞推测执行,一旦出了分支预测失败 penalty 都很大,都需要分支预测。
2020-04-06 11:45:53 +08:00
回复了 johannhuang 创建的主题 macOS 在 macOS 系统上怎样最简洁的运行 32 位 OS X 应用程序?
http://netkas.org/?p=1491

有需要的话可以尝试,我没有 Catalina,之前评估升级后果的时候看到的
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   930 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 21:23 · PVG 05:23 · LAX 14:23 · JFK 17:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.