[LLVMdev] Hexagon integrated assembler

Andreas Färber afaerber at suse.de
Mon Nov 3 02:43:30 PST 2014


Hi Anshu,

Am 29.04.2014 um 17:30 schrieb Anshuman Dasgupta:
> I wanted to give everybody a heads-up that over the next few months, we
> will work on adding an integrated assembler for Hexagon. Jyotsna and Sid
> (cc'd on this email) are adding support for the Hexagon integrated
> assembler and they will push patches for review as they make progress.

I saw that the week before last you added disassembler support for
Hexagon. Assembler support is still missing though IIUC?

Looking at the 3.5.0 release, the Hexagon target seems to rely on an
external "hexagon-as" assembler:

$  clang -target hexagon-elf test.c -v
clang version 3.5.0 (tags/RELEASE_350/final 216961)
Target: hexagon---elf
Thread model: posix
 "/usr/bin/clang-3.5" -cc1 -triple hexagon---elf -S -disable-free
-disable-llvm-verifier -main-file-name test.c -mrelocation-model static
-mdisable-fp-elim -fmath-errno -no-integrated-as -mconstructor-aliases
-target-cpu hexagonv4 -fno-signed-char -mqdsp6-compat -Wreturn-type
-fshort-enums -mllvm -machine-sink-split=0 -v -dwarf-column-info
-resource-dir /usr/bin/../lib64/clang/3.5.0 -internal-externc-isystem
/usr/bin/../../gnu/lib/gcc/hexagon/0.0.0/include
-internal-externc-isystem
/usr/bin/../../gnu/lib/gcc/hexagon/0.0.0/include-fixed
-internal-externc-isystem /usr/bin/../../gnu/hexagon/include
-fno-dwarf-directory-asm -fdebug-compilation-dir
/home/andreas/MCU/Hexagon -ferror-limit 19 -fmessage-length 80
-mstackrealign -fshort-enums -fno-use-cxa-atexit -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/test-d50479.s -x c
test.c
clang -cc1 version 3.5.0 based upon LLVM 3.5.0svn default target
x86_64-suse-linux
ignoring nonexistent directory
"/usr/bin/../../gnu/lib/gcc/hexagon/0.0.0/include"
ignoring nonexistent directory
"/usr/bin/../../gnu/lib/gcc/hexagon/0.0.0/include-fixed"
ignoring nonexistent directory "/usr/bin/../../gnu/hexagon/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/bin/../lib64/clang/3.5.0/include
 /usr/include
End of search list.
 "hexagon-as" -march=v4 -o /tmp/test-45bcff.o /tmp/test-d50479.s
clang-3.5: error: unable to execute command: Executable "hexagon-as"
doesn't exist!
clang-3.5: error: hexagon-as command failed with exit code 1 (use -v to
see invocation)

However, binutils 2.24 does not include support for --target=hexagon or
--target=hexagon-elf.

Are you basing your LLVM work on these old patches or something else?
https://www.codeaurora.org/patches/quic/hexagon/dev/

Will your ongoing LLVM work supersede that apparently stalled work on
binutils/gcc, or are you in parallel still working towards getting
Hexagon support into binutils for clang to use?

Thanks,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



More information about the llvm-dev mailing list