[llvm-dev] Arm: disabling/disallowing Thumb instructions

Erik de Castro Lopo via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 16 09:17:46 PDT 2015


Hi all,

When I use Clang, I can add -mno-thumb to the command line and Clang 
generates pure Arm code without any use of Thumb instructions.

However, I am messing about with the Glasgow Haskell Compiler (GHC)
which generates LLVM IR code directly and then calls `opt` and `llc` on
that IR code. The generated IR code currently has:

    target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32"
    target triple = "armv6-unknown-linux-gnueabihf"

in the header, but the generated assembly uses both Arm and Thumb
instructions.

Any clues appreciated.

Cheers,
Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/


More information about the llvm-dev mailing list