The "official" encoding is /0, i.e. modrm.reg=000b.
However, x86 processors do ignore that field for SETcc.
One way to address this situation in an assembler is to
provide SET0cc...SET7cc instructions, i.e. use 0...7 to
select and emit the desired modrm.reg value.
That way you get:
SETcc (0Fh,9xh,00h...07h)
SET0cc (0Fh,9xh,00h...07h)
SET1cc (0Fh,9xh,08h...0Fh)
SET2cc (0Fh,9xh,10h...17h)
SET3cc (0Fh,9xh,18h...1Fh)
SET4cc (0Fh,9xh,20h...27h)
SET5cc (0Fh,9xh,28h...2Fh)
SET6cc (0Fh,9xh,30h...37h)
SET7cc (0Fh,9xh,38h...3Fh)
SETcc (0Fh,9xh,40h...47h)
SET0cc (0Fh,9xh,40h...47h)
SET1cc (0Fh,9xh,48h...4Fh)
SET2cc (0Fh,9xh,50h...57h)
SET3cc (0Fh,9xh,58h...5Fh)
SET4cc (0Fh,9xh,60h...67h)
SET5cc (0Fh,9xh,68h...6Fh)
SET6cc (0Fh,9xh,70h...77h)
SET7cc (0Fh,9xh,78h...7Fh)
SETcc (0Fh,9xh,80h...87h)
SET0cc (0Fh,9xh,80h...87h)
SET1cc (0Fh,9xh,88h...8Fh)
SET2cc (0Fh,9xh,90h...97h)
SET3cc (0Fh,9xh,98h...9Fh)
SET4cc (0Fh,9xh,A0h...A7h)
SET5cc (0Fh,9xh,A8h...AFh)
SET6cc (0Fh,9xh,B0h...B7h)
SET7cc (0Fh,9xh,B8h...BFh)
SETcc (0Fh,9xh,C0h...C7h)
SET0cc (0Fh,9xh,C0h...C7h)
SET1cc (0Fh,9xh,C8h...CFh)
SET2cc (0Fh,9xh,D0h...D7h)
SET3cc (0Fh,9xh,D8h...DFh)
SET4cc (0Fh,9xh,E0h...E7h)
SET5cc (0Fh,9xh,E8h...EFh)
SET6cc (0Fh,9xh,F0h...F7h)
SET7cc (0Fh,9xh,F8h...FFh)