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)
142 /* NOTE: gas is bugged here, so size must be added */
147 leal 0x1000(%ebx), %ecx
148 lea 0x1000(%ebx), %ecx
179 addl $0x123, 0x100(%ebx)
180 addl $0x123, 0x100(%ebx,%edx,2)
181 addl $0x123, 0x100(%esp)
182 addl $0x123, (3*8)(%esp)
230 imul $0x1100000, %eax
270 lcall $0x100, $0x1000
494 cmpxchgl %eax, 0x1000
572 /* XXX: handle prefixes */
593 /* handle one-line prefix + ops */
616 clflush 0x1000(%rax,%rcx)
704 #ifdef __ASSEMBLER__ // should be defined, for S files
709 ft1: ft2: ft3: ft4: ft5: ft6: ft7: ft8: ft9:
729 .section .text.one,"ax"
732 .pushsection .text.one,"ax"
734 .pushsection .text.two,"ax"
740 .pushsection __bug_table,"a"
754 .pushsection .text.three, "ax"
756 .skip (-((4b-3b) > 0) * 2) , 0x90
785 /* movq mem64->xmm is encoded as f30f7e by GAS, but as
786 660f6e by tcc (which really is a movd and would need
787 a REX.W prefix to be movq). */
794 #define TEST_MMX_SSE(insn) \
798 #define TEST_MMX_SSE_I8(insn) \
803 TEST_MMX_SSE(packssdw)
804 TEST_MMX_SSE(packsswb)
805 TEST_MMX_SSE(packuswb)
811 TEST_MMX_SSE(paddusb)
812 TEST_MMX_SSE(paddusw)
815 TEST_MMX_SSE(pcmpeqb)
816 TEST_MMX_SSE(pcmpeqw)
817 TEST_MMX_SSE(pcmpeqd)
818 TEST_MMX_SSE(pcmpgtb)
819 TEST_MMX_SSE(pcmpgtw)
820 TEST_MMX_SSE(pcmpgtd)
821 TEST_MMX_SSE(pmaddwd)
826 TEST_MMX_SSE_I8(psllw)
828 TEST_MMX_SSE_I8(pslld)
830 TEST_MMX_SSE_I8(psllq)
832 TEST_MMX_SSE_I8(psraw)
834 TEST_MMX_SSE_I8(psrad)
836 TEST_MMX_SSE_I8(psrlw)
838 TEST_MMX_SSE_I8(psrld)
840 TEST_MMX_SSE_I8(psrlq)
846 TEST_MMX_SSE(psubusb)
847 TEST_MMX_SSE(psubusw)
848 TEST_MMX_SSE(punpckhbw)
849 TEST_MMX_SSE(punpckhwd)
850 TEST_MMX_SSE(punpckhdq)
851 TEST_MMX_SSE(punpcklbw)
852 TEST_MMX_SSE(punpcklwd)
853 TEST_MMX_SSE(punpckldq)
857 cvtpi2ps (%ebx), %xmm2