es fwait
+ .byte 0x66
+ .byte 0xf2
+ .byte 0x0f
+ .byte 0x38
+ .byte 0x17
+
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x54
+
+ .byte 0xf2
+ .byte 0x0f
+ .byte 0x54
+
+# data16 movsd %xmm4,(%edx)
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 movsd %xmm4,(%bp,%si)
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# lock data16 movsd %xmm4,(%bp,%si)
+ .byte 0xf2
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 movss %xmm4,(%edx)
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# lock data16 movss %xmm4,(%bp,%si)
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# repz data16 movsd %xmm4,(%bp,%si)
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 movss %xmm4,%ds:(%edx)
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 movsd %xmm4,%ss:(%edx)
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# repz lock data16 movsd %xmm4,%ss:(%edx)
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 ds movsd %xmm4,%ss:(%edx)
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 ds movsd %xmm4,%ss:(%bp,%si)
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# lock data16 ds movsd %xmm4,%ss:(%bp,%si)
+ .byte 0xf2
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# data16 ds movss %xmm4,%ss:(%edx)
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# lock data16 ds movss %xmm4,%ss:(%edx)
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# repz data16 ds movsd %xmm4,%ss:(%bp,%si)
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x0f
+ .byte 0x11
+ .byte 0x22
+
+# repnz; xchg %ax,%ax
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x90
+
+# repnz; addr16 xchg %ax,%ax
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x66
+ .byte 0x90
+
+# repnz; addr16 lock xchg %ax,%ax
+ .byte 0xf2
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x90
+
+# data16 pause
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x90
+
+# addr16 lock data16 pause
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x90
+
+# repz; addr16; repnz; xchg %ax,%ax
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x90
+
+# repnz; ds nop
+ .byte 0xf2
+ .byte 0x3e
+ .byte 0x90
+
+# repnz; lock addr16 ds nop
+ .byte 0xf2
+ .byte 0xf0
+ .byte 0x67
+ .byte 0x3e
+ .byte 0x90
+
+# ds pause
+ .byte 0xf3
+ .byte 0x3e
+ .byte 0x90
+
+# data16 ds pause
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x90
+
+# lock ds pause
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0x3e
+ .byte 0x90
+
+# lock addr16 ds pause
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0x67
+ .byte 0x3e
+ .byte 0x90
+
+# repz; repnz; addr16 ds nop
+ .byte 0xf3
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x3e
+ .byte 0x90
+
+# lock ss xchg %ax,%ax
+ .byte 0x66
+ .byte 0xf0
+ .byte 0x36
+ .byte 0x90
+
+# repnz; ss nop
+ .byte 0xf2
+ .byte 0x36
+ .byte 0x90
+
+# repnz; ss xchg %ax,%ax
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x36
+ .byte 0x90
+
+# repnz; lock ss nop
+ .byte 0xf2
+ .byte 0xf0
+ .byte 0x36
+ .byte 0x90
+
+# repnz; lock addr16 ss nop
+ .byte 0xf2
+ .byte 0xf0
+ .byte 0x67
+ .byte 0x36
+ .byte 0x90
+
+# ss pause
+ .byte 0xf3
+ .byte 0x36
+ .byte 0x90
+
+# addr16 ss pause
+ .byte 0xf3
+ .byte 0x67
+ .byte 0x36
+ .byte 0x90
+
+# lock addr16 ss pause
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0x67
+ .byte 0x36
+ .byte 0x90
+
+# repz; repnz; ss nop
+ .byte 0xf3
+ .byte 0xf2
+ .byte 0x36
+ .byte 0x90
+
+# repz; repnz; addr16 ss nop
+ .byte 0xf3
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x36
+ .byte 0x90
+
+# repz; lock; repnz; ss xchg %ax,%ax
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x36
+ .byte 0x90
+
+# ds ss xchg %ax,%ax
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# addr16 ds ss xchg %ax,%ax
+ .byte 0x67
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# addr16 lock ds ss xchg %ax,%ax
+ .byte 0x67
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# data16 ds ss pause
+ .byte 0xf3
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# lock data16 ds ss pause
+ .byte 0xf3
+ .byte 0xf0
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# repz; repnz; addr16 ds ss nop
+ .byte 0xf3
+ .byte 0xf2
+ .byte 0x67
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
+# repz; addr16; repnz; ds ss xchg %ax,%ax
+ .byte 0xf3
+ .byte 0x67
+ .byte 0xf2
+ .byte 0x66
+ .byte 0x3e
+ .byte 0x36
+ .byte 0x90
+
# Get a good alignment.
.p2align 4,0