Ну это тонкий момент что считать RISC, а что CISC. Если исходить из аббревиатуры, то у риска набор команд ограничен, поэтому всякие квадратные корни и хэши выглядят странно.
И я реально сталкивался с таким в одном промышленном компиляторе. Долго не мог понять где баг, а потом заметил что при одновременной генерации .o и .s код в них несколько отличается.
www.agner.org/optimize/microarchitecture.pdf
12.2 Instruction fetch and decoding
UZP1 — Unzip vectors
TBL — Table vector Lookup
FRSQRTE — Floating-point Reciprocal Square Root Estimate
SHA512H — SHA512 Hash update part 1
AESD — AES single round decryption
Но функции в языках программирования не обязательно подчиняется математическим определениям, например:
В C89 для (3, -2) может вернуть как 1, так и -1.
Интересно, за счёт чего 429.mcf wasm обогнал нативную версию…