SSAT, SSAT16, USAT and USAT16 encode their saturate position minus one, and SBFX and UBFX their width minus one, so a field of zero means one. All of them printed the raw field, which is not a value the instruction can take -- `ssat r0, #0, r0` is not assemblable. BFI and BFC are different again: their field is the top bit's position, and the width the syntax wants is msb - lsb + 1. They shared an encoding with SBFX and UBFX, which need the opposite arithmetic, so they now have their own. Packing an msb needs the lsb from a sibling operand, so the packer takes the instruction rather than one operand in isolation. Also worth recording: the sweep had been running llvm-mc with `-mattr=+all`, which that target does not recognise and silently ignores, so every CRC32, FP16, v8.1a and dot-product entry looked like a reserved encoding. With the features actually enabled, 815 of 1139 A32 entries round-trip, and 38 rather than 143 are genuinely reserved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018UmHLRF11EoWwNWCJ7JGaA
The Data-Oriented Language for Sane Software Development.
The Odin Programming Language
Odin is a general-purpose programming language with distinct typing, built for high performance, modern systems, and built-in data-oriented data types. The Odin Programming Language, the C alternative for the joy of programming.
Website: https://odin-lang.org/
package main
import "core:fmt"
main :: proc() {
program := "+ + * 😃 - /"
accumulator := 0
for token in program {
switch token {
case '+': accumulator += 1
case '-': accumulator -= 1
case '*': accumulator *= 2
case '/': accumulator /= 2
case '😃': accumulator *= accumulator
case: // Ignore everything else
}
}
fmt.printf("The program \"%s\" calculates the value %d\n",
program, accumulator)
}
Documentation
Getting Started
Instructions for downloading and installing the Odin compiler and libraries.
Nightly Builds
Get the latest nightly builds of Odin.
Learning Odin
Overview of Odin
An overview of the Odin programming language.
Frequently Asked Questions (FAQ)
Answers to common questions about Odin.
Packages
Documentation for all the official packages part of the core and vendor library collections.
Examples
Examples on how to write idiomatic Odin code. Shows how to accomplish specific tasks in Odin, as well as how to use packages from core and vendor.
Odin Documentation
Documentation for the Odin language itself.
Odin Discord
Get live support and talk with other Odin programmers on the Odin Discord.
Articles
The Odin Blog
The official blog of the Odin programming language, featuring announcements, news, and in-depth articles by the Odin team and guests.
Warnings
- The Odin compiler is still in development.