ganeshgit wrote:

> What's the status on this?

The patch doesn't spill tiles beyond 8 correct. I am adding emits in 
X86LowerTileCopy.cpp! For example, the below code does generate illegal  ACE 
instructions (uses AMX ld,st).

```

  %d0 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t0, <32 x bfloat> %a, <32 x bfloat> %b)
  %d1 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t1, <32 x bfloat> %a, <32 x bfloat> %b)
  %d2 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t2, <32 x bfloat> %a, <32 x bfloat> %b)
  %d3 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t3, <32 x bfloat> %a, <32 x bfloat> %b)
  %d4 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t4, <32 x bfloat> %a, <32 x bfloat> %b)
  %d5 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t5, <32 x bfloat> %a, <32 x bfloat> %b)
  %d6 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t6, <32 x bfloat> %a, <32 x bfloat> %b)
  %d7 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t7, <32 x bfloat> %a, <32 x bfloat> %b)
  %d8 = tail call x86_amx @llvm.x86.top2bf16ps.internal(i16 16, i16 64, i16 64, 
x86_amx %t8, <32 x bfloat> %a, <32 x bfloat> %b)
```

https://github.com/llvm/llvm-project/pull/208408
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to