diff options
author | George Rimar <grimar@accesssoftek.com> | 2016-01-11 14:22:00 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2016-01-11 14:22:00 +0000 |
commit | 4102bfbe715f074600c9e4983cba7a021df0afc2 (patch) | |
tree | 17574c4c6f6e0d72ae01943061c0edb13d1aad4c /clang/lib/Format/WhitespaceManager.cpp | |
parent | a48043521ffa15750b6fe782aaf8ace63c76a910 (diff) | |
download | bcm5719-llvm-4102bfbe715f074600c9e4983cba7a021df0afc2.tar.gz bcm5719-llvm-4102bfbe715f074600c9e4983cba7a021df0afc2.zip |
[ELF/AARCH64] - Implemented R_AARCH64_CONDBR19 relocation.
R_AARCH64_CONDBR19 is calculated as S+A-P,
Set the immediate field of a conditional branch instruction to bits [20:2] of X; check -2^20 ≤ X< 2^20.
Afaik there is no document for AARCH64 instruction encoding from official for unknown reason, so
I used gold source code and next link as a reference for implementation: http://kitoslab-eng.blogspot.ru/2012/10/armv8-aarch64-instruction-encoding.html. From which is clear that immediate field of a conditional branch instruction is 5 bits off. That is proved by output which is is equal to gold/bfd now.
Differential revision: http://reviews.llvm.org/D15809
llvm-svn: 257333
Diffstat (limited to 'clang/lib/Format/WhitespaceManager.cpp')
0 files changed, 0 insertions, 0 deletions