Skip to content

Commit a3b01e2

Browse files
pawosm-armbryanpkc
authored andcommitted
NFC: The checks for AArch64 target features must be more flexible after Oliver Stannard's LLVM commit #78270
This is a preparation patch for ensuring LLVM18 compatibility after the commit 13e977d changed how target feature dependencies are handled.
1 parent a3afa1d commit a3b01e2

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed

test/llvm_ir_correct/attr.f90

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ program tz
1616
end do
1717
print *, acc(100)
1818
end program
19-
! ATTRS-NOSVE: attributes{{.*}}"target-features"="+neon{{(,\+v8a)*}}"
20-
! ATTRS-SVE: attributes{{.*}}"target-features"="+neon{{(,\+v8a)*}},+sve"
19+
! ATTRS-NOSVE-NOT: attributes{{.*}}"target-features"="{{.*}}+sve{{.*}}"
20+
! ATTRS-NOSVE: attributes{{.*}}"target-features"="{{.*}}+neon{{.*}}"
21+
! ATTRS-SVE: attributes{{.*}}"target-features"="{{.*}}+sve{{.*}}"

test/llvm_ir_correct/vscale-mbits.f90

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,29 @@ program tz
2424
print *, acc(100)
2525
end program
2626
! ATTRS-SVE-128: attributes #{{[0-9]+}}
27-
! ATTRS-SVE-128-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve"
27+
! ATTRS-SVE-128-DAG: "target-features"="{{.*}}+sve{{.*}}"
2828
! ATTRS-SVE-128-DAG: vscale_range(1,1)
2929
! ATTRS-SVE-128PLUS: attributes #{{[0-9]+}}
30-
! ATTRS-SVE-128PLUS-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve"
30+
! ATTRS-SVE-128PLUS-DAG: "target-features"="{{.*}}+sve{{.*}}"
3131
! ATTRS-SVE-128PLUS-DAG: vscale_range(1,0)
3232
! ATTRS-SVE-256: attributes #{{[0-9]+}}
33-
! ATTRS-SVE-256-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve"
33+
! ATTRS-SVE-256-DAG: "target-features"="{{.*}}+sve{{.*}}"
3434
! ATTRS-SVE-256-DAG: vscale_range(2,2)
3535
! ATTRS-SVE-256PLUS: attributes #{{[0-9]+}}
36-
! ATTRS-SVE-256PLUS-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve"
36+
! ATTRS-SVE-256PLUS-DAG: "target-features"="{{.*}}+sve{{.*}}"
3737
! ATTRS-SVE-256PLUS-DAG: vscale_range(2,0)
3838
! ATTRS-SVE2-512: attributes #{{[0-9]+}}
39-
! ATTRS-SVE2-512-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2,+sve"
39+
! ATTRS-SVE2-512-DAG: "target-features"="{{.*}}+sve2{{.*}}"
4040
! ATTRS-SVE2-512-DAG: vscale_range(4,4)
4141
! ATTRS-SVE2-512PLUS: attributes #{{[0-9]+}}
42-
! ATTRS-SVE2-512PLUS-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2,+sve"
42+
! ATTRS-SVE2-512PLUS-DAG: "target-features"="{{.*}}+sve2{{.*}}"
4343
! ATTRS-SVE2-512PLUS-DAG: vscale_range(4,0)
4444
! ATTRS-SVE2SHA3-2048: attributes #{{[0-9]+}}
45-
! ATTRS-SVE2SHA3-2048-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2-sha3,+sve,+sve2"
45+
! ATTRS-SVE2SHA3-2048-DAG: "target-features"="{{.*}}+sve2-sha3{{.*}}"
4646
! ATTRS-SVE2SHA3-2048-DAG: vscale_range(16,16)
4747
! ATTRS-SVE2SHA3-2048PLUS: attributes #{{[0-9]+}}
48-
! ATTRS-SVE2SHA3-2048PLUS-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2-sha3,+sve,+sve2"
48+
! ATTRS-SVE2SHA3-2048PLUS-DAG: "target-features"="{{.*}}+sve2-sha3{{.*}}"
4949
! ATTRS-SVE2SHA3-2048PLUS-DAG: vscale_range(16,0)
5050
! ATTRS-SVE2-SCALABLE: attributes #{{[0-9]+}}
51-
! ATTRS-SVE2-SCALABLE-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2,+sve"
51+
! ATTRS-SVE2-SCALABLE-DAG: "target-features"="{{.*}}+sve2{{.*}}"
5252
! ATTRS-SVE2-SCALABLE-DAG: vscale_range(1,16)

test/llvm_ir_correct/vscale.f90

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,28 @@ program tz
2323
print *, acc(100)
2424
end program
2525
! ATTRS-NEON-NOT: vscale_range
26-
! ATTRS-NEON: attributes{{.*}}"target-features"="+neon{{(,\+v8a)*}}"
26+
! ATTRS-NEON: attributes{{.*}}"target-features"="{{.*}}+neon{{.*}}"
2727
! ATTRS-SVE: attributes #{{[0-9]+}}
28-
! ATTRS-SVE-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve"
28+
! ATTRS-SVE-NOT: "target-features"="{{.*}}+sve2{{.*}}"
29+
! ATTRS-SVE-DAG: "target-features"="{{.*}}+sve{{.*}}"
2930
! ATTRS-SVE-DAG: vscale_range(1,16)
3031
! ATTRS-SVE2: attributes #{{[0-9]+}}
31-
! ATTRS-SVE2-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2,+sve"
32+
! ATTRS-SVE2-DAG: "target-features"="{{.*}}+sve2{{.*}}"
3233
! ATTRS-SVE2-DAG: vscale_range(1,16)
3334
! ATTRS-SVE2SHA3: attributes #{{[0-9]+}}
34-
! ATTRS-SVE2SHA3-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2-sha3,+sve,+sve2"
35+
! ATTRS-SVE2SHA3-DAG: "target-features"="{{.*}}+sve2-sha3{{.*}}"
3536
! ATTRS-SVE2SHA3-DAG: vscale_range(1,16)
3637
! ATTRS-SVE-NOSVE-NOT: vscale_range
37-
! ATTRS-SVE-NOSVE: attributes{{.*}}"target-features"="+neon{{(,\+v8a)*}},-sve,-sve2,-sve2-bitperm,-sve2-sha3,-sve2-aes,-sve2-sm4"
38+
! ATTRS-SVE-NOSVE-NOT: attributes{{.*}}"target-features"{{.*}}+sve{{.*}}"
39+
! ATTRS-SVE-NOSVE-DAG: attributes{{.*}}"target-features"{{.*}}+neon{{.*}}"
3840
! ATTRS-SVE2-NOSVE2SHA3: attributes #{{[0-9]+}}
39-
! ATTRS-SVE2-NOSVE2SHA3-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve2,+sve,-sve2-sha3"
41+
! ATTRS-SVE2-NOSVE2SHA3-NOT: "target-features"="{{.*}}+sve2-sha3{{.*}}"
42+
! ATTRS-SVE2-NOSVE2SHA3-DAG: "target-features"="{{.*}}+sve2{{.*}}"
4043
! ATTRS-SVE2-NOSVE2SHA3-DAG: vscale_range(1,16)
4144
! ATTRS-SVE2SHA3-NOSVE2: attributes #{{[0-9]+}}
42-
! ATTRS-SVE2SHA3-NOSVE2-DAG: "target-features"="+neon{{(,\+v8a)*}},+sve,-sve2,-sve2-bitperm,-sve2-sha3,-sve2-aes,-sve2-sm4"
45+
! ATTRS-SVE2SHA3-NOSVE2-NOT: "target-features"="{{.*}}+sve2{{.*}}"
46+
! ATTRS-SVE2SHA3-NOSVE2-NOT: "target-features"="{{.*}}+sve2-sha3{{.*}}"
47+
! ATTRS-SVE2SHA3-NOSVE2-DAG: "target-features"="{{.*}}+sve{{.*}}"
4348
! ATTRS-SVE2SHA3-NOSVE2-DAG: vscale_range(1,16)
4449
! ATTRS-SVE2SHA3-NOSVE-NOT: vscale_range
45-
! ATTRS-SVE2SHA3-NOSVE: attributes{{.*}}"target-features"="+neon{{(,\+v8a)*}},-sve,-sve2,-sve2-bitperm,-sve2-sha3,-sve2-aes,-sve2-sm4"
50+
! ATTRS-SVE2SHA3-NOSVE: attributes{{.*}}"target-features"="{{.*}}-sve2-sha3{{.*}}"

0 commit comments

Comments
 (0)