@@ -92,6 +92,16 @@ TEST(DataLayoutUpgradeTest, ValidDataLayoutUpgrade) {
92
92
" e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" , " mips64el" ),
93
93
" e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" );
94
94
95
+ // Check that PowerPC64 targets add -i128:128.
96
+ EXPECT_EQ (UpgradeDataLayoutString (" e-m:e-i64:64-n32:64" , " powerpc64le-linux" ),
97
+ " e-m:e-i64:64-i128:128-n32:64" );
98
+ EXPECT_EQ (
99
+ UpgradeDataLayoutString (" E-m:e-Fn32-i64:64-n32:64" , " powerpc64-linux" ),
100
+ " E-m:e-Fn32-i64:64-i128:128-n32:64" );
101
+ EXPECT_EQ (
102
+ UpgradeDataLayoutString (" E-m:a-Fi64-i64:64-n32:64" , " powerpc64-ibm-aix" ),
103
+ " E-m:a-Fi64-i64:64-i128:128-n32:64" );
104
+
95
105
// Check that SPIR && SPIRV targets add -G1 if it's not present.
96
106
EXPECT_EQ (UpgradeDataLayoutString (" e-p:32:32" , " spir" ), " e-p:32:32-G1" );
97
107
EXPECT_EQ (UpgradeDataLayoutString (" e-p:32:32" , " spir64" ), " e-p:32:32-G1" );
@@ -108,8 +118,6 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
108
118
" -f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
109
119
" -n8:16:32:64-S128" ,
110
120
" x86_64-unknown-linux-gnu" );
111
- std::string DL2 = UpgradeDataLayoutString (" e-m:e-i64:64-n32:64" ,
112
- " powerpc64le-unknown-linux-gnu" );
113
121
std::string DL3 = UpgradeDataLayoutString (
114
122
" e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32" ,
115
123
" aarch64--" );
@@ -118,7 +126,6 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
118
126
" e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-i128:128:128"
119
127
" -f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64"
120
128
" -f80:128:128-n8:16:32:64-S128" );
121
- EXPECT_EQ (DL2, " e-m:e-i64:64-n32:64" );
122
129
EXPECT_EQ (DL3, " e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:"
123
130
" 64-S128-Fn32" );
124
131
@@ -153,6 +160,14 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
153
160
EXPECT_EQ (UpgradeDataLayoutString (" G2" , " spir64" ), " G2" );
154
161
EXPECT_EQ (UpgradeDataLayoutString (" G2" , " spirv32" ), " G2" );
155
162
EXPECT_EQ (UpgradeDataLayoutString (" G2" , " spirv64" ), " G2" );
163
+
164
+ // Check that PowerPC32 targets don't add -i128:128.
165
+ EXPECT_EQ (UpgradeDataLayoutString (" e-m:e-i64:64-n32" , " powerpcle-linux" ),
166
+ " e-m:e-i64:64-n32" );
167
+ EXPECT_EQ (UpgradeDataLayoutString (" E-m:e-Fn32-i64:64-n32" , " powerpc-linux" ),
168
+ " E-m:e-Fn32-i64:64-n32" );
169
+ EXPECT_EQ (UpgradeDataLayoutString (" E-m:a-Fi64-i64:64-n32" , " powerpc-aix" ),
170
+ " E-m:a-Fi64-i64:64-n32" );
156
171
}
157
172
158
173
TEST (DataLayoutUpgradeTest, EmptyDataLayout) {
0 commit comments