@@ -431,13 +431,12 @@ class LLVM_LIBRARY_VISIBILITY X86_32TargetInfo : public X86TargetInfo {
431431 LongDoubleWidth = 96 ;
432432 LongDoubleAlign = 32 ;
433433 SuitableAlign = 128 ;
434- resetDataLayout (
435- Triple.isOSBinFormatMachO ()
436- ? " e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-"
437- " f80:32-n8:16:32-S128"
438- : " e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-"
439- " f80:32-n8:16:32-S128" ,
440- Triple.isOSBinFormatMachO () ? " _" : " " );
434+ resetDataLayout (Triple.isOSBinFormatMachO ()
435+ ? " e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:"
436+ " 128-f64:32:64-f80:32-n8:16:32-S128"
437+ : " e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:"
438+ " 128-f64:32:64-f80:32-n8:16:32-S128" ,
439+ Triple.isOSBinFormatMachO () ? " _" : " " );
441440 SizeType = UnsignedInt;
442441 PtrDiffType = SignedInt;
443442 IntPtrType = SignedInt;
@@ -542,8 +541,9 @@ class LLVM_LIBRARY_VISIBILITY DarwinI386TargetInfo
542541 UseSignedCharForObjCBool = false ;
543542 SizeType = UnsignedLong;
544543 IntPtrType = SignedLong;
545- resetDataLayout (" e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-"
546- " f80:128-n8:16:32-S128" , " _" );
544+ resetDataLayout (" e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-"
545+ " f64:32:64-f80:128-n8:16:32-S128" ,
546+ " _" );
547547 HasAlignMac68kSupport = true ;
548548 }
549549
@@ -570,7 +570,7 @@ class LLVM_LIBRARY_VISIBILITY WindowsX86_32TargetInfo
570570 getTriple ().isOSWindows () && getTriple ().isOSBinFormatCOFF ();
571571 bool IsMSVC = getTriple ().isWindowsMSVCEnvironment ();
572572 std::string Layout = IsWinCOFF ? " e-m:x" : " e-m:e" ;
573- Layout += " -p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-" ;
573+ Layout += " -p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128- " ;
574574 Layout += IsMSVC ? " f80:128" : " f80:32" ;
575575 Layout += " -n8:16:32-a:0:32-S32" ;
576576 resetDataLayout (Layout, IsWinCOFF ? " _" : " " );
@@ -621,8 +621,8 @@ class LLVM_LIBRARY_VISIBILITY CygwinX86_32TargetInfo : public X86_32TargetInfo {
621621 : X86_32TargetInfo(Triple, Opts) {
622622 this ->WCharType = TargetInfo::UnsignedShort;
623623 DoubleAlign = LongLongAlign = 64 ;
624- resetDataLayout (" e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80: "
625- " 32-n8:16:32-a:0:32-S32" ,
624+ resetDataLayout (" e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-"
625+ " i128:128-f80: 32-n8:16:32-a:0:32-S32" ,
626626 " _" );
627627 }
628628
@@ -660,8 +660,8 @@ class LLVM_LIBRARY_VISIBILITY MCUX86_32TargetInfo : public X86_32TargetInfo {
660660 : X86_32TargetInfo(Triple, Opts) {
661661 LongDoubleWidth = 64 ;
662662 LongDoubleFormat = &llvm::APFloat::IEEEdouble ();
663- resetDataLayout (" e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:32-f64: "
664- " 32-f128:32-n8:16:32-a:0:32-S32" );
663+ resetDataLayout (" e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:32-"
664+ " f64: 32-f128:32-n8:16:32-a:0:32-S32" );
665665 WIntType = UnsignedInt;
666666 }
667667
@@ -721,11 +721,11 @@ class LLVM_LIBRARY_VISIBILITY X86_64TargetInfo : public X86TargetInfo {
721721
722722 // Pointers are 32-bit in x32.
723723 resetDataLayout (IsX32 ? " e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-"
724- " i64:64-f80:128-n8:16:32:64-S128"
725- : IsWinCOFF ? " e-m:w-p270:32:32-p271:32:32-p272:64:"
726- " 64-i64:64 -f80:128-n8:16:32:64-S128"
727- : " e-m:e-p270:32:32-p271:32:32-p272:64:"
728- " 64-i64:64 -f80:128-n8:16:32:64-S128" );
724+ " i64:64-i128:128- f80:128-n8:16:32:64-S128"
725+ : IsWinCOFF ? " e-m:w-p270:32:32-p271:32:32-p272:64:64-i64 :"
726+ " 64-i128:128 -f80:128-n8:16:32:64-S128"
727+ : " e-m:e-p270:32:32-p271:32:32-p272:64:64-i64 :"
728+ " 64-i128:128 -f80:128-n8:16:32:64-S128" );
729729
730730 // Use fpret only for long double.
731731 RealTypeUsesObjCFPRetMask = (unsigned )FloatModeKind::LongDouble;
@@ -922,8 +922,9 @@ class LLVM_LIBRARY_VISIBILITY DarwinX86_64TargetInfo
922922 llvm::Triple T = llvm::Triple (Triple);
923923 if (T.isiOS ())
924924 UseSignedCharForObjCBool = false ;
925- resetDataLayout (" e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:"
926- " 16:32:64-S128" , " _" );
925+ resetDataLayout (" e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-"
926+ " f80:128-n8:16:32:64-S128" ,
927+ " _" );
927928 }
928929
929930 bool handleTargetFeatures (std::vector<std::string> &Features,
0 commit comments