ASM is the text output you want printed in a textual listing of the assembly. The curly braces you see in some text strings like "adcx{l}\t{$src, $dst|$dst, $src}" are there to provide different operand orders for at&t syntax vs intel syntax. Anything after $ matches the name in the outs/in part of the instruction.
IIC_SSE_PREFETCH is part of the scheduler system to provide latency/throughput information about the instruction.
PD indicates the instruction should be on the 0x0f two byte opcode map with a 0x66 prefix.
Most common other values in place of PD
TB - 0x0f opcode map no prefix(0x66, 0xf2, 0xf3) and use of one of those prefixes should be ignored by the disassembler.
PS - 0x0f opcode map no prefix, but if the disassembler sees a prefix it should not decode to this instruction. Should be used when there is another instruction with the same opcode that uses a prefix
PD - 0x0f opcode map with 0x66 prefix
XS - 0x0f opcode map with 0xf3 prefix
XD - 0x0f opcode map with 0xf2 prefix
T8 - 0x0f 0x38 opcode map with no prefix
T8PS - 0x0f 0x38 opcode map version of PS from above
T8PD - 0x0f 0x38 opcode map version of PD from above
T8XS - 0x0f 0x38 opcode version of XS from above
T8XD - 0x0f 0x38 opcode version of XD from above
TA - 0x0f 0x3a opcode map with no prefix
TAPS - 0x0f 0x3a opcode map version of PS from above
TAPD - 0x0f 0x3a opcode map version of PD from above
TAXS - 0x0f 0x3a opcode version of XS from above
TAXD - 0x0f 0x3a opcode version of XD from above