[llvm-dev] Inconsistency in -march option between llc and clang

Suprateeka R Hegde via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 29 09:03:55 PDT 2016


On 29-Aug-2016 06:58 PM, Bruce Hoult wrote:
> Hi,
>
> Just checking you're aware that armv8a does not (in ARM-speak) imply
> aarch64. armv8a also includes changes to A32 and T32 such as e.g. the
> Thumb2 IT instruction being deprecated unless applied only to a single
> 16 bit instruction (thus effectively reintroducing 32 bit predicated
> instructions in T32)
>
> So It's perfectly sensible to specify armv8a with things like -m32 or
> -mthumb

Yes, that's right. I am aware of this. In fact AArch64 is just an 
execution "state" as defined by 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/pr01s01.html

Also, http://infocenter.arm.com/help/topic/com.arm.doc.den0024a/ch02s01.html

But when the "CPU Architecture" as defined by the Main ID Register 
(MIDR), shows AArch64, then default is aarch64 and not -m32 not -mthumb, 
etc.

> You're right that llc and clang do look inconsistent, of course.

I shall file it under bugs and assign it to myself.

--
Supra

>
> On Tue, Aug 30, 2016 at 1:17 AM, Suprateeka R Hegde via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
>     Hi
>
>     On AArch64 (ARM 64-Bit Platform), I see there is an inconsistency in
>     the values accepted by -march option between clang and llc.
>
>     ---
>     $ llc -march=aarch64 -mattr=help 2>&1 | grep error
>     $ #No Error
>
>     $ llc -march=armv8a -mattr=help 2>&1 | grep error
>     llc: error: invalid target 'armv8a'.
>
>     $ clang -march=armv8a -E - < /dev/null  2>&1 | grep error
>     $ #No Error
>
>     $ clang -march=aarch64 -E - < /dev/null  2>&1 | grep error
>     clang-4.0: error: the clang compiler does not support '-march=aarch64'
>     ---
>
>     llc accepts aarch64 (rejects armv8a) while clang accepts armv8a
>     (rejects aarch64).
>
>     Shall I file this as bug (and assign it to myself)? Or am I missing
>     something obvious?
>
>     Thanks a lot
>     --
>     Supra
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>
>


More information about the llvm-dev mailing list