1	.macro insn, mnem:req, opnds:vararg
2	.struct
3	\mnem	\opnds
4	.equiv	\mnem, .
5	.endm
6
7	insn	inc	%eax
8
9	.equiv .Lis_64bit, inc > 1
10
11	insn	add	$1, %al
12
13	insn	adc	$1, %cl
14
15	insn	sub	$0x12345678, %eax
16
17	insn	sbb	$0x12345678, %ecx
18
19	insn	and	$1, %eax
20
21	insn	call	.
22
23	insn	jecxz	.
24
25	insn	pextrw	$0, %xmm0, %eax
26
27	.macro pextrw_store opnds:vararg
28	{store} pextrw \opnds
29	.endm
30	insn	pextrw_store $0, %xmm0, %eax
31
32	insn	vpextrw	$0, %xmm0, %eax
33
34	.macro vpextrw_evex opnds:vararg
35	{evex} vpextrw \opnds
36	.endm
37	insn	vpextrw_evex $0, %xmm0, %eax
38
39	.if .Lis_64bit
40
41	insn	mov	$0x876543210, %rcx
42
43	insn	movq	0x876543210, %rax
44
45	.else
46
47	insn	lcall	$0, $0
48
49	.code16
50
51	insn	ljmp	$0, $0
52
53	.endif
54
55	insn	bextr	$0x11223344, %fs:(,%eax,2), %eax
56