<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123668>123668</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang][PPC] frontend `-funroll-loops` does not affect unroll on PPC target
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mustartt
</td>
</tr>
</table>
<pre>
2 test cases that are currently failing on `ppc64-flang-aix` and `ppc64le-flang-rhel-clang`
```
FAIL: Flang::unroll-loops.fir
FAIL: Flang::unroll-loops.f90
```
```
******************** TEST 'Flang :: Integration/unroll-loops.f90' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/bin/flang -fc1 -emit-llvm -O1 -funroll-loops -mllvm -force-vector-width=2 -o- /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90 | /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90 --check-prefixes=CHECK,UNROLL
+ /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90 --check-prefixes=CHECK,UNROLL
+ /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/bin/flang -fc1 -emit-llvm -O1 -funroll-loops -mllvm -force-vector-width=2 -o- /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90:22:17: error: UNROLL-NEXT: is not on the line after the previous match
! UNROLL-NEXT: %[[GEP0:.*]] = getelementptr i64, ptr %[[ARG0]], i64 %[[IND]]
^
<stdin>:21:2: note: 'next' match was here
%1 = getelementptr i64, ptr %0, i64 %index
^
<stdin>:14:51: note: previous match ended here
%step.add = add <2 x i64> %vec.ind, splat (i64 2)
^
<stdin>:15:1: note: non-matching line after previous match is here
%step.add.2 = add <2 x i64> %vec.ind, splat (i64 4)
^
Input file: <stdin>
Check file: /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/test/Integration/unroll-loops.f90
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
16: %step.add.3 = add <2 x i64> %vec.ind, splat (i64 6)
17: %step.add.4 = add <2 x i64> %vec.ind, splat (i64 8)
18: %step.add.5 = add <2 x i64> %vec.ind, splat (i64 10)
19: %step.add.6 = add <2 x i64> %vec.ind, splat (i64 12)
20: %step.add.7 = add <2 x i64> %vec.ind, splat (i64 14)
21: %1 = getelementptr i64, ptr %0, i64 %index
next:22 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
22: %2 = getelementptr i8, ptr %1, i64 16
23: %3 = getelementptr i8, ptr %1, i64 32
24: %4 = getelementptr i8, ptr %1, i64 48
25: %5 = getelementptr i8, ptr %1, i64 64
26: %6 = getelementptr i8, ptr %1, i64 80
.
.
.
>>>>>>
--
********************
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWF9v2zYQ_zT0CyGDIvXHfvCDIttdsCINuhbYKy2dLK60KJBU4r7ssw9H2YntpFuSPmxFJxCW5CN_97s78e4k6ZzadgALkl6RdDmRg2-NXewG56X1frIx9dcFpx6cp5V04KhvpafSAq0Ga6Hz-ittpNKq21LTUZKxvq-yJGq07LaRVHuSMSq7-kGi4SCzLeiowkuSMcIKHBk7DFasi-v3RBR0HWaIgohi6KzROtLG9G7aKPuSWXN2gXt5y98-6KfVb58o4XnQTkf19LrzsLXSK9MRvn7ChucUSa-W9HtUE1as9srT0tSASmPCitLsdujpD4PvB08Jnzlfg7WEz5EaK6KIsOLj5xtcID3VqgMa4w3h69bsgPD1ZlC63hjvCF9rfbeLYO_BdlJHp5J7Y7-AxatnQorPyvOSEOwR6KgKzwr9FKbRqKliGsFO-Qi10-hDTKPm1Ic02o2SxtgKojuovLHRvap9S8SS08hE_445Ab635g-o_NEewteH5X__UFCSl_-FIKyVhrKF6ssP6MIoqpB51Fto1B4cEcvyl1X5K-Hl55uPH96_D5v96n83_zRu_qlTSgjDj8ZZFJwTUcQ5FiWw1li8GJ-r6Gb1-ye8VY52xmOz4VsYi5hsPNhw21u4U2ZwdCd91RKGtS2-RCA8De3O1bvVLSqdYkFNlyRdUiKWdAseNOyg8723VGUJ4SXFy4d1xcd3bFyAIpUlj6Lrm-VBgrrTFcZBlM7XqiNihRZixUUr0QoY6eQd7D12BoE1vZeOtmBhpJ_G_8iKndBQXQ37bymPEyKKND7Vfu4xCl0N9al256GfyroOJMZzyek-MBArnHEH1VR1NXJwvZah80AyHBuPbxFJ8eeUR2e6KFDATvIkqhf8lHuO3JS_nl4y0hvZXXfYMjVKjxE54cqKMVU_yH64XcWKqB52faTQRiKWLeiewr7XUnUu7JrGaG3u0fFhDsXp0wev3Es39o9ElJeDFfR44ILx5-yfwxFn6LyzmInXxywjfE5PUfMnqMnrUWdH1Hj2BC59PVzMLlnOD1nnATV7Ayq_QOXsEjV_A2pyiRofXfCGtINAIZVhIsfM--dLD_qY7sd9bjp6b80hFSC_UBkCMf4csdkJr_jIK87OTBNHBPFiBMHPEJIjQvJihGR2hpAeEdIXI6CDTxCyQ9izFwPMGP3WtnzctSEvn4_DG-N3vqc-vG1P6oWo52IuJ7CIc5EnLBOpmLSLOm-k4LP5BjaMpXUt8g2AjOMk3QjIZTZRC854ymLOOEu5ENMknyVpxhifJ7mYNXOSMNhJpaeYKKfGbifKuQEWMRdZNptouQHtwjcOzg_Jk5N0ObGLkFk3w9aRhGnlvHuE8Mrr8GFk_LiAVf3q9rbENqGxpvMwftU4byZJxmhtYOxRZNNA5ekox0f69rakXtot-Mlg9aL1vg-5la8JX2-Vb4fNtDK7Q8Z_mviDVVhLDobdLfhfAQAA__8-Km0v">