[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