1 // Validate that we can assemble this file exactly like the platform
5 // RUN: llvm-mc -filetype=obj -triple i386-unknown-unknown -o %t.mc.o %s
6 // RUN: as -arch i386 -o %t.as.o %s
7 // RUN: diff %t.mc.o %t.as.o
9 movb $0x7f,0xdeadbeef(%ebx,%ecx,8)
10 movw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
11 movl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
12 movl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
13 movsbl 0xdeadbeef(%ebx,%ecx,8),%ecx
14 movswl 0xdeadbeef(%ebx,%ecx,8),%ecx
15 movzbl 0xdeadbeef(%ebx,%ecx,8),%ecx
16 movzwl 0xdeadbeef(%ebx,%ecx,8),%ecx
17 pushl 0xdeadbeef(%ebx,%ecx,8)
18 popl 0xdeadbeef(%ebx,%ecx,8)
21 addb $0xfe,0xdeadbeef(%ebx,%ecx,8)
22 addb $0x7f,0xdeadbeef(%ebx,%ecx,8)
23 addw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
24 addl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
25 addl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
26 incl 0xdeadbeef(%ebx,%ecx,8)
27 subb $0xfe,0xdeadbeef(%ebx,%ecx,8)
28 subb $0x7f,0xdeadbeef(%ebx,%ecx,8)
29 subw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
30 subl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
31 subl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
32 decl 0xdeadbeef(%ebx,%ecx,8)
33 sbbw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
34 sbbl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
35 sbbl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
36 cmpb $0xfe,0xdeadbeef(%ebx,%ecx,8)
37 cmpb $0x7f,0xdeadbeef(%ebx,%ecx,8)
38 cmpw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
39 cmpl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
40 cmpl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
41 testb $0x7f,0xdeadbeef(%ebx,%ecx,8)
42 testw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
43 testl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
44 testl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
45 andb $0xfe,0xdeadbeef(%ebx,%ecx,8)
46 andb $0x7f,0xdeadbeef(%ebx,%ecx,8)
47 andw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
48 andl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
49 andl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
50 orb $0xfe,0xdeadbeef(%ebx,%ecx,8)
51 orb $0x7f,0xdeadbeef(%ebx,%ecx,8)
52 orw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
53 orl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
54 orl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
55 xorb $0xfe,0xdeadbeef(%ebx,%ecx,8)
56 xorb $0x7f,0xdeadbeef(%ebx,%ecx,8)
57 xorw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
58 xorl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
59 xorl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
60 adcb $0xfe,0xdeadbeef(%ebx,%ecx,8)
61 adcb $0x7f,0xdeadbeef(%ebx,%ecx,8)
62 adcw $0x7ace,0xdeadbeef(%ebx,%ecx,8)
63 adcl $0x7afebabe,0xdeadbeef(%ebx,%ecx,8)
64 adcl $0x13572468,0xdeadbeef(%ebx,%ecx,8)
65 negl 0xdeadbeef(%ebx,%ecx,8)
66 notl 0xdeadbeef(%ebx,%ecx,8)
71 mull 0xdeadbeef(%ebx,%ecx,8)
72 imull 0xdeadbeef(%ebx,%ecx,8)
73 divl 0xdeadbeef(%ebx,%ecx,8)
74 idivl 0xdeadbeef(%ebx,%ecx,8)
75 roll $0,0xdeadbeef(%ebx,%ecx,8)
76 rolb $0x7f,0xdeadbeef(%ebx,%ecx,8)
77 roll 0xdeadbeef(%ebx,%ecx,8)
78 rorl $0,0xdeadbeef(%ebx,%ecx,8)
79 rorb $0x7f,0xdeadbeef(%ebx,%ecx,8)
80 rorl 0xdeadbeef(%ebx,%ecx,8)
81 shll $0,0xdeadbeef(%ebx,%ecx,8)
82 shlb $0x7f,0xdeadbeef(%ebx,%ecx,8)
83 shll 0xdeadbeef(%ebx,%ecx,8)
84 shrl $0,0xdeadbeef(%ebx,%ecx,8)
85 shrb $0x7f,0xdeadbeef(%ebx,%ecx,8)
86 shrl 0xdeadbeef(%ebx,%ecx,8)
87 sarl $0,0xdeadbeef(%ebx,%ecx,8)
88 sarb $0x7f,0xdeadbeef(%ebx,%ecx,8)
89 sarl 0xdeadbeef(%ebx,%ecx,8)
91 call *0xdeadbeef(%ebx,%ecx,8)
92 call *0xdeadbeef(%ebx,%ecx,8)
93 jmp *0xdeadbeef(%ebx,%ecx,8)
94 jmp *0xdeadbeef(%ebx,%ecx,8)
95 ljmpl *0xdeadbeef(%ebx,%ecx,8)
99 seto 0xdeadbeef(%ebx,%ecx,8)
101 setno 0xdeadbeef(%ebx,%ecx,8)
103 setb 0xdeadbeef(%ebx,%ecx,8)
105 setae 0xdeadbeef(%ebx,%ecx,8)
107 sete 0xdeadbeef(%ebx,%ecx,8)
109 setne 0xdeadbeef(%ebx,%ecx,8)
111 setbe 0xdeadbeef(%ebx,%ecx,8)
113 seta 0xdeadbeef(%ebx,%ecx,8)
115 sets 0xdeadbeef(%ebx,%ecx,8)
117 setns 0xdeadbeef(%ebx,%ecx,8)
119 setp 0xdeadbeef(%ebx,%ecx,8)
121 setnp 0xdeadbeef(%ebx,%ecx,8)
123 setl 0xdeadbeef(%ebx,%ecx,8)
125 setge 0xdeadbeef(%ebx,%ecx,8)
127 setle 0xdeadbeef(%ebx,%ecx,8)
129 setg 0xdeadbeef(%ebx,%ecx,8)
130 nopl 0xdeadbeef(%ebx,%ecx,8)
132 fldl 0xdeadbeef(%ebx,%ecx,8)
133 fildl 0xdeadbeef(%ebx,%ecx,8)
134 fildll 0xdeadbeef(%ebx,%ecx,8)
135 fldt 0xdeadbeef(%ebx,%ecx,8)
136 fbld 0xdeadbeef(%ebx,%ecx,8)
137 fstl 0xdeadbeef(%ebx,%ecx,8)
138 fistl 0xdeadbeef(%ebx,%ecx,8)
139 fstpl 0xdeadbeef(%ebx,%ecx,8)
140 fistpl 0xdeadbeef(%ebx,%ecx,8)
141 fistpll 0xdeadbeef(%ebx,%ecx,8)
142 fstpt 0xdeadbeef(%ebx,%ecx,8)
143 fbstp 0xdeadbeef(%ebx,%ecx,8)
144 ficoml 0xdeadbeef(%ebx,%ecx,8)
145 ficompl 0xdeadbeef(%ebx,%ecx,8)
150 faddl 0xdeadbeef(%ebx,%ecx,8)
151 fiaddl 0xdeadbeef(%ebx,%ecx,8)
152 fsubl 0xdeadbeef(%ebx,%ecx,8)
153 fisubl 0xdeadbeef(%ebx,%ecx,8)
154 fsubrl 0xdeadbeef(%ebx,%ecx,8)
155 fisubrl 0xdeadbeef(%ebx,%ecx,8)
156 fmull 0xdeadbeef(%ebx,%ecx,8)
157 fimull 0xdeadbeef(%ebx,%ecx,8)
158 fdivl 0xdeadbeef(%ebx,%ecx,8)
159 fidivl 0xdeadbeef(%ebx,%ecx,8)
160 fdivrl 0xdeadbeef(%ebx,%ecx,8)
161 fidivrl 0xdeadbeef(%ebx,%ecx,8)
167 fldcw 0xdeadbeef(%ebx,%ecx,8)
168 fnstcw 0xdeadbeef(%ebx,%ecx,8)
173 movnti %ecx,0xdeadbeef(%ebx,%ecx,8)
174 clflush 0xdeadbeef(%ebx,%ecx,8)
177 movd 0xdeadbeef(%ebx,%ecx,8),%mm3
179 movd 0xdeadbeef(%ebx,%ecx,8),%xmm5
181 movd %xmm5,0xdeadbeef(%ebx,%ecx,8)
182 movq 0xdeadbeef(%ebx,%ecx,8),%mm3
282 punpckhbw %xmm5,%xmm5
284 punpckhwd %xmm5,%xmm5
286 punpckhdq %xmm5,%xmm5
288 punpcklbw %xmm5,%xmm5
290 punpcklwd %xmm5,%xmm5
292 punpckldq %xmm5,%xmm5
299 cvtpi2ps 0xdeadbeef(%ebx,%ecx,8),%xmm5
301 cvtps2pi 0xdeadbeef(%ebx,%ecx,8),%mm3
304 cvtsi2ss 0xdeadbeef(%ebx,%ecx,8),%xmm5
305 cvttps2pi 0xdeadbeef(%ebx,%ecx,8),%mm3
307 cvttss2si 0xdeadbeef(%ebx,%ecx,8),%ecx
311 ldmxcsr 0xdeadbeef(%ebx,%ecx,8)
317 movaps 0xdeadbeef(%ebx,%ecx,8),%xmm5
319 movaps %xmm5,0xdeadbeef(%ebx,%ecx,8)
322 movhps %xmm5,0xdeadbeef(%ebx,%ecx,8)
324 movlps %xmm5,0xdeadbeef(%ebx,%ecx,8)
326 movntps %xmm5,0xdeadbeef(%ebx,%ecx,8)
327 movntq %mm3,0xdeadbeef(%ebx,%ecx,8)
328 movntdq %xmm5,0xdeadbeef(%ebx,%ecx,8)
329 movss 0xdeadbeef(%ebx,%ecx,8),%xmm5
331 movss %xmm5,0xdeadbeef(%ebx,%ecx,8)
333 movups 0xdeadbeef(%ebx,%ecx,8),%xmm5
335 movups %xmm5,0xdeadbeef(%ebx,%ecx,8)
356 prefetchnta 0xdeadbeef(%ebx,%ecx,8)
357 prefetcht0 0xdeadbeef(%ebx,%ecx,8)
358 prefetcht1 0xdeadbeef(%ebx,%ecx,8)
359 prefetcht2 0xdeadbeef(%ebx,%ecx,8)
362 rcpps 0xdeadbeef(%ebx,%ecx,8),%xmm5
364 rcpss 0xdeadbeef(%ebx,%ecx,8),%xmm5
366 rsqrtps 0xdeadbeef(%ebx,%ecx,8),%xmm5
368 rsqrtss 0xdeadbeef(%ebx,%ecx,8),%xmm5
370 sqrtps 0xdeadbeef(%ebx,%ecx,8),%xmm5
372 sqrtss 0xdeadbeef(%ebx,%ecx,8),%xmm5
374 stmxcsr 0xdeadbeef(%ebx,%ecx,8)
377 ucomiss 0xdeadbeef(%ebx,%ecx,8),%xmm5
386 comisd 0xdeadbeef(%ebx,%ecx,8),%xmm5
388 cvtpi2pd 0xdeadbeef(%ebx,%ecx,8),%xmm5
391 cvtsi2sd 0xdeadbeef(%ebx,%ecx,8),%xmm5
398 movapd 0xdeadbeef(%ebx,%ecx,8),%xmm5
400 movapd %xmm5,0xdeadbeef(%ebx,%ecx,8)
402 movhpd %xmm5,0xdeadbeef(%ebx,%ecx,8)
403 movlpd %xmm5,0xdeadbeef(%ebx,%ecx,8)
405 movntpd %xmm5,0xdeadbeef(%ebx,%ecx,8)
406 movsd 0xdeadbeef(%ebx,%ecx,8),%xmm5
408 movsd %xmm5,0xdeadbeef(%ebx,%ecx,8)
410 movupd 0xdeadbeef(%ebx,%ecx,8),%xmm5
412 movupd %xmm5,0xdeadbeef(%ebx,%ecx,8)
417 sqrtpd 0xdeadbeef(%ebx,%ecx,8),%xmm5
419 sqrtsd 0xdeadbeef(%ebx,%ecx,8),%xmm5
423 ucomisd 0xdeadbeef(%ebx,%ecx,8),%xmm5
428 cvtdq2pd 0xdeadbeef(%ebx,%ecx,8),%xmm5
430 cvtpd2dq 0xdeadbeef(%ebx,%ecx,8),%xmm5
432 cvtdq2ps 0xdeadbeef(%ebx,%ecx,8),%xmm5
434 cvtpd2pi 0xdeadbeef(%ebx,%ecx,8),%mm3
436 cvtps2dq 0xdeadbeef(%ebx,%ecx,8),%xmm5
438 cvtsd2ss 0xdeadbeef(%ebx,%ecx,8),%xmm5
440 cvtss2sd 0xdeadbeef(%ebx,%ecx,8),%xmm5
442 cvttpd2pi 0xdeadbeef(%ebx,%ecx,8),%mm3
444 cvttsd2si 0xdeadbeef(%ebx,%ecx,8),%ecx
446 maskmovdqu %xmm5,%xmm5
447 movdqa 0xdeadbeef(%ebx,%ecx,8),%xmm5
449 movdqa %xmm5,0xdeadbeef(%ebx,%ecx,8)
451 movdqu 0xdeadbeef(%ebx,%ecx,8),%xmm5
452 movdqu %xmm5,0xdeadbeef(%ebx,%ecx,8)
459 punpckhqdq %xmm5,%xmm5
460 punpcklqdq %xmm5,%xmm5
467 lddqu 0xdeadbeef(%ebx,%ecx,8),%xmm5
468 movddup 0xdeadbeef(%ebx,%ecx,8),%xmm5
470 movshdup 0xdeadbeef(%ebx,%ecx,8),%xmm5
472 movsldup 0xdeadbeef(%ebx,%ecx,8),%xmm5
487 pmaddubsw %xmm5,%xmm5
498 pabsb 0xdeadbeef(%ebx,%ecx,8),%mm3
500 pabsb 0xdeadbeef(%ebx,%ecx,8),%xmm5
502 pabsw 0xdeadbeef(%ebx,%ecx,8),%mm3
504 pabsw 0xdeadbeef(%ebx,%ecx,8),%xmm5
506 pabsd 0xdeadbeef(%ebx,%ecx,8),%mm3
508 pabsd 0xdeadbeef(%ebx,%ecx,8),%xmm5
513 phminposuw 0xdeadbeef(%ebx,%ecx,8),%xmm5
514 phminposuw %xmm5,%xmm5
523 pmovsxbw 0xdeadbeef(%ebx,%ecx,8),%xmm5
525 pmovsxbd 0xdeadbeef(%ebx,%ecx,8),%xmm5
527 pmovsxbq 0xdeadbeef(%ebx,%ecx,8),%xmm5
529 pmovsxwd 0xdeadbeef(%ebx,%ecx,8),%xmm5
531 pmovsxwq 0xdeadbeef(%ebx,%ecx,8),%xmm5
533 pmovsxdq 0xdeadbeef(%ebx,%ecx,8),%xmm5
535 pmovzxbw 0xdeadbeef(%ebx,%ecx,8),%xmm5
537 pmovzxbd 0xdeadbeef(%ebx,%ecx,8),%xmm5
539 pmovzxbq 0xdeadbeef(%ebx,%ecx,8),%xmm5
541 pmovzxwd 0xdeadbeef(%ebx,%ecx,8),%xmm5
543 pmovzxwq 0xdeadbeef(%ebx,%ecx,8),%xmm5
545 pmovzxdq 0xdeadbeef(%ebx,%ecx,8),%xmm5
549 ptest 0xdeadbeef(%ebx,%ecx,8),%xmm5
558 crc32l 0xdeadbeef(%ebx,%ecx,8),%ecx
561 crc32l 0xbabecafe,%ecx