This is the same as D100412.
We just found the same crash when we tried to compile some packages
like mariadb, php, etc.
For constraint "o", it means "A memory operand is allowed, but
only if the address is offsettable". So I think it can be handled
just like constraint "m" for RISCV target.
And we print verbose information when unsupported constraints occur.
report_fatal_error? llvm_unreachable doesn't always print its message, doesn't always print at all, and doesn't always even abort; in the worst case it ends up being a __builtin_unreachable() that tells the compiler to assume the case can't happen.