To add to the confusion, 32-bit Linux etc. usually refers to itself as "i386" rather than "x86"; however on occasion software still describes itself internally as "i586" if it wants to emphasise that it's compiled for a Pentium or later.
I think ArchLinux even had i686 back when it still supported 32-bit x86.
I've not checked but I suspect that tools which are still able to produce 16-bit code for DOS etc. probably use "x86" (noting that this includes FPC).
Where does this include FPC(*)? FPC uses
i8086 for the 16-bit x86 target,
i386 for the 32-bit x86 target and
x86_64 for the 64-bit x86 target.
x86 alone is usually only used to describe all three targets at once (e.g. when talking about FPU support).
(*) Yes, FPC defines
CPUX86 for the
i386 target and not for the other two x86 targets, but in general one should use
CPU386 for checks anyway as that is clearer for the user.