Looks like -mbig-endian and -mlittle-endian are GCC options. We should implement them for compatibility. http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
I don't think we should add -EL or -EB. They don't fit in with the set of flags clang currently accepts. On Fri, Mar 28, 2014 at 1:14 PM, Christian Pirker <[email protected]> wrote: > Hi All, > > I added -EL to select little endian and -EB to select big endian AArch64. > I also added -mlittle-endian as alias for -EL and -mbig-endian as alias > for -EB. > > Little endian: > --target=aarch64 > --target=aarch64 -EL > --target=aarch64 -mlittle-endian > --target=aarch64_be -EL > --target=aarch64_be -mlittle-endian > Big endian: > --target=aarch64_be > --target=aarch64 -EB > --target=aarch64 -mbig-endian > --target=aarch64_be -EB > --target=aarch64_be -mbig-endian > > Please review. > > Thanks, > Christian > > > http://llvm-reviews.chandlerc.com/D3215 > > Files: > include/clang/Driver/Options.td > lib/Driver/Driver.cpp > test/Driver/aarch64-cpus.c > > Index: include/clang/Driver/Options.td > =================================================================== > --- include/clang/Driver/Options.td > +++ include/clang/Driver/Options.td > @@ -987,6 +987,7 @@ > def m64 : Flag<["-"], "m64">, Group<m_Group>, Flags<[DriverOption, > CoreOption]>; > def mabi_EQ : Joined<["-"], "mabi=">, Group<m_Group>; > def march_EQ : Joined<["-"], "march=">, Group<m_Group>; > +def mbig_endian : Flag<["-"], "mbig-endian">, Alias<EB>; > def mcmodel_EQ : Joined<["-"], "mcmodel=">, Group<m_Group>; > def mconstant_cfstrings : Flag<["-"], "mconstant-cfstrings">, > Group<clang_ignored_m_Group>; > def mcpu_EQ : Joined<["-"], "mcpu=">, Group<m_Group>; > @@ -1007,6 +1008,7 @@ > def mkernel : Flag<["-"], "mkernel">, Group<m_Group>; > def mlinker_version_EQ : Joined<["-"], "mlinker-version=">, > Flags<[DriverOption]>; > +def mlittle_endian : Flag<["-"], "mlittle-endian">, Alias<EL>; > def mllvm : Separate<["-"], "mllvm">, Flags<[CC1Option]>, > HelpText<"Additional arguments to forward to LLVM's option processing">; > def mmacosx_version_min_EQ : Joined<["-"], "mmacosx-version-min=">, > Group<m_Group>; > Index: lib/Driver/Driver.cpp > =================================================================== > --- lib/Driver/Driver.cpp > +++ lib/Driver/Driver.cpp > @@ -1870,11 +1870,15 @@ > Target.setArch(llvm::Triple::mipsel); > else if (Target.getArch() == llvm::Triple::mips64) > Target.setArch(llvm::Triple::mips64el); > + else if (Target.getArch() == llvm::Triple::aarch64_be) > + Target.setArch(llvm::Triple::aarch64); > } else { > if (Target.getArch() == llvm::Triple::mipsel) > Target.setArch(llvm::Triple::mips); > else if (Target.getArch() == llvm::Triple::mips64el) > Target.setArch(llvm::Triple::mips64); > + else if (Target.getArch() == llvm::Triple::aarch64) > + Target.setArch(llvm::Triple::aarch64_be); > } > } > > Index: test/Driver/aarch64-cpus.c > =================================================================== > --- test/Driver/aarch64-cpus.c > +++ test/Driver/aarch64-cpus.c > @@ -1,20 +1,44 @@ > // Check target CPUs are correctly passed. > > // RUN: %clang -target aarch64 -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC %s > +// RUN: %clang -target aarch64 -mlittle-endian -### -c %s 2>&1 | > FileCheck -check-prefix=GENERIC %s > +// RUN: %clang -target aarch64_be -mlittle-endian -### -c %s 2>&1 | > FileCheck -check-prefix=GENERIC %s > +// RUN: %clang -target aarch64 -EL -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC %s > +// RUN: %clang -target aarch64_be -EL -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC %s > // GENERIC: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "generic" > > // RUN: %clang -target aarch64 -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53 %s > +// RUN: %clang -target aarch64 -mlittle-endian -mcpu=cortex-a53 -### -c > %s 2>&1 | FileCheck -check-prefix=CA53 %s > +// RUN: %clang -target aarch64_be -mlittle-endian -mcpu=cortex-a53 -### > -c %s 2>&1 | FileCheck -check-prefix=CA53 %s > +// RUN: %clang -target aarch64 -EL -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53 %s > +// RUN: %clang -target aarch64_be -EL -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53 %s > // CA53: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "cortex-a53" > > // RUN: %clang -target aarch64 -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57 %s > +// RUN: %clang -target aarch64 -mlittle-endian -mcpu=cortex-a57 -### -c > %s 2>&1 | FileCheck -check-prefix=CA57 %s > +// RUN: %clang -target aarch64_be -mlittle-endian -mcpu=cortex-a57 -### > -c %s 2>&1 | FileCheck -check-prefix=CA57 %s > +// RUN: %clang -target aarch64 -EL -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57 %s > +// RUN: %clang -target aarch64_be -EL -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57 %s > // CA57: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "cortex-a57" > > // RUN: %clang -target aarch64_be -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC-BE %s > +// RUN: %clang -target aarch64 -mbig-endian -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC-BE %s > +// RUN: %clang -target aarch64_be -mbig-endian -### -c %s 2>&1 | > FileCheck -check-prefix=GENERIC-BE %s > +// RUN: %clang -target aarch64 -EB -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC-BE %s > +// RUN: %clang -target aarch64_be -EB -### -c %s 2>&1 | FileCheck > -check-prefix=GENERIC-BE %s > // GENERIC-BE: "-cc1"{{.*}} "-triple" "aarch64_be{{.*}}" "-target-cpu" > "generic" > > // RUN: %clang -target aarch64_be -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53-BE %s > +// RUN: %clang -target aarch64 -mbig-endian -mcpu=cortex-a53 -### -c %s > 2>&1 | FileCheck -check-prefix=CA53-BE %s > +// RUN: %clang -target aarch64_be -mbig-endian -mcpu=cortex-a53 -### -c > %s 2>&1 | FileCheck -check-prefix=CA53-BE %s > +// RUN: %clang -target aarch64 -EB -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53-BE %s > +// RUN: %clang -target aarch64_be -EB -mcpu=cortex-a53 -### -c %s 2>&1 | > FileCheck -check-prefix=CA53-BE %s > // CA53-BE: "-cc1"{{.*}} "-triple" "aarch64_be{{.*}}" "-target-cpu" > "cortex-a53" > > // RUN: %clang -target aarch64_be -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57-BE %s > +// RUN: %clang -target aarch64 -mbig-endian -mcpu=cortex-a57 -### -c %s > 2>&1 | FileCheck -check-prefix=CA57-BE %s > +// RUN: %clang -target aarch64_be -mbig-endian -mcpu=cortex-a57 -### -c > %s 2>&1 | FileCheck -check-prefix=CA57-BE %s > +// RUN: %clang -target aarch64 -EB -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57-BE %s > +// RUN: %clang -target aarch64_be -EB -mcpu=cortex-a57 -### -c %s 2>&1 | > FileCheck -check-prefix=CA57-BE %s > // CA57-BE: "-cc1"{{.*}} "-triple" "aarch64_be{{.*}}" "-target-cpu" > "cortex-a57" > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
