|
1 |
| -// REQUIRES: powerpc-registered-target |
2 | 1 | // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
|
3 |
| -// RUN: %clang_cc1 -triple powerpc64-unknown-unknown \ |
| 2 | +// REQUIRES: powerpc-registered-target |
| 3 | +// RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu \ |
4 | 4 | // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefix=64BIT
|
5 |
| -// RUN: %clang_cc1 -triple powerpc64le-unknown-unknown \ |
| 5 | +// RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu \ |
6 | 6 | // RUN: -emit-llvm %s -o - -target-cpu pwr8 | FileCheck %s --check-prefix=64BITLE
|
7 | 7 | // RUN: %clang_cc1 -triple powerpc64-unknown-aix \
|
8 | 8 | // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefix=64BITAIX
|
9 |
| -// RUN: %clang_cc1 -triple powerpc-unknown-unknown \ |
| 9 | +// RUN: %clang_cc1 -triple powerpc-unknown-linux-gnu \ |
10 | 10 | // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefix=32BIT
|
11 |
| -// RUN: %clang_cc1 -triple powerpcle-unknown-unknown \ |
| 11 | +// RUN: %clang_cc1 -triple powerpcle-unknown-linux-gnu \ |
12 | 12 | // RUN: -emit-llvm %s -o - -target-cpu pwr8 | FileCheck %s --check-prefix=32BITLE
|
13 | 13 | // RUN: %clang_cc1 -triple powerpc-unknown-aix \
|
14 | 14 | // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefix=32BITAIX
|
@@ -175,37 +175,47 @@ double _Complex testcmplx(double real, double imag) {
|
175 | 175 | //
|
176 | 176 | // 32BIT-LABEL: @testcmplxf(
|
177 | 177 | // 32BIT-NEXT: entry:
|
178 |
| -// 32BIT-NEXT: [[RETVAL:%.*]] = alloca { float, float }, align 4 |
179 | 178 | // 32BIT-NEXT: [[REAL_ADDR:%.*]] = alloca float, align 4
|
180 | 179 | // 32BIT-NEXT: [[IMAG_ADDR:%.*]] = alloca float, align 4
|
181 | 180 | // 32BIT-NEXT: store float [[REAL:%.*]], float* [[REAL_ADDR]], align 4
|
182 | 181 | // 32BIT-NEXT: store float [[IMAG:%.*]], float* [[IMAG_ADDR]], align 4
|
183 | 182 | // 32BIT-NEXT: [[TMP0:%.*]] = load float, float* [[REAL_ADDR]], align 4
|
184 | 183 | // 32BIT-NEXT: [[TMP1:%.*]] = load float, float* [[IMAG_ADDR]], align 4
|
185 |
| -// 32BIT-NEXT: [[RETVAL_REALP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[RETVAL]], i32 0, i32 0 |
186 |
| -// 32BIT-NEXT: [[RETVAL_IMAGP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[RETVAL]], i32 0, i32 1 |
187 |
| -// 32BIT-NEXT: store float [[TMP0]], float* [[RETVAL_REALP]], align 4 |
188 |
| -// 32BIT-NEXT: store float [[TMP1]], float* [[RETVAL_IMAGP]], align 4 |
189 |
| -// 32BIT-NEXT: [[TMP2:%.*]] = bitcast { float, float }* [[RETVAL]] to i64* |
190 |
| -// 32BIT-NEXT: [[TMP3:%.*]] = load i64, i64* [[TMP2]], align 4 |
191 |
| -// 32BIT-NEXT: ret i64 [[TMP3]] |
| 184 | +// 32BIT-NEXT: [[AGG_RESULT_REALP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT:%.*]], i32 0, i32 0 |
| 185 | +// 32BIT-NEXT: [[AGG_RESULT_IMAGP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 186 | +// 32BIT-NEXT: store float [[TMP0]], float* [[AGG_RESULT_REALP]], align 4 |
| 187 | +// 32BIT-NEXT: store float [[TMP1]], float* [[AGG_RESULT_IMAGP]], align 4 |
| 188 | +// 32BIT-NEXT: [[AGG_RESULT_REALP1:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 0 |
| 189 | +// 32BIT-NEXT: [[AGG_RESULT_REAL:%.*]] = load float, float* [[AGG_RESULT_REALP1]], align 4 |
| 190 | +// 32BIT-NEXT: [[AGG_RESULT_IMAGP2:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 191 | +// 32BIT-NEXT: [[AGG_RESULT_IMAG:%.*]] = load float, float* [[AGG_RESULT_IMAGP2]], align 4 |
| 192 | +// 32BIT-NEXT: [[AGG_RESULT_REALP3:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 0 |
| 193 | +// 32BIT-NEXT: [[AGG_RESULT_IMAGP4:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 194 | +// 32BIT-NEXT: store float [[AGG_RESULT_REAL]], float* [[AGG_RESULT_REALP3]], align 4 |
| 195 | +// 32BIT-NEXT: store float [[AGG_RESULT_IMAG]], float* [[AGG_RESULT_IMAGP4]], align 4 |
| 196 | +// 32BIT-NEXT: ret void |
192 | 197 | //
|
193 | 198 | // 32BITLE-LABEL: @testcmplxf(
|
194 | 199 | // 32BITLE-NEXT: entry:
|
195 |
| -// 32BITLE-NEXT: [[RETVAL:%.*]] = alloca { float, float }, align 4 |
196 | 200 | // 32BITLE-NEXT: [[REAL_ADDR:%.*]] = alloca float, align 4
|
197 | 201 | // 32BITLE-NEXT: [[IMAG_ADDR:%.*]] = alloca float, align 4
|
198 | 202 | // 32BITLE-NEXT: store float [[REAL:%.*]], float* [[REAL_ADDR]], align 4
|
199 | 203 | // 32BITLE-NEXT: store float [[IMAG:%.*]], float* [[IMAG_ADDR]], align 4
|
200 | 204 | // 32BITLE-NEXT: [[TMP0:%.*]] = load float, float* [[REAL_ADDR]], align 4
|
201 | 205 | // 32BITLE-NEXT: [[TMP1:%.*]] = load float, float* [[IMAG_ADDR]], align 4
|
202 |
| -// 32BITLE-NEXT: [[RETVAL_REALP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[RETVAL]], i32 0, i32 0 |
203 |
| -// 32BITLE-NEXT: [[RETVAL_IMAGP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[RETVAL]], i32 0, i32 1 |
204 |
| -// 32BITLE-NEXT: store float [[TMP0]], float* [[RETVAL_REALP]], align 4 |
205 |
| -// 32BITLE-NEXT: store float [[TMP1]], float* [[RETVAL_IMAGP]], align 4 |
206 |
| -// 32BITLE-NEXT: [[TMP2:%.*]] = bitcast { float, float }* [[RETVAL]] to i64* |
207 |
| -// 32BITLE-NEXT: [[TMP3:%.*]] = load i64, i64* [[TMP2]], align 4 |
208 |
| -// 32BITLE-NEXT: ret i64 [[TMP3]] |
| 206 | +// 32BITLE-NEXT: [[AGG_RESULT_REALP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT:%.*]], i32 0, i32 0 |
| 207 | +// 32BITLE-NEXT: [[AGG_RESULT_IMAGP:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 208 | +// 32BITLE-NEXT: store float [[TMP0]], float* [[AGG_RESULT_REALP]], align 4 |
| 209 | +// 32BITLE-NEXT: store float [[TMP1]], float* [[AGG_RESULT_IMAGP]], align 4 |
| 210 | +// 32BITLE-NEXT: [[AGG_RESULT_REALP1:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 0 |
| 211 | +// 32BITLE-NEXT: [[AGG_RESULT_REAL:%.*]] = load float, float* [[AGG_RESULT_REALP1]], align 4 |
| 212 | +// 32BITLE-NEXT: [[AGG_RESULT_IMAGP2:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 213 | +// 32BITLE-NEXT: [[AGG_RESULT_IMAG:%.*]] = load float, float* [[AGG_RESULT_IMAGP2]], align 4 |
| 214 | +// 32BITLE-NEXT: [[AGG_RESULT_REALP3:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 0 |
| 215 | +// 32BITLE-NEXT: [[AGG_RESULT_IMAGP4:%.*]] = getelementptr inbounds { float, float }, { float, float }* [[AGG_RESULT]], i32 0, i32 1 |
| 216 | +// 32BITLE-NEXT: store float [[AGG_RESULT_REAL]], float* [[AGG_RESULT_REALP3]], align 4 |
| 217 | +// 32BITLE-NEXT: store float [[AGG_RESULT_IMAG]], float* [[AGG_RESULT_IMAGP4]], align 4 |
| 218 | +// 32BITLE-NEXT: ret void |
209 | 219 | //
|
210 | 220 | // 32BITAIX-LABEL: @testcmplxf(
|
211 | 221 | // 32BITAIX-NEXT: entry:
|
|
0 commit comments