1 # gas comment with ``gnu'' style quotes
3 /* some directive tests */
13 /* .align 16, 0x90 gas is too clever for us with 0x90 fill */
15 .align 16, 0x91 /* 0x91 tests the non-clever behaviour */
18 .string "hello\0world"
20 /* some label tests */
33 /* instruction tests */
43 movb $2, 0x100(%ebx,%edx,2)
44 movw $2, 0x100(%ebx,%edx,2)
45 movl $2, 0x100(%ebx,%edx,2)
46 movl %eax, 0x100(%ebx,%edx,2)
47 movl 0x100(%ebx,%edx,2), %edx
48 movw %ax, 0x100(%ebx,%edx,2)
55 mov $0x1122334455,%rbx
56 movq $0x1122334455,%rbx
57 movl $0x11334455,(%rbx)
60 mov %eax, 0x12(,%edx,2)
162 /* NOTE: gas is bugged here, so size must be added */
167 leal 0x1000(%ebx), %ecx
168 lea 0x1000(%ebx), %ecx
199 addl $0x123, 0x100(%ebx)
200 addl $0x123, 0x100(%ebx,%edx,2)
201 addl $0x123, 0x100(%esp)
202 addl $0x123, (3*8)(%esp)
214 add %edx,(%r10d,%r11d)
216 add %esi,(%r14,%r15,4)
217 add %edi,0x1000(%rbx,%r12,8)
218 add %r11,0x1000(%ebp,%r9d,8)
268 imul $0x1100000, %eax
308 lcall $0x100, $0x1000
535 cmpxchgl %eax, 0x1000
614 /* XXX: handle prefixes */
635 /* handle one-line prefix + ops */
659 prefetchnta 0x18(%rdx)
664 clflush 0x1000(%rax,%rcx)
772 #ifdef __ASSEMBLER__ // should be defined, for S files
777 ft1: ft2: ft3: ft4: ft5: ft6: ft7: ft8: ft9:
797 .section .text.one,"ax"
800 .pushsection .text.one,"ax"
802 .pushsection .text.two,"ax"
808 .pushsection __bug_table,"a"
822 .pushsection .text.three, "ax"
824 .skip (-((4b-3b) > 0) * 2) , 0x90
830 .globl notimplemented
833 .set overrideme, notimplemented
834 overrideme = notimplemented
864 /* movq mem64->xmm is encoded as f30f7e by GAS, but as
865 660f6e by tcc (which really is a movd and would need
866 a REX.W prefix to be movq). */
873 #define TEST_MMX_SSE(insn) \
877 #define TEST_MMX_SSE_I8(insn) \
882 TEST_MMX_SSE(packssdw)
883 TEST_MMX_SSE(packsswb)
884 TEST_MMX_SSE(packuswb)
890 TEST_MMX_SSE(paddusb)
891 TEST_MMX_SSE(paddusw)
894 TEST_MMX_SSE(pcmpeqb)
895 TEST_MMX_SSE(pcmpeqw)
896 TEST_MMX_SSE(pcmpeqd)
897 TEST_MMX_SSE(pcmpgtb)
898 TEST_MMX_SSE(pcmpgtw)
899 TEST_MMX_SSE(pcmpgtd)
900 TEST_MMX_SSE(pmaddwd)
905 TEST_MMX_SSE_I8(psllw)
907 TEST_MMX_SSE_I8(pslld)
909 TEST_MMX_SSE_I8(psllq)
911 TEST_MMX_SSE_I8(psraw)
913 TEST_MMX_SSE_I8(psrad)
915 TEST_MMX_SSE_I8(psrlw)
917 TEST_MMX_SSE_I8(psrld)
919 TEST_MMX_SSE_I8(psrlq)
925 TEST_MMX_SSE(psubusb)
926 TEST_MMX_SSE(psubusw)
927 TEST_MMX_SSE(punpckhbw)
928 TEST_MMX_SSE(punpckhwd)
929 TEST_MMX_SSE(punpckhdq)
930 TEST_MMX_SSE(punpcklbw)
931 TEST_MMX_SSE(punpcklwd)
932 TEST_MMX_SSE(punpckldq)
936 cvtpi2ps (%ebx), %xmm2