Index: clang/lib/Basic/Targets.cpp =================================================================== --- clang/lib/Basic/Targets.cpp +++ clang/lib/Basic/Targets.cpp @@ -5982,7 +5982,7 @@ if (getTriple().isOSBinFormatMachO()) resetDataLayout("e-m:o-i64:64-i128:128-n32:64-S128"); else - resetDataLayout("e-m:e-i64:64-i128:128-n32:64-S128"); + resetDataLayout("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"); } public: @@ -6000,7 +6000,7 @@ class AArch64beTargetInfo : public AArch64TargetInfo { void setDataLayout() override { assert(!getTriple().isOSBinFormatMachO()); - resetDataLayout("E-m:e-i64:64-i128:128-n32:64-S128"); + resetDataLayout("E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"); } public: Index: llvm/lib/Target/AArch64/AArch64TargetMachine.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64TargetMachine.cpp +++ llvm/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -133,8 +133,8 @@ if (TT.isOSBinFormatMachO()) return "e-m:o-i64:64-i128:128-n32:64-S128"; if (LittleEndian) - return "e-m:e-i64:64-i128:128-n32:64-S128"; - return "E-m:e-i64:64-i128:128-n32:64-S128"; + return "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"; + return "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"; } // Helper function to set up the defaults for reciprocals.