Skip to content

Releases: tenstorrent/sfpi

Toolchain update

26 Aug 12:28

Choose a tag to compare

  • Fix a compiler defect where v_if (x > 0) would crash the compiler (tenstorrent/tt-metal#26919)
  • Fix a compiler defect where the compiler would crash in rvtt_combine pass (tenstorrent/tt-metal#26996)
  • Remove ckernel_ops.h header files -- tt_llk project has the versions to use
  • Change compiler's internal constraints due to gcc-15 requirements. Assembly inserts need adjusting as follows:
    • x-> xr
    • E -> xn
    • Q0...Q7 -> x0 ... x7
    • M[0-9][0-9][SU] -> N[0-9][0-9][SU]

GCC Update

13 Aug 12:50

Choose a tag to compare

Fixes a code generation bug where a v_elseif could be active on a vector lane even when an earlier clause had done so. This primarily affected conditions containing a <= b or !(a > b)

Compiler fixes

06 Aug 20:55

Choose a tag to compare

  • The workaround for Wormhole's read-after-write hazard was incomplete and could miss cases. The hazard occurs when a wider read follows a narrow write -- the read could occur before the write. In this case an intervening narrow write would cause the workaround to be omitted.
  • Synthesis of sfpload or sfpstore instructions with non-immediate addresses on Blackhole would result in incorrect instructions being generated.

Synth instruction fix

04 Aug 14:49

Choose a tag to compare

Fixes a bad assembly code generation issue, which results in errors such as:

/tmp/ccvUeC4h.s:7322: Error: illegal operands `li 10,1048576'
/tmp/ccvUeC4h.s:7323: Error: illegal operands `xor 10,10,a2'

Synth-renumber optimization fix

30 Jul 13:49

Choose a tag to compare

Fixes a compiler crash in the synth_renumber optimization pass

Replay Optimization Fix

27 Jul 02:16

Choose a tag to compare

Fixes an internal compiler error in the replay optimization pass

Compiler Update

15 Jul 22:43

Choose a tag to compare

  • Reimplement non-immediate operand handling. Fixes some code generation bugs and implements some optimizations.
  • Various cleanups

RPMs & Replay intrinsic

09 Jun 19:08

Choose a tag to compare

  • RPM packages are available

  • a new intrinsic for the replay instruction and new header lltt.h. Use lltt:record<Exec>(uint start, uint length) to record a sequence and lltt::replay(uint start, uint end) to replay it. uint32_t lltt::replay_insn(uint start, uint length) is available to generate the replay instruction, which you might need to place it in the MOP unit.

Use xz compression

14 May 17:54

Choose a tag to compare

Use xz compression, as it is better.

Really remove gs, sigh modules are hard.

Rename target triplet, remove GraySkull

11 May 16:51

Choose a tag to compare

  • Renames the binaries, using tt as the manufacturer component. This should reduce the possibility of accidentally using the wrong riscv toolchain, should one have several installed.

  • GraySkull support has been removed (it is already removed from tt-metal).