The llvm ARM backend is little endian elf output as my examination as below. Is it support bid endian by other llc options as below?
llc -filetype=obj -march=arm // little endian
llc -filetype=obj -march=? or -otheroption=? // to output big endian
Jonathan
|
Hello
There is not support for big endian ARM at all.
I guess he need to change the data layout string in
ARMTargetMachine::ARMTargetMachine (ARMTargetMachine.cpp)
from "e" to "E" to get big endian output?
Regards,
chenwj
I guess he need to change the data layout string in
ARMTargetMachine::ARMTargetMachine (ARMTargetMachine.cpp)
from "e" to "E" to get big endian output?
That would be a start, but I'd expect a significant number of bugs
where the backend writers have assumed ARM was little-endian
(lib/Target/Mips, which *does* support both, has many more endian
checks in the code than ARM).
Tim.
I guess he need to change the data layout string in
ARMTargetMachine::ARMTargetMachine (ARMTargetMachine.cpp)
from "e" to "E" to get big endian output?That would be a start, but I'd expect a significant number of bugs
where the backend writers have assumed ARM was little-endian
(lib/Target/Mips, which *does* support both, has many more endian
checks in the code than ARM).
Also note that NEON stuff is "almost" little-endian. So, huge changes
will be needed here.
All,
Thank you! I just want to know if it support big endian like Mips without modify/add source code at this point, since I am new in ARM backend.
Jonathan
— 13/4/23 (二),Anton Korobeynikov anton@korobeynikov.info 寫道: