const struct elf *elf = file->elf;
        struct insn insn;
        int x86_64, ret;
-       unsigned char op1, op2,
+       unsigned char op1, op2, op3,
                      rex = 0, rex_b = 0, rex_r = 0, rex_w = 0, rex_x = 0,
                      modrm = 0, modrm_mod = 0, modrm_rm = 0, modrm_reg = 0,
                      sib = 0, /* sib_scale = 0, */ sib_index = 0, sib_base = 0;
 
        op1 = insn.opcode.bytes[0];
        op2 = insn.opcode.bytes[1];
+       op3 = insn.opcode.bytes[2];
 
        if (insn.rex_prefix.nbytes) {
                rex = insn.rex_prefix.bytes[0];
                        /* nopl/nopw */
                        *type = INSN_NOP;
 
+               } else if (op2 == 0x38 && op3 == 0xf8) {
+                       if (insn.prefixes.nbytes == 1 &&
+                           insn.prefixes.bytes[0] == 0xf2) {
+                               /* ENQCMD cannot be used in the kernel. */
+                               WARN("ENQCMD instruction at %s:%lx", sec->name,
+                                    offset);
+                       }
+
                } else if (op2 == 0xa0 || op2 == 0xa8) {
 
                        /* push fs/gs */