i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / prefix.s
index 043d31068add1c33dbc4588b6dd222efe600e6df..a4c60a71448494253a83ef9060c5919b6ace5aab 100644 (file)
-.text
-foo:
- addr16 fstcw %es:(%si)
- fstsw
- fstsw %ax
- fstsw %eax
- addr16 fstsw %ax
- addr16 rep cmpsw %es:(%di),%ss:(%si)
-
- # Get a good alignment.
- .byte 0
+.text ; foo: addr16 fstcw %es:(%si)
+ fstsw; fstsw %ax;
+ addr16 fstsw %ax ;addr16 rep cmpsw %es:(%di),%ss:(%si)
+
+ es fwait
+
+       fwait
+       movl $0,%gs:fpu_owner_task
+
+       .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
+
+# repz; rdseed %eax
+       .byte 0xf3
+       .byte 0x0f
+       .byte 0xc7
+       .byte 0xf8
+
+       nop
+
+# repz; rdrand %eax
+       .byte 0xf3
+       .byte 0x0f
+       .byte 0xc7
+       .byte 0xf0
+
+       nop
+
+# repnz; rdseed %eax
+       .byte 0xf2
+       .byte 0x0f
+       .byte 0xc7
+       .byte 0xf8
+
+       nop
+
+# repnz; rdrand %eax
+       .byte 0xf2
+       .byte 0x0f
+       .byte 0xc7
+       .byte 0xf0
+
+       nop
+
+       vcvtpd2dqx 0x20(%eax),%xmm0
+       vcvtpd2dq 0x20(%eax){1to2},%xmm0
+       vcvtpd2dqx 0x20(%eax),%xmm0
+
+# Get a good alignment.
+ .p2align      4,0
This page took 0.026442 seconds and 4 git commands to generate.