[llvm] [VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (PR #149706)
Shunsuke Watanabe via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 16 21:19:12 PST 2026
s-watanabe314 wrote:
@fhahn Our tests started failing after this commit. These are Fortran tests, could you please check?
The environment is graviton3 (neoverse-v1), and the options specified are `-O3 -march=armv8.4-a+sve -msve-vector-bits=256`.
Failing tests:
- [Fortran/0120/0120_0040.F90](https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0120/0120_0040.F90)
- [Fortran/0641/0641_0021.f](https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0641/0641_0021.f)
In the Fortran sample code below, all values of `a` should be 1, but some appear to be 0.
- sample.F90
```Fortran
#define N1 4
#define N2 16
#define TYPE real(kind=4)
program main
TYPE, dimension(N1,N2) :: a,b
call init(a,b,N1,N2)
print *, a
end program main
subroutine init(a,b,n1,n2)
TYPE, dimension(n1,n2) :: a,b
do j=1,n2
do k=1,n1
a(k,j) = 1.0
b(k,j) = 1.0
enddo
enddo
end subroutine init
```
```
$ flang sample.F90 -O0 -o o0.out
$ flang sample.F90 -O3 -march=armv8.4-a+sve -msve-vector-bits=256 -o v256.out
$ flang sample.F90 -O3 -march=armv8.4-a+sve -msve-vector-bits=scalable -o scalable.out
$ ./o0.out
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
$ ./v256.out
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
$ ./scalable.out
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
```
https://github.com/llvm/llvm-project/pull/149706
More information about the llvm-commits
mailing list