Suprateeka R Hegde via llvm-dev
2016-Aug-29 16:03 UTC
[llvm-dev] Inconsistency in -march option between llc and clang
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 > -mthumbYes, 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> > >