X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fi386%2Fintel.s;h=ae277bfe8a23b93ff2e1ccc75ccbe82837241190;hb=ddab3d59175a57004f4938f69e13dc3d68db78e9;hp=ab41dbf260db456fc5db99f86b6e9cd2c874dbf0;hpb=d0352a18a504a4e7b761f6b3264cf11347d8d056;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/testsuite/gas/i386/intel.s b/gas/testsuite/gas/i386/intel.s index ab41dbf260..ae277bfe8a 100644 --- a/gas/testsuite/gas/i386/intel.s +++ b/gas/testsuite/gas/i386/intel.s @@ -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 + callw .+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]