fixed 'enter' opcode use in test-case. added tests for 64-bit immediate moves and other scaled-index addressing modes.
branch offset out of 1-byte range ABI-Code testasm mov %rax,%rdx mov %eax,%edx movabs $0x1234567890abcdef,%rax lea (%rdx,%rcx,1),%rdx lea (%edx,%ecx,1),%rdx lea (%edx,%ecx,1),%edx lea (%rdx,%rcx,1),%edx lea (%rdx,%rcx,2),%rdx lea (%edx,%ecx,2),%rdx lea (%edx,%ecx,2),%edx lea (%rdx,%rcx,2),%edx lea (%rdx,%rcx,4),%rdx lea (%edx,%ecx,4),%rdx lea (%edx,%ecx,4),%edx lea (%rdx,%rcx,4),%edx lea (%rdx,%rcx,8),%rdx lea (%edx,%ecx,8),%rdx lea (%edx,%ecx,8),%edx lea (%rdx,%rcx,8),%edx push %rax push %r8 pop %r10 popq %fs popq %gs pushq %fs pushq %gs popfq pushfq enterq $0x8,$0x0 leaveq pushq $0x8 pushq $0x10000000 callq <addr...> jrcxz <addr...> jne <addr...> jmp <addr...> loop <addr...> loopne <addr...> retq lgdt (%rdx) lidt (%rdx) lldt (%rdx) ltr %ax mov %rax,%cr1 mov %db1,%rax paddsw (%rax),%mm0 psllq $0x3,%mm0 psrlq $0x4,%mm0 femms movq %mm0,(%rax) movq (%rax),%xmm1 movq %mm1,(%rax) movq %rdx,%xmm1 movd %mm0,(%rax) movd (%rax),%xmm1 movd %mm1,(%rax) movd %edx,%mm0 maskmovq %mm1,%mm2 pfadd (%rax),%mm1 pfsub (%rax),%mm1 pfmul (%rax),%mm1 prefetch (%rax) prefetchw (%rax) sfence movq %rcx,%xmm2 movq %xmm8,(%rax) movq (%rax),%xmm1 movq %xmm1,(%rax) movq %rdx,%xmm1 movd %xmm8,(%rax) movd (%rax),%xmm1 movd %xmm1,(%rax) movd %edx,%xmm1 movq (%rax),%xmm1 movq %xmm1,(%rax) movq %xmm1,%xmm2 movd %xmm8,(%rax) movd (%rax),%xmm1 movd %xmm1,(%rax) movd %edx,%xmm1 movdqa %xmm8,(%rax) movdqa (%rax),%xmm1 movdqu %xmm1,(%rax) movdqu %xmm2,%xmm1 movups (%rax),%xmm1 movups %xmm1,(%rax) movups %xmm1,%xmm8 movupd (%rax),%xmm1 maskmovdqu %xmm1,%xmm2 movlps (%rax),%xmm1 movlpd (%rax),%xmm1 movhps (%rax),%xmm1 movhpd (%rax),%xmm1 movaps (%rax),%xmm1 movapd (%rax),%xmm1 movss (%rax),%xmm1 movsd (%rax),%xmm1 addps (%rax),%xmm1 addpd (%rax),%xmm1 addss (%rax),%xmm1 addsd (%rax),%xmm1 addps (%rax),%xmm1 addpd (%rax),%xmm1 addss (%rax),%xmm1 addsd (%rax),%xmm1 subps (%rax),%xmm1 subpd (%rax),%xmm1 subss (%rax),%xmm1 subsd (%rax),%xmm1 maxps (%rax),%xmm1 maxpd (%rax),%xmm1 maxss (%rax),%xmm1 maxsd (%rax),%xmm1 minps (%rax),%xmm1 minpd (%rax),%xmm1 minss (%rax),%xmm1 minsd (%rax),%xmm1 mulps (%rax),%xmm1 mulpd (%rax),%xmm1 mulss (%rax),%xmm1 mulsd (%rax),%xmm1 divps (%rax),%xmm1 divpd (%rax),%xmm1 divss (%rax),%xmm1 divsd (%rax),%xmm1 addps (%rax),%xmm8 andps (%rax),%xmm1 andpd (%rax),%xmm1 andnps (%rax),%xmm1 andnpd (%rax),%xmm1 orps (%rax),%xmm1 orpd (%rax),%xmm1 xorps (%rax),%xmm1 xorpd (%rax),%xmm1 ucomiss (%rax),%xmm1 ucomisd (%rax),%xmm1 comiss (%rax),%xmm1 comisd (%rax),%xmm1 cvtdq2ps (%rax),%xmm1 cvtps2dq (%rax),%xmm1 cvttps2dq (%rax),%xmm1 cvtdq2pd (%rax),%xmm1 cvtpd2dq (%rax),%xmm1 cvtps2dq (%rax),%xmm1 cvtps2pi (%rax),%mm1 cvtpd2pi (%rax),%mm1 cvtpi2ps (%rax),%xmm1 cvtpi2pd (%rax),%xmm1 cvtss2si %xmm2,%edx cvtss2si (%rax),%edx cvtss2si %xmm2,%rdx cvtss2si (%rax),%rdx cvtsd2si %xmm2,%edx cvtsi2sd %edx,%xmm2 cvtsi2sdl (%rax),%xmm2 cvtsi2ss %edx,%xmm2 cvtsi2ssl (%rax),%xmm2 cvtsi2ss %rdx,%xmm2 cvtsi2ssq (%rax),%xmm2 divps (%rax),%xmm1 divpd (%rax),%xmm1 haddps (%rax),%xmm1 haddpd (%rax),%xmm1 hsubps (%rax),%xmm1 hsubpd (%rax),%xmm1 addsubps (%rax),%xmm1 addsubpd (%rax),%xmm1 cmpeqps (%rax),%xmm1 cmpltps (%rax),%xmm1 cmpleps (%rax),%xmm1 cmpunordps (%rax),%xmm1 cmpneqps (%rax),%xmm1 cmpnltps (%rax),%xmm1 cmpnleps (%rax),%xmm1 cmpordps (%rax),%xmm1 cmpeqpd (%rax),%xmm1 cmpltpd (%rax),%xmm1 cmplepd (%rax),%xmm1 cmpunordpd (%rax),%xmm1 cmpneqpd (%rax),%xmm1 cmpnltpd (%rax),%xmm1 cmpnlepd (%rax),%xmm1 cmpordpd (%rax),%xmm1 cmpeqss (%rax),%xmm1 cmpltss (%rax),%xmm1 cmpless (%rax),%xmm1 cmpunordss (%rax),%xmm1 cmpneqss (%rax),%xmm1 cmpnltss (%rax),%xmm1 cmpnless (%rax),%xmm1 cmpordss (%rax),%xmm1 cmpeqsd (%rax),%xmm1 cmpltsd (%rax),%xmm1 cmplesd (%rax),%xmm1 cmpunordsd (%rax),%xmm1 cmpneqsd (%rax),%xmm1 cmpnltsd (%rax),%xmm1 cmpnlesd (%rax),%xmm1 cmpordsd (%rax),%xmm1 paddsw (%rax),%xmm0 psllq $0x3,%xmm0 psrlq $0x4,%xmm0 pslldq $0x3,%xmm0 psrldq $0x4,%xmm0 end-code
|
CVS Admin Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |