[clang] [llvm] [AMDGPU] Implement 'llvm.get.fpenv' and 'llvm.set.fpenv' (PR #83906)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 4 13:30:30 PST 2024
================
@@ -1122,7 +1122,7 @@ class S_SETREG_B32_Pseudo <list<dag> pattern=[]> : SOPK_Pseudo <
pattern>;
def S_SETREG_B32 : S_SETREG_B32_Pseudo <
- [(int_amdgcn_s_setreg (i32 SIMM16bit:$simm16), i32:$sdst)]> {
+ [(int_amdgcn_s_setreg (i32 timm:$simm16), i32:$sdst)]> {
----------------
jhuber6 wrote:
I hit the `SOPK` error when trying to emit this in `globalIsel` for the `TRAPSTS` register.
```
> llc -mtriple=amdgcn -mcpu=tahiti ../llvm/test/CodeGen/AMDGPU/llvm.fpenv.ll -global-isel
error: Illegal instruction detected: invalid immediate for SOPK instruction
S_SETREG_B32 killed renamable $sgpr4, 45057, implicit-def $mode, implicit $mode
```
I tried casting them so they would get sign extended, but I got similar issues.
https://github.com/llvm/llvm-project/pull/83906
More information about the cfe-commits
mailing list