Currently it's possible to explicitly specify the base segment of a label in
inline asm, however the use of segment prefixes on branch instructions is
reserved according to the intel manual. In fact, the DS and CS segment prefixes
actually represent the hint taken and hint not taken prefixes for branching
operations.This is an issue for both x86 & x86_64, but I can't set both in the
hardware field. I noticed this bug when I went to allow labels as operands to
inline assembly operations. I also included the fix for this issue in that PR,
as I would really like to see it merged, to solve a current limitation of the
inline assembly that makes code trying to use a jump table an absurd mess. The
fix in the PR is to add an error explicitly for setting a non-default segment
for a branching instruction.