+void emit_nop(codegendata *cd, int length)
+{
+ assert(length >= 1 && length <= 9);
+ switch (length) {
+ case 1:
+ *(cd->mcodeptr++) = 0x90;
+ break;
+ case 2:
+ *(cd->mcodeptr++) = 0x66;
+ *(cd->mcodeptr++) = 0x90;
+ break;
+ case 3:
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 4:
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x40;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 5:
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x44;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 6:
+ *(cd->mcodeptr++) = 0x66;
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x44;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 7:
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x80;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 8:
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x84;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ case 9:
+ *(cd->mcodeptr++) = 0x66;
+ *(cd->mcodeptr++) = 0x0f;
+ *(cd->mcodeptr++) = 0x1f;
+ *(cd->mcodeptr++) = 0x84;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ *(cd->mcodeptr++) = 0x00;
+ break;
+ }
+}
+