Why should I know this?

[AArch64] Generate stp for complex repeating constansts#514 본문

LLVM-STUDY/BACKEND

[AArch64] Generate stp for complex repeating constansts#514

die4taoam 2024. 3. 21. 14:05

 

https://github.com/llvm/llvm-project/issues/51483

 

[AArch64] Generate stp for complex repeating constansts · Issue #51483 · llvm/llvm-project

Bugzilla Link 52141 Version trunk OS Windows NT Reporter LLVM Bugzilla Contributor CC @Arnaud-de-Grandmaison-ARM,@DMG862,@smithp35 Extended Description For complex repeating constants like: void fo...

github.com

 

유사한 최적화 제의와 성능 리포트.

 

https://github.com/dotnet/runtime/issues/34732

 

Optimize movz/movk on ARM64 · Issue #34732 · dotnet/runtime

Since ARM64 has an ISA with fixed 32-bit instruction width, the move instructions have space for 16-bit unsigned immediate. To move bigger immediate value, we need to move the value in multiple ste...

github.com

 

 

자신없지만 도와준다고 해서 바로 PR

https://github.com/llvm/llvm-project/pull/86249

 

[AArch64] Optimization of repeated constant loads (#51483) by ParkHanbum · Pull Request #86249 · llvm/llvm-project

This change looks for cases where load same constant in the upper and lower 32-bit sizes of a 64-bit space. If we found, it loads only the lower 32-bit constant and replaces it with an instruction...

github.com

 

관련 MIR 링크

 

https://gcc.godbolt.org/z/9Kx7hefvM

 

Compiler Explorer

Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.

gcc.godbolt.org

 

'LLVM-STUDY > BACKEND' 카테고리의 다른 글

ARM Instruction] UBFM, UBFX, UBFIZ, LSR, LSL  (0) 2024.04.20
Backend 주요 로직 모음  (0) 2024.03.19
Comments