-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Adding support in llvm-exegesis for Aarch64 for handling FPR64/128, PPR16 and ZPR128 reg class. #127564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Adding support in llvm-exegesis for Aarch64 for handling FPR64/128, PPR16 and ZPR128 reg class. #127564
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
624a7ee
Adding support for FPR64/128, PPR16 and ZPR128 in setReg of llvm-exeg…
lakshayk-nv 4c4d605
Adding support for FPR64/128, PPR16 and ZPR128 in setReg of llvm-exeg…
lakshayk-nv f8ce0cc
Merge branch 'main' into llvm-exegesis-setreg
lakshayk-nv d34cb6d
Added assert that Value is in range for the generated instructions an…
lakshayk-nv 566081a
Merge branch 'llvm:main' into llvm-exegesis-setreg
lakshayk-nv 803b9e9
Merge branch 'llvm:main' into llvm-exegesis-setreg
lakshayk-nv 3589838
Merge branch 'llvm-exegesis-setreg' of github.com:lakshayk-nv/llvm-pr…
lakshayk-nv 53b9f0b
Added combined testfile for register initialization (PPR,ZPR,FPR64/12…
lakshayk-nv caebb7b
Deleted Indvidual testfiles
lakshayk-nv 230aade
Modified: requirement(aarch64) check only required once for a test
lakshayk-nv aab854b
Modified: PPR register class should be set with immediate value 31 fo…
lakshayk-nv f1e561c
Modified: Testcases to check disassembly, apart from setReg warning a…
lakshayk-nv 25b02b6
Modified: Fixed Typo in assertion message
lakshayk-nv b83b52d
Modified: Simplified regex checks for disassembly
lakshayk-nv 433b62e
Modified: Testcases to strictly check correct order of instruction in…
lakshayk-nv 482a0a3
Modified: Stricter asserts for checking immediate (Value) to be set i…
lakshayk-nv 951e05e
Modified: Base-instruction of FPR64 reg class to MOVID & ZPR reg clas…
lakshayk-nv ea8b28b
Modified: Updated testcases checks for disassembly as be base instruc…
lakshayk-nv b5853a9
Modified: reverted headers
lakshayk-nv 2c16af6
Modified: Simplified testfile to check only disassembly.
lakshayk-nv c21ee8b
Modified: Removed redundant comments and asserts.
lakshayk-nv 5cda550
Modified: Revert back to asserting bit width for GPR Register classes
lakshayk-nv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| REQUIRES: aarch64-registered-target | ||
|
|
||
| ## PPR Register Class Initialization Testcase | ||
| ## Ideally, we should use PTRUE_{B/H/S/D} instead of FADDV_VPZ_D for an isolated test case; | ||
| ## However, exegesis does not yet support PTRUE_{B/H/S/D}. | ||
| RUN: llvm-exegesis -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=FADDV_VPZ_D 2>&1 | ||
| RUN: llvm-objdump -d %d > %t.s | ||
| RUN: FileCheck %s --check-prefix=PPR_ASM < %t.s | ||
| PPR_ASM: <foo>: | ||
| PPR_ASM: ptrue p{{[0-9]+}}.b | ||
| PPR_ASM-NEXT: mov z{{[0-9]+}}.d, #0x0 | ||
| PPR_ASM-NEXT: faddv d{{[0-9]+}}, p{{[0-9]+}}, z{{[0-9]+}} | ||
|
|
||
| ## ZPR Register Class Initialization Testcase | ||
| ## Ideally, we should use DUP_ZI_{B/H/S/D} instead of FADDV_VPZ_D for an isolated test case; | ||
| ## However, exegesis does not yet support DUP_ZI_{B/H/S/D}. | ||
| RUN: llvm-exegesis -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=FADDV_VPZ_D 2>&1 | ||
| RUN: llvm-objdump -d %d > %t.s | ||
| RUN: FileCheck %s --check-prefix=ZPR_ASM < %t.s | ||
| ZPR_ASM: <foo>: | ||
| ZPR_ASM: ptrue p{{[0-9]+}}.b | ||
| ZPR_ASM-NEXT: mov z{{[0-9]+}}.d, #0x0 | ||
| ZPR_ASM-NEXT: faddv d{{[0-9]+}}, p{{[0-9]+}}, z{{[0-9]+}} | ||
|
|
||
| ## FPR128 Register Class Initialization Testcase | ||
| RUN: llvm-exegesis -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=ADDVv16i8v 2>&1 | ||
| RUN: llvm-objdump -d %d > %t.s | ||
| RUN: FileCheck %s --check-prefix=FPR128-ASM < %t.s | ||
| FPR128-ASM: <foo>: | ||
| FPR128-ASM: movi v{{[0-9]+}}.2d, #0000000000000000 | ||
| FPR128-ASM-NEXT: addv b{{[0-9]+}}, v{{[0-9]+}}.16b | ||
|
|
||
| ## FPR64 Register Class Initialization Testcase | ||
| RUN: llvm-exegesis -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=ADDVv4i16v 2>&1 | ||
| RUN: llvm-objdump -d %d > %t.s | ||
| RUN: FileCheck %s --check-prefix=FPR64-ASM < %t.s | ||
| FPR64-ASM: <foo>: | ||
| FPR64-ASM: movi d{{[0-9]+}}, #0000000000000000 | ||
| FPR64-ASM-NEXT: addv h{{[0-9]+}}, v{{[0-9]+}}.4h |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.