Commit 547bfda
authored
[AArch64] Improve bcvtn2 and remove aarch64_neon_bfcvt intrinsics (llvm#120363)
This started out as trying to combine bf16 fpround to BFCVT2
instructions, but ended up removing the aarch64.neon.nfcvt intrinsics in
favour of generating fpround instructions directly. This simplifies the
patterns and can lead to other optimizations. The BFCVT2 instruction is
adjusted to makes sure the types are valid, and a bfcvt2 is now
generated in more place. The old intrinsics are auto-upgraded to fptrunc
instructions too.1 parent c22364a commit 547bfda
File tree
10 files changed
+190
-165
lines changed- clang
- include/clang/Basic
- lib/CodeGen
- test/CodeGen
- llvm
- include/llvm/IR
- lib
- IR
- Target/AArch64
- test/CodeGen/AArch64
10 files changed
+190
-165
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | 262 | | |
268 | 263 | | |
269 | 264 | | |
| |||
2061 | 2056 | | |
2062 | 2057 | | |
2063 | 2058 | | |
2064 | | - | |
2065 | | - | |
| 2059 | + | |
2066 | 2060 | | |
2067 | | - | |
| 2061 | + | |
2068 | 2062 | | |
2069 | 2063 | | |
2070 | 2064 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7307 | 7307 | | |
7308 | 7308 | | |
7309 | 7309 | | |
7310 | | - | |
7311 | 7310 | | |
7312 | 7311 | | |
7313 | 7312 | | |
| |||
7407 | 7406 | | |
7408 | 7407 | | |
7409 | 7408 | | |
7410 | | - | |
| 7409 | + | |
| 7410 | + | |
7411 | 7411 | | |
7412 | 7412 | | |
7413 | 7413 | | |
| |||
7616 | 7616 | | |
7617 | 7617 | | |
7618 | 7618 | | |
7619 | | - | |
| 7619 | + | |
7620 | 7620 | | |
7621 | 7621 | | |
7622 | 7622 | | |
| |||
12083 | 12083 | | |
12084 | 12084 | | |
12085 | 12085 | | |
| 12086 | + | |
| 12087 | + | |
| 12088 | + | |
| 12089 | + | |
| 12090 | + | |
| 12091 | + | |
12086 | 12092 | | |
12087 | 12093 | | |
12088 | 12094 | | |
| |||
12808 | 12814 | | |
12809 | 12815 | | |
12810 | 12816 | | |
| 12817 | + | |
| 12818 | + | |
| 12819 | + | |
| 12820 | + | |
| 12821 | + | |
| 12822 | + | |
| 12823 | + | |
| 12824 | + | |
| 12825 | + | |
| 12826 | + | |
| 12827 | + | |
| 12828 | + | |
| 12829 | + | |
| 12830 | + | |
| 12831 | + | |
| 12832 | + | |
| 12833 | + | |
| 12834 | + | |
| 12835 | + | |
| 12836 | + | |
| 12837 | + | |
| 12838 | + | |
| 12839 | + | |
| 12840 | + | |
| 12841 | + | |
| 12842 | + | |
| 12843 | + | |
| 12844 | + | |
| 12845 | + | |
12811 | 12846 | | |
12812 | 12847 | | |
12813 | 12848 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
| 226 | + | |
| 227 | + | |
230 | 228 | | |
231 | 229 | | |
232 | 230 | | |
| |||
263 | 261 | | |
264 | 262 | | |
265 | 263 | | |
266 | | - | |
267 | | - | |
268 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
269 | 267 | | |
270 | 268 | | |
271 | 269 | | |
| |||
323 | 321 | | |
324 | 322 | | |
325 | 323 | | |
326 | | - | |
327 | | - | |
328 | | - | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
329 | 328 | | |
330 | 329 | | |
331 | 330 | | |
| |||
404 | 403 | | |
405 | 404 | | |
406 | 405 | | |
407 | | - | |
408 | | - | |
| 406 | + | |
| 407 | + | |
409 | 408 | | |
410 | 409 | | |
411 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
538 | 538 | | |
539 | 539 | | |
540 | 540 | | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
551 | | - | |
552 | 541 | | |
553 | 542 | | |
554 | 543 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
828 | 829 | | |
829 | 830 | | |
830 | 831 | | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
831 | 839 | | |
832 | 840 | | |
833 | 841 | | |
| |||
4028 | 4036 | | |
4029 | 4037 | | |
4030 | 4038 | | |
4031 | | - | |
4032 | | - | |
4033 | | - | |
4034 | | - | |
4035 | | - | |
4036 | | - | |
4037 | | - | |
4038 | | - | |
4039 | | - | |
4040 | | - | |
4041 | | - | |
4042 | | - | |
4043 | | - | |
4044 | | - | |
4045 | | - | |
4046 | | - | |
4047 | | - | |
4048 | | - | |
4049 | | - | |
4050 | | - | |
4051 | | - | |
4052 | | - | |
4053 | | - | |
4054 | | - | |
4055 | | - | |
| 4039 | + | |
| 4040 | + | |
| 4041 | + | |
| 4042 | + | |
| 4043 | + | |
| 4044 | + | |
| 4045 | + | |
| 4046 | + | |
| 4047 | + | |
| 4048 | + | |
| 4049 | + | |
| 4050 | + | |
| 4051 | + | |
| 4052 | + | |
| 4053 | + | |
| 4054 | + | |
| 4055 | + | |
| 4056 | + | |
| 4057 | + | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
| 4064 | + | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
| 4077 | + | |
| 4078 | + | |
| 4079 | + | |
| 4080 | + | |
| 4081 | + | |
| 4082 | + | |
| 4083 | + | |
| 4084 | + | |
| 4085 | + | |
| 4086 | + | |
| 4087 | + | |
| 4088 | + | |
| 4089 | + | |
| 4090 | + | |
| 4091 | + | |
4056 | 4092 | | |
4057 | 4093 | | |
4058 | 4094 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9053 | 9053 | | |
9054 | 9054 | | |
9055 | 9055 | | |
9056 | | - | |
| 9056 | + | |
9057 | 9057 | | |
9058 | | - | |
9059 | | - | |
| 9058 | + | |
9060 | 9059 | | |
9061 | 9060 | | |
9062 | 9061 | | |
9063 | 9062 | | |
9064 | | - | |
9065 | | - | |
9066 | | - | |
| 9063 | + | |
9067 | 9064 | | |
9068 | 9065 | | |
9069 | 9066 | | |
9070 | 9067 | | |
9071 | | - | |
| 9068 | + | |
9072 | 9069 | | |
9073 | 9070 | | |
9074 | 9071 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1454 | 1454 | | |
1455 | 1455 | | |
1456 | 1456 | | |
1457 | | - | |
1458 | | - | |
| 1457 | + | |
| 1458 | + | |
1459 | 1459 | | |
1460 | 1460 | | |
1461 | 1461 | | |
| |||
1477 | 1477 | | |
1478 | 1478 | | |
1479 | 1479 | | |
1480 | | - | |
1481 | | - | |
1482 | 1480 | | |
1483 | 1481 | | |
1484 | 1482 | | |
| |||
10412 | 10410 | | |
10413 | 10411 | | |
10414 | 10412 | | |
10415 | | - | |
10416 | | - | |
10417 | | - | |
| 10413 | + | |
| 10414 | + | |
| 10415 | + | |
| 10416 | + | |
| 10417 | + | |
10418 | 10418 | | |
10419 | 10419 | | |
10420 | 10420 | | |
| |||
10449 | 10449 | | |
10450 | 10450 | | |
10451 | 10451 | | |
10452 | | - | |
10453 | | - | |
10454 | | - | |
10455 | | - | |
| 10452 | + | |
| 10453 | + | |
| 10454 | + | |
| 10455 | + | |
| 10456 | + | |
| 10457 | + | |
10456 | 10458 | | |
10457 | 10459 | | |
10458 | 10460 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
3 | 6 | | |
4 | 7 | | |
5 | 8 | | |
| |||
0 commit comments