gas/testsuite/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / intel.s
index ab41dbf260db456fc5db99f86b6e9cd2c874dbf0..ae277bfe8a23b93ff2e1ccc75ccbe82837241190 100644 (file)
@@ -131,9 +131,9 @@ foo:
  mov    0x90909090[eax], edx
  mov    dl, 0x90909090[eax]
  mov    edx, 0x90909090[eax]
- mov    dword ptr 0x90909090[eax], ss
+ mov    word ptr 0x90909090[eax], ss
  lea    edx, 0x90909090[eax]
- mov    ss, dword ptr 0x90909090[eax]
+ mov    ss, word ptr 0x90909090[eax]
  pop    dword ptr 0x90909090[eax]
  xchg   eax, eax
  xchg   ecx, eax
@@ -193,6 +193,8 @@ foo:
  mov    dword ptr 0x90909090[eax], 0x90909090
  enter  0x9090, 0x90
  leave
+ retf   0x9090
+ retf
  lret   0x9090
  lret
  int3
@@ -484,8 +486,8 @@ foo:
  xchg   bp, ax
  xchg   si, ax
  xchg   di, ax
- cbtw
- cwtd
+ cbw
+ cwd
  callw  0x9090,0x9090
  pushfw
  popfw
@@ -513,6 +515,8 @@ foo:
  mov    word ptr 0x90909090[eax], 0x9090
  enterw 0x9090, 0x90
  leavew
+ retfw  0x9090
+ retfw
  lretw  0x9090
  lretw
  iretw
@@ -520,7 +524,7 @@ foo:
  rcl    word ptr 0x90909090[eax], cl
  in     ax, 0x90
  out    0x90, ax
- call   word ptr .+3+0x9090
+ call .+3+0x9090
  jmpw   0x9090,0x9090
  in     ax, dx
  out    dx, ax
@@ -566,3 +570,126 @@ foo:
  bsr    dx, 0x90909090[eax]
  movsx  dx, byte ptr 0x90909090[eax]
  xadd   0x90909090[eax], dx
+
+gs_foo:
+ ret
+
+short_foo:
+ ret
+
+bar:
+ call  gs_foo
+ call  short_foo
+ fstp   QWORD PTR [eax+edx*8]
+ mov   ecx, OFFSET FLAT:xyz
+ mov   BYTE PTR [esi+edx], al
+ mov   BYTE PTR [edx+esi], al
+ mov   BYTE PTR [edx*2+esi], al
+ mov   BYTE PTR [esi+edx*2], al
+ jmp   short rot5
+ ins    byte ptr es:[edi], dx
+ xadd   0x90909090[eax], dx
+ and   %eax, -8
+rot5:
+ mov   %eax, DWORD PTR [%esi+4+%ecx*8]
+ ins    BYTE PTR es:[edi], dx
+ or     al, 0x90
+ or     eax, 0x90909090
+ push   cs
+ mov   eax, [ebx*2]
+ adc    BYTE PTR [eax*4+0x90909090], dl
+ das
+ jmp    0x9090,0x90909090
+ movs   WORD PTR es:[edi], WORD PTR ds:[esi]
+ jo     .+2-0x70
+
+1:
+ jne   1b
+ movq  mm6, [QWORD PTR .LC5+40]                 
+ add   edi, dword ptr [ebx+8*eax]
+ movd  mm0, dword ptr [ebx+8*eax+4]
+ add   edi, dword ptr [ebx+8*ecx+((4095+1)*8)]
+ movd  mm1, dword ptr [ebx+8*ecx+((4095+1)*8)+4]
+ movd  mm2, dword ptr [ebx+8*eax+(2*(4095+1)*8)+4]
+ add   edi, dword ptr [ebx+8*eax+(2*(4095+1)*8)]
+ mov   ax,  word ptr [ebx+2*eax]
+ mov   cx,  word ptr [ebx+2*ecx+((4095+1)*2)]
+ mov   ax,  word ptr [ebx+2*eax+(2*(4095+1)*2)]
+ jmp   eax
+ jmp   [eax]
+ jmp   [bar]
+ jmp   bar
+
+       # Check arithmetic operators
+       mov     %eax,(( 17 ) + 1) 
+       and     %eax,~(1 << ( 18 )) 
+       and     %eax,0xFFFBFFFF
+       mov     %al, (( 0x4711  ) & 0xff) 
+       mov     %al, 0x11
+       mov     %bl, ((( 0x4711  ) >> 8) & 0xff) 
+       mov     %bl, 0x47
+
+ shrd   eax, edx, cl
+ shld   eax, edx, cl
+
+fadd
+fadd   st(3)
+fadd   st,st(3)
+fadd   st(3),st
+fadd   DWORD PTR [ebx]
+fadd   QWORD PTR [ebx]
+faddp
+faddp  st(3)
+faddp  st(3),st
+fdiv
+fdiv   st(3)
+fdiv   st,st(3)
+fdiv   st(3),st
+fdiv   DWORD PTR [ebx]
+fdiv   QWORD PTR [ebx]
+fdivp
+fdivp  st(3)
+fdivp  st(3),st
+fdivp  st,st(3)
+fdivr
+fdivr  st(3)
+fdivr  st,st(3)
+fdivr  st(3),st
+fdivr  DWORD PTR [ebx]
+fdivr  QWORD PTR [ebx]
+fdivrp
+fdivrp st(3)
+fdivrp st(3),st
+fdivrp st,st(3)
+fmul
+fmul   st(3)
+fmul   st,st(3)
+fmul   st(3),st
+fmul   DWORD PTR [ebx]
+fmul   QWORD PTR [ebx]
+fmulp
+fmulp  st(3)
+fmulp  st(3),st
+fsub
+fsubr
+fsub   st(3)
+fsub   st,st(3)
+fsub   st(3),st
+fsub   DWORD PTR [ebx]
+fsub   QWORD PTR [ebx]
+fsubp
+fsubp  st(3)
+fsubp  st,st(3)
+fsubp  st(3),st
+fsubr  st(3)
+fsubr  st,st(3)
+fsubr  st(3),st
+fsubr  DWORD PTR [ebx]
+fsubr  QWORD PTR [ebx]
+fsubrp
+fsubrp st(3)
+fsubrp st(3),st
+fsubrp st,st(3)
+
+fidivr  word ptr [ebx]
+fidivr  dword ptr [ebx]
This page took 0.025112 seconds and 4 git commands to generate.