Posts by Category

blog

X86 relocation

13 minute read

What’s relocation Relocations are entries in binaries that are left to be filled later – at link time by the toolchain linker or at runtime by the dynamic li...

X86 Instruction Format

4 minute read

Learn by yourself Intel Software Developer’s Manual The most authoritative and official reference manual Volume 2 out of 4 volumes: Instr...

A Tour To C++ Attribute

4 minute read

内容概要 什么是attribute C++11到C++17的常用attribute介绍 为名空间和枚举型添加attribute C++17新特性:忽略未知的attribute 使用using指令避免名空间的重复书写 Bjarne Stroustrup对attribute的使用建议

A Tour To LLVM IR

7 minute read

内容概要 什么是LLVM IR?如何得到IR? LLVM编译的流程,IR文件之间的链接简介 C++ name mangling的用途,“extern C”作用的极简介绍 IR文件的布局 IR中函数定义的结构,什么是BB,什么是CFG IR是一个强类型语言,如何用工具检查IR的合法性 ...

Back to Top ↑

RFC

All about GPR and APX PUSH POP

9 minute read

Evolution of GPR (General-Purpose Register) 16-bit Processors and Segmentation (1978) The IA-32 architecture family was preceded by 16-bit processors, the 80...

All about APX conditional ISA

7 minute read

Motivation Somtimes branch mispredictions are a major performance limiter in workloads. The bottleneck is data-dependent conditional branches and hard to mit...

All about APX JMPABS

4 minute read

Why do we need JMPABS? JMPABS, which, as the name already suggests, allows jumping to a 64-bit absolute address. Before APX, X86 has 32-bit displacement limi...

All about APX relocation

5 minute read

REX2 Intel® APX introduces a new 2-byte REX2 prefix in order to support 32 general-purpose registers (GPRs).

Back to Top ↑

essay

Reflections on life, marriage and love

1 minute read

What is marriage? Marriage does not solve anything, and problems that existed before marriage will persist after marriage. Marriage is just a contract, mainl...

Back to Top ↑