[PATCH] D159052: [PowerPC] fix the PowerPC cases, NFC
ChenZheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 30 18:52:18 PDT 2023
shchenz added a comment.
In D159052#4627784 <https://reviews.llvm.org/D159052#4627784>, @qiucf wrote:
> `SMALL-ASM`, `LARGE-ASM` and `FUNC-ASM` has conflicting outputs so the script cannot handle:
>
> # FUNC-ASM
> # 32-bit
> lwz 4, L..C0(2) # %jump-table.0
> slwi 3, 3, 2
> lwzx 3, 3, 4
>
> # 64-bit
> ld 4, L..C0(2) # %jump-table.0
> rldic 3, 3, 2, 30
> lwax 3, 3, 4
>
> Besides, update llc script uses `r'^[_.]?(?P=func):(?:[ \t]*#+[ \t]*@"?(?P=func)"?)?\n'` regex to match `func:` label in PPC asm, while the `jump_table` function here does not have such label. I doubt whether removing this check would cause regression in other cases. So I'd prefer keep cases here as manual.
Thanks for looking into the script @qiucf .
Except for the instruction conflcit, for `SMALL-ASM`, `LARGE-ASM` and `FUNC-ASM`, not sure the script can generate below checks:
; FUNC-ASM: L..JTI0_0:
; FUNC-ASM: .vbyte 4, L..BB0_2-L..JTI0_0
; FUNC-ASM: .vbyte 4, L..BB0_4-L..JTI0_0
; FUNC-ASM: .vbyte 4, L..BB0_5-L..JTI0_0
; FUNC-ASM: .vbyte 4, L..BB0_6-L..JTI0_0
; SMALL-ASM: .toc
; SMALL-ASM: .tc L..JTI0_0[TC],L..JTI0_0
; LARGE-ASM: .toc
; LARGE-ASM: .tc L..JTI0_0[TE],L..JTI0_0
These assembly codes are the testing points for the test.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D159052/new/
https://reviews.llvm.org/D159052
More information about the llvm-commits
mailing list